通過本快速入門,可在30分鐘內從零開始,使用Log Service(SLS)的LoongCollector資料擷取器採集一台ECS伺服器上的Nginx日誌。內容包括配置日誌採集、通過SQL查詢分析資料、查看可視化儀錶盤、設定警示,以及在體驗結束後清理資源以避免產生費用。
前置準備
開通服務與準備帳號
開通Log Service:首次使用時,請登入Log Service控制台,根據頁面提示開通服務。
準備帳號:
準備ECS執行個體
確保ECS執行個體的安全性群組配置滿足出口方向開放80(HTTP)連接埠和443(HTTPS)連接埠。
產生類比日誌
建立指令碼檔案
generate_nginx_logs.sh並粘貼以下內容。該指令碼向/var/log/nginx/access.log檔案中每5秒寫入一條標準的Nginx訪問日誌。授予執行許可權:
chmod +x generate_nginx_logs.sh。在後台運行指令碼:
nohup ./generate_nginx_logs.sh &。
建立Project和LogStore
Project是Log Service的資源嵌入式管理單元,用於隔離不同專案的資料;LogStore是日誌資料的儲存單元。
安裝LoongCollector
在建立LogStore成功的彈窗中,單擊確定,開啟快速資料接入面板。
單擊Nginx - 文本日誌卡片的立即接入。
機器組配置:
使用情境:主機情境
安裝環境:ECS
單擊建立機器組,在彈出面板中,選擇目標ECS執行個體。
單擊安裝並建立為機器組,安裝成功後,配置機器組名稱(例如
my-nginx-server),單擊確定。說明如果安裝失敗或一直處於等待中,請檢查ECS地區是否與Project相同。
單擊下一步,檢測機器組心跳狀態。
首次建立機器組,如果心跳為FAIL,單擊自動重試,等待兩分鐘左右心跳會變為OK。
建立採集配置
心跳狀態為OK後,單擊下一步,進入Logtail配置頁面:
:填寫配置名稱,如:
nginx-access-log-config。:日誌採集的路徑,第一個輸入框填寫檔案夾路徑:
/var/log/nginx,第二個輸入框填寫檔案名稱access.log。處理配置:
日誌範例:單擊添加日誌範例,粘貼一行樣本日誌:
192.168.*.* - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.*.* Safari/537.36"處理模式:單擊NGINX模式解析外掛程式,在NGINX日誌配置中配置log_format,複製並粘貼如下內容,單擊確認。
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $request_time $request_length';生產環境中,此處的
log_format必須與Nginx設定檔(通常位於 /etc/nginx/nginx.conf檔案中)中的定義保持一致。日誌解析樣本:
原始日誌
結構化解析日誌
192.168.*.* - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.*.* Safari/537.36"body_bytes_sent: 368 http_referer: - http_user_agent : Mozi11a/5.0 (Nindows NT 10.0; Win64; x64) AppleMebKit/537.36 (KHTML, like Gecko) Chrome/131.0.x.x Safari/537.36 remote_addr:192.168.*.* remote_user: - request_length: 514 request_method: GET request_time: 0.000 request_uri: /nginx-logo.png status: 200 time_local: 15/Apr/2025:16:40:00
單擊下一步,進入查詢分析配置頁面,採集配置生效需要1分鐘左右,單擊自動重新整理,出現預覽資料,說明採集配置已生效。
查詢與分析日誌
單擊下一步,進入結束頁面。單擊查詢日誌,系統將自動跳轉到目標LogStore的查詢分析頁面,編寫SQL分析語句,從結構化日誌中提取關鍵業務與營運指標。指定時間範圍為最近15分鐘:
如果出現錯誤彈窗,原因是索引還未配置完成,關閉後等待1分鐘,即可查看access.log檔案中的日誌內容。
樣本1:網站總訪問量(PV)
統計指定時間範圍內的日誌總條數。
* | SELECT count(*) AS pv樣本2:按分鐘統計請求量與錯誤率
計算每分鐘的總請求數、錯誤請求數(HTTP狀態代碼≥400)以及錯誤率。
* | SELECT date_trunc('minute', __time__) as time, count(1) as total_requests, count_if(status >= 400) as error_requests, round(count_if(status >= 400) * 100.0 / count(1), 2) as error_rate GROUP BY time ORDER BY time DESC LIMIT 100樣本3:統計不同要求方法(GET, POST等)的PV
按分鐘和要求方法(GET/POST等)對訪問量進行分組統計。
* | SELECT date_format(minute, '%m-%d %H:%i') AS time, request_method, pv FROM ( SELECT date_trunc('minute', __time__) AS minute, request_method, count(*) AS pv FROM log GROUP BY minute, request_method ) ORDER BY minute ASC LIMIT 10000
可視化資料儀錶盤
配置Nginx解析外掛程式後,Log Service會自動建立一個名為nginx-access-log_Nginx訪問日誌的預設儀錶盤。
在左側導覽列中,單擊
。找到並單擊該儀錶盤名稱,查看包含PV、UV、錯誤率、要求方法分布等多個核心指標的可視化圖表。
所有圖表均可根據業務需求自訂修改。

