文本日誌是日誌的最基本類型,本文介紹使用Log Service的Logtail採集器採集ECS主機上的文本日誌、查詢與分析日誌,可視化查詢與分析結果,配置日誌異常警示等步驟,協助您快速上手使用Log Service。
背景資訊
本樣本中以一個包含一條文本日誌的文字檔為例,其路徑在ECS的/var/log/nginx/access.log
下。
access.log
檔案中的日誌內容如下:
10.0.*.1 - - [20/Mar/2023:12:00:03 +0000] "POST /login HTTP/1.1" 302 0 "http://example.com/login.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36"
針對該日誌範例,本文介紹使用Log Service的操作步驟。若您擁有自備記錄檔,也可使用自備檔案並按需放置在ECS的自訂路徑下。
方案概覽
閱讀本文您可以學習:
建立Project(資源嵌入式管理單元)和Logstore(日誌儲存單元)。
通過安裝Logtail採集器並進行採集配置將日誌採集到Logstore中進行儲存。
在Log Service控制台對日誌進行查詢與分析。
將分析結果通過儀錶盤轉換為可視化圖形。
通過配置警示規則實現警示監控。
如何清理不再需要的資源以免產生額外費用。
1. 建立Project和Logstore
1.1 建立Project
登入Log Service控制台。
在Project列表地區,單擊建立Project,在建立Project面板中,選擇所屬地區(和ECS所屬地區相同),輸入Project名稱,其餘參數保持預設。

1.2 建立Logstore
建立Project完成後,系統會提示您建立一個Logstore。在Logstore面板中,輸入Logstore名稱,其餘參數保持預設。

重要
您的ECS需要與Log ServiceProject屬於同一地區。如果您的ECS不滿足此條件,或者您使用的是自有伺服器,請參考主機文本日誌採集(手動安裝)中的內容完成日誌採集步驟。
2. Logtail採集配置
通過進行Logtail採集配置,可以將Logtail安裝至ECS伺服器並開始採集日誌,日誌會發送到對應的Logstore中。
2.1 選擇日誌空間
在建立成功對話方塊中,單擊確定。

在快速資料接入對話方塊的自建開源/商業軟體頁簽下,單擊單行-文本日誌對應的立即接入,表示將以單行解析的方式處理文本日誌。

2.2 機器組配置
單擊,在建立機器組面板中,選擇與Project同地區的ECS執行個體(ECS執行個體可以選擇多台),單擊安裝並建立為機器組。

頁面中Logtail安裝情況提示成功,則表示安裝成功。如果安裝失敗,單擊重建安裝任務,重新選擇與Project同地區的ECS執行個體。

Logtail安裝完成後,輸入機器組名稱,IP地址會自動填滿,無需填寫。

檢測機器組心跳。建立機器組大約需要2分鐘。建立未生效,將導致心跳為FAIL。請2分鐘後單擊自動重試進行重試,直到機器組心跳為OK。機器組心跳FAIL排查請參見Logtail機器組無心跳。

2.3 Logtail配置
參考下圖,輸入配置名稱,檔案路徑為/var/log/nginx
與*.log
,添加背景資訊中的1條日誌範例。
2.4 查詢分析配置
Logtail配置生效需要1分鐘左右,自動重新整理後,出現預覽資料,則說明Logtail配置生效。 配置生效後,單擊下一步,Logtail採集配置全部完成。至此日誌已按極簡單行模式被儲存到Log Service中。如果您希望使用其他解析模式,請參考採集配置。
3. 查詢與分析日誌
在設定精靈的結束步驟中,單擊查詢日誌。跳轉到目標Logstore的查詢分析頁面,可能會有如下提示,原因是索引還未配置完成,關閉後等待1分鐘,即可查看access.log
檔案中的日誌內容。
在輸入框中輸入任一字元(如HTTP
),選擇時間範圍,就可以查詢包含該字元的日誌。您可以在access.log
中多添加一些日誌內容來查看,例如下圖是重複添加了背景資訊的日誌範例到access.log
後的查詢結果。查詢與分析功能主要有索引與語句文法兩方面,如果您需要更好的使用查詢與分析功能,請參考通過索引模式查詢和分析日誌進行學習。
4. 儀錶盤可視化資料
在Project頁面左側導覽列中找到儀錶盤下的儀錶盤列表,單擊添加儀錶盤。

