多行模式不對日誌內容進行解析,每條日誌都被作為一個整體被採集到Log Service中,極大簡化了日誌採集流程。本文介紹如何通過Log Service控制台建立多行模式的Logtail配置採集日誌。
方案概覽
在多行模式下,Logtail通過行首Regex去匹配一條日誌的行首,未匹配部分為該條日誌的一部分。Logtail會將日誌內容存放在content
欄位中,不會對日誌中的欄位進行提取。每條日誌時間為採集時Logtail所在主機的系統時間。
假設您的原始日誌為:
2024-08-19 13:47:37,070 ERROR Failed to join the cluster, retry...
java.lang.IllegalStateException: Fail to get leader of group naming_service_metadata, Unknown leader
at com.alipay.sofa.jraft.core.CliServiceImpl.getPeers(CliServiceImpl.java:605)
at com.alipay.sofa.jraft.core.CliServiceImpl.getPeers(CliServiceImpl.java:498)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.registerSelfToCluster(JRaftServer.java:353)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.lambda$createMultiRaftGroup$0(JRaftServer.java:264)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
使用多行模式採集到Log Service後的效果展示:
前提條件
已建立Logtail機器組並添加相應伺服器,建立機器組的步驟,請參見建立使用者自訂標識機器組(推薦)或建立IP地址機器組。
安裝Logtail的主機需開放80(HTTP)連接埠和443(HTTPS)連接埠。ECS執行個體的連接埠由安全性群組規則控制,添加安全性群組規則的步驟請參見添加安全性群組規則。
伺服器日誌的內容持續新增。Logtail只採集增量日誌,如果下發Logtail配置後記錄檔無更新,則Logtail不會採集該檔案中的日誌。更多資訊,請參見讀取日誌。
1. 選擇Project和Logstore
單擊控制台右側的快速接入資料卡片。
在接入資料頁面,尋找多行 - 文本日誌並單擊。
選擇目標Project和Logstore,日誌會被採集到對應的Logstore。
2. 機器組配置
Logtail配置會應用到指定的機器組,從而採集伺服器上的資料。無論是否已有機器組,都必鬚根據實際需求正確選擇使用情境和安裝環境,這將影響後續的頁面配置。
已有機器組
從源機器組列表選擇目標機器組,單擊下一步。
沒有可用機器組
單擊建立機器組,在建立機器組面板設定相關參數。機器組標識分為IP地址和使用者自訂標識,更多資訊請參見建立使用者自訂標識機器組(推薦)或建立IP地址機器組。
重要建立機器組後立刻應用,可能因為串連未生效,導致心跳為FAIL,您可單擊重試。如果還未解決,請參見Logtail機器組無心跳進行排查。
3. Logtail配置
3.1 全域配置
3.2 輸入配置
檔案路徑
最大目錄監控深度
3.3 處理配置
日誌範例,支援多條日誌;添加日誌範例可協助您配置Tlog相關參數,降低配置難度,建議添加。
多行模式,本樣本為採集多行日誌,請開啟此功能。
類型,選擇自訂,本樣本使用的行首Regex為:
\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d+\s.*
切分失敗處理方式,選擇保留單行。
處理模式,選擇無。
Logtail配置生效時間最長需要3分鐘,請耐心等待。
4. 查詢分析配置
Log Service預設開啟全文索引。您也可以根據採集到的日誌,手動建立欄位索引,或者單擊自動產生索引,Log Service將自動產生欄位索引。更多資訊,請參見建立索引。
5. 查詢日誌
單擊查詢日誌,系統將跳轉至Logstore查詢分析頁面。
您需要等待1分鐘左右,待索引生效後,才能在原始日誌頁簽中,查看已採集到的日誌。查詢和分析日誌的詳細步驟,請參見查詢和分析日誌。
如果需要查詢日誌中的所有欄位,建議使用全文索引。如果只需查詢部分欄位、建議使用欄位索引,減少索引流量。如果需要對欄位進行分析(SELECT語句),必須建立欄位索引。