配置監控警示
配置一條警示規則,當服務出現異常(例如錯誤數激增)時,自動發送通知。
在左側導覽列中,單擊
警示。建立行動策略:
在頁簽下,單擊建立。
配置標識符和名稱(例如
send-notification-to-admin)。在第一行動列表中,單擊
行動組。選擇渠道(例如簡訊),並配置接收人,選擇內容範本。
單擊 確認 。
建立警示規則:
切換到警示規則頁簽,單擊建立警示。
規則名稱:輸入描述性名稱,例如
伺服器5xx錯誤數過多。查詢統計:單擊添加,配置查詢條件。
日誌庫:選擇已建立的
nginx-access-log。查詢區間:15分鐘(相對)。
:輸入
status >= 500 | SELECT *。單擊預覽,確認可以查詢到資料,單擊確定。
觸發條件:配置為當:有特定條資料>100條時,觸發嚴重警示。
該配置表示15分鐘內出現超過100個5xx錯誤時觸發警示。
:選擇SLS通知並開啟。
行動策略:選擇上一步建立的行動策略。
重複等待:設定為15分鐘,避免過多的週期性通知。
單擊確定,儲存警示規則。
驗證:警示條件滿足時,配置的通知渠道將收到警示資訊。可在 警示歷史 頁面查看所有已觸發的警示記錄。
資源清理
為避免產生不必要的費用,完成操作後,務必按照以下步驟清理所有已建立的資源。
停止日誌產生指令碼
登入ECS執行個體,執行以下命令停止後台啟動並執行日誌產生指令碼。
kill $(ps aux | grep '[g]enerate_nginx_logs.sh' | awk '{print $2}')卸載LoongCollector(可選)
範例程式碼中
${region_id}可使用cn-hangzhou替換,若想加快執行速度,請將${region_id}替換為ECS所屬地區。wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;執行卸載命令。
chmod +x loongcollector.sh; sudo ./loongcollector.sh uninstall;
刪除Project。
在Log Service控制台Project列表頁面,找到已建立的Project(例如
nginx-quickstart-xxx)。在右側操作列單擊刪除。
在刪除面板中,輸入Project名稱,選擇刪除原因。
單擊確定,刪除Project將同時刪除其下的LogStore、採集配置、儀錶盤、警示規則等所有關聯資源。
警告刪除Project後,其管理的所有日誌資料及配置資訊都會被釋放且不可恢複。刪除前請謹慎確認,避免資料丟失。
後續步驟
通過本教程,您已成功完成日誌採集、查詢分析、可視化儀錶盤和警示配置的全流程操作。建議您繼續閱讀以下文檔,深入理解核心概念,並結合業務需求合理規劃日誌資源體系:
熟悉資料擷取方式,根據實際業務情境選擇合適的採集方式。
瞭解儲存資源層級關係說明並規劃資源周期,合理分配Shard數量。
常見問題
採集日誌後,顯示時間與原始日誌時間不一致怎麼辦?
預設情況下,Log Service的時間欄位(__time__)使用的是日誌到達伺服器的時間。若要使用日誌原文中的時間,需要在採集配置中添加時間解析外掛程式。
僅建立Project和LogStore,會產生費用嗎?
當您在建立LogStore時,Log Service預設預留Shard資源,因此可能產生活躍Shard租用費用。更多資訊,請參見為什麼會產生活躍Shard租用費用?
日誌採集失敗,如何排查?
使用Logtail採集日誌失敗,可能是因為Logtail心跳異常、採集錯誤、Logtail採集配置錯誤等原因。如何排查,請參見Logtail採集日誌失敗的排查思路。
為什麼可以查詢到日誌,但無法進行分析?
分析日誌需要為相關欄位配置欄位索引並開啟統計功能,請檢查LogStore的索引配置。
如何停止Log Service計費?
Log Service開通後無法關閉,如果不再使用Log Service,可以刪除帳號下的所有Project即可停止計費。