在添加到儀錶盤對話方塊,選擇您希望的儀錶盤配置模式,預設使用網格布局,填寫儀錶盤名稱後單擊確認。

在新產生的儀錶盤中點擊添加新圖表後進入圖表建立頁面。

在編輯圖表頁面中,左下角查詢分析面板處下拉選擇Logstore(SQL),然後下拉選擇對應的Logstore,輸入select count(*) as pv
,表示統計日誌條數並重新命名為pv(訪問量)。由於樣本是統計數量,因此在右側圖表類型中選擇統計圖Pro,然後點擊應用,即可展現下圖效果。如果視覺效果符合預期,單擊確定,然後在儀錶盤頁面中單擊右上方的儲存。儀錶盤支援多種圖表類型,支援資料篩選過濾與對接第三方工具,更多使用請參考可視化概述學習。
5. 監控與警示
在Project頁面左側導覽列中找到警示,單擊警示規則下的建立警示。

在建立警示頁面中單擊查詢統計處的添加進行查詢統計規則的配置。

按下圖所示選擇對應的Logstore,將查詢地區的預設語句*|SELECT *
替換為*
後單擊預覽,即可出現查詢資料。單擊確認儲存配置。該配置表示查詢選中日誌庫下最近15分鐘的所有日誌資料。
說明
*
表示查詢所有的日誌,*|SELECT *
表示查詢並分析所有日誌,分析日誌需要為日誌欄位配置欄位索引並開啟統計功能。本樣本未配置欄位索引,如需分析日誌請參見建立索引。

單擊確定儲存警示規則,此規則配置每15分鐘查詢統計所有日誌,當日誌條數大於1時,觸發嚴重度為中的警示。

單擊建立的警示規則,在警示歷史地區中發現警示資訊如下。在儀錶盤可視化中統計資料是5,但是警示配置後第一次並未觸發,手動在access.log
中添加兩條背景資訊中的日誌範例後,統計資料為7並觸發了警示。原因是檢查頻率與查詢統計的查詢區間均設定15分鐘,造成只有增量日誌時才觸發警示的表象,您可以通過修改時間範圍調整。如果您想深入瞭解警示功能,請參考警示概述以及快速設定日誌警示進行學習。
6. 刪除Project和Logstore
在您完成以上快速入門教程後,您可能需要在實際業務情境中使用Log Service,此時您可能不再需要新手教程中建立的資源,但保留這些資源將會產生計費。因為只要Logstore存在,無論是否使用都會產生活躍Shard租用費用。因此,您需要手動刪除資源。計費詳情參考計費概述。
在Project頁面找到對應Logstore後,先刪除Logtail配置,然後再刪除Logstore。

或者您也可以在Project列表中找到對應Project直接單擊刪除來刪除Project的所有資源。

擴充情境
Log Service支援多種形式的日誌採集,具體請參考資料擷取概述。
本文適用一個檔案匹配一個Logtail採集配置的情況。如果您希望一份日誌被多次採集,根據本文檔操作完成後,然後參考如何?檔案中的日誌被採集多份。
當您對Log Service功能使用較為熟練後,您可以結合Function Compute配置自動觸發器,來實現根據日誌情況自動觸發函數執行,具體請參考配置雲產品事件觸發程序與SLS觸發器。
常見問題
採集日誌後,Log Service的顯示時間和原始日誌的時間不一致怎麼辦?
Log ServiceLogstore的時間為Log Service系統自動產生,如果想要Log Service的時間和原始日誌時間一直,需要配置時間解析外掛程式。更多資訊,請參見時間解析。
僅建立Project和Logstore,會產生費用嗎?
當您在建立Logstore時,Log Service預設預留Shard資源,因此可能產生活躍Shard租用費用。更多資訊,請參見為什麼會產生活躍Shard租用費用?
採集日誌失敗,如何排查?
使用Logtail採集日誌失敗,可能是因為Logtail心跳異常、採集錯誤、Logtail採集配置錯誤等原因。如何排查,請參見Logtail採集日誌失敗的排查思路。
在Logstore查詢與分析頁面,可以查詢日誌但無法分析日誌,如何解決?
如果您要分析日誌,需要為日誌欄位配置欄位索引並開啟統計功能。更多資訊,請參見建立索引。
如何關閉Log Service,停止計費?
Log Service開通後無法關閉,如果不再需要使用Log Service,您可刪除所有Project,具體操作請參見停止計費。