日志服務提供JSON模式快速采集JSON日志。采集到日志后,您可以進行多維度分析、加工、投遞等操作。本文介紹如何通過日志服務控制臺創建JSON模式的Logtail配置采集日志。
方案概覽
假設您的JSON原始日志為:
{"@timestamp":"2024-08-16T16:23:22+08:00","server_addr":"127.0.0.1","remote_addr":"127.0.0.1","scheme":"http","request_method":"POST","request_uri": "/wp-admin/admin-ajax.php","request_length": "1161","uri": "/wp-admin/admin-ajax.php", "request_time":1.099,"body_bytes_sent":78,"bytes_sent":675,"status":"200","upstream_time":"1.097","upstream_host":"unix:/dev/shm/php-cgi.sock","upstream_status":"200","host":"www.example.com","http_referer":"http://www.example.com/wp-admin/index.php","http_user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0"}
經過JSON解析插件處理后的結果是:
采集指定文件的文本日志,分為5步:
前提條件
已創建Logtail機器組并添加相應服務器,創建機器組的步驟,請參見創建用戶自定義標識機器組(推薦)或創建IP地址機器組。
安裝Logtail的主機需開放80(HTTP)端口和443(HTTPS)端口。ECS實例的端口由安全組規則控制,添加安全組規則的步驟請參見添加安全組規則。
服務器日志的內容持續新增。Logtail只采集增量日志,如果下發Logtail配置后日志文件無更新,則Logtail不會采集該文件中的日志。更多信息,請參見讀取日志。
1. 選擇Project和Logstore
登錄日志服務控制臺。
單擊控制臺右側的快速接入數據卡片。
在接入數據頁面,查找JSON - 文本日志并單擊。
選擇目標Project和Logstore,日志會被采集到對應的Logstore。
2. 機器組配置
Logtail配置會應用到指定的機器組,從而采集服務器上的數據。無論是否已有機器組,都必須根據實際需求正確選擇使用場景和安裝環境,這將影響后續的頁面配置。
已有機器組
從源機器組列表選擇目標機器組,單擊下一步。
沒有可用機器組
單擊創建機器組,在創建機器組面板設置相關參數。機器組標識分為IP地址和用戶自定義標識,更多信息請參見創建用戶自定義標識機器組(推薦)或創建IP地址機器組。
重要創建機器組后立刻應用,可能因為連接未生效,導致心跳為FAIL,您可單擊重試。如果還未解決,請參見Logtail機器組無心跳進行排查。
3. Logtail配置
3.1 全局配置
配置項 | 說明 |
配置名稱 | Logtail配置名稱,在其所屬Project內必須唯一。創建Logtail配置成功后,無法修改其名稱。 |
日志主題類型 | 選擇日志主題(Topic)的生成方式。更多信息,請參見日志主題。
|
高級參數 | 其它可選的與配置全局相關的高級功能參數,請參見創建Logtail流水線配置。 |
3.2 輸入配置
文件路徑
最大目錄監控深度
配置項 | 說明 |
文件路徑 | 根據日志在主機(例如ECS)上的位置,設置日志目錄和文件名稱。
目錄名和文件名均支持完整模式和通配符模式,文件名規則請參見Wildcard matching。其中,日志路徑通配符只支持星號(*)和半角問號(?)。 日志文件查找模式為多層目錄匹配,即符合條件的指定目錄(包含所有層級的目錄)下所有符合條件的文件都會被查找到。例如:
|
最大目錄監控深度 | 設置日志目錄被監控的最大深度,即文件路徑中通配符 |
文件編碼 | 選擇日志文件的編碼格式。 |
首次采集大小 | 配置首次生效時,匹配文件的起始采集位置距離文件結尾的大小。首次采集大小設定值為1024 KB。
您可以通過此處修改首次采集大小,取值范圍為0~10485760,單位為KB。 |
采集黑名單 | 打開采集黑名單開關后,可進行黑名單配置,即可在采集時忽略指定的目錄或文件。支持完整匹配和通配符匹配目錄和文件名。其中,通配符只支持星號(*)和半角問號(?)。 重要
支持按照文件路徑黑名單、文件黑名單、目錄黑名單設置,詳細說明如下: 文件路徑黑名單
文件黑名單選擇文件黑名單,配置文件名為 目錄黑名單
|
允許文件多次采集 | 默認情況下,一個日志文件只能匹配一個Logtail配置。如果文件中的日志需要被采集多份,需要打開允許文件多次采集開關。 |
高級參數 | 其它可選的與文件輸入插件相關的高級功能參數,請參見創建Logtail流水線配置。 |
3.3 處理配置
日志樣例,支持多條日志;添加日志樣例可協助您配置日志處理相關參數,降低配置難度,建議添加。
多行模式,如果日志為多行日志,請使用該選項。
類型,選擇多行JSON。
切分失敗處理方式,選擇保留單行。
處理模式
使用JSON解析處理插件,單擊JSON解析可進入處理插件詳細配置頁面。您可在此頁面做進一步配置(本示例使用默認配置)。
配置項 | 說明 |
日志樣例 | 待采集日志的樣例,請務必使用實際場景的日志。日志樣例可協助您配置日志處理相關參數,降低配置難度。支持添加多條樣例,總長度不超過1500個字符。
|
多行模式 |
|
處理模式 | 處理插件組合,包括原生插件和拓展插件。有關處理插件的更多信息,請參見處理插件概述。 重要 處理插件的使用限制,請以控制臺頁面的提示為準。
|
Logtail配置生效時間最長需要3分鐘,請耐心等待。
4. 查詢分析配置
日志服務默認開啟全文索引。您也可以根據采集到的日志,手動創建字段索引,或者單擊自動生成索引,日志服務將自動生成字段索引。更多信息,請參見創建索引。
5. 查詢日志
單擊查詢日志,系統將跳轉至Logstore查詢分析頁面。
您需要等待1分鐘左右,待索引生效后,才能在原始日志頁簽中,查看已采集到的日志。查詢和分析日志的詳細步驟,請參見查詢和分析日志。
如果需要查詢日志中的所有字段,建議使用全文索引。如果只需查詢部分字段、建議使用字段索引,減少索引流量。如果需要對字段進行分析(SELECT語句),必須創建字段索引。