全部產品
Search
文件中心

:使用極簡模式採集日誌

更新時間:Jan 06, 2026

極簡模式不對日誌內容進行解析,每條日誌都被作為一個整體被採集到Log Service中,極大簡化了日誌採集流程。本文介紹如何通過Log Service控制台建立極簡模式的Logtail配置採集日誌。

前提條件

  • 已建立Project和LogStore。更多資訊,請參見管理Project建立基礎LogStore

  • 用於安裝Logtail的伺服器具備訪問遠端伺服器80連接埠和443連接埠的能力。

  • 目標伺服器持續產生日誌。

    重要

    Logtail只採集增量日誌。如果下發Logtail配置後,記錄檔無更新,則Logtail不會採集該檔案中的日誌。更多資訊,請參見讀取日誌

背景資訊

在極簡模式下,Logtail會將日誌內容存放在content欄位中,不會對日誌中的欄位進行提取。每條日誌時間為採集時Logtail所在主機的系統時間。例如:

  • 原始日誌

    127.0.0.1 - - [05/Jan/2023:11:40:39 +0800] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
  • 被採集到Log Service後的日誌極簡模式

極簡模式支援採集以下類型的文本日誌。

  • 單行文本日誌

    一行日誌內容為一條日誌,即在記錄檔中,以分行符號分隔兩條日誌。該模式下,您只需指定檔案目錄和檔案名稱即可,Logtail會按照每行一條日誌進行採集。

  • 多行文本日誌

    一條日誌有多行內容。該模式下,您除了指定檔案目錄和檔案名稱外,還需配置日誌範例和行首Regex,Logtail通過行首Regex去匹配一條日誌的行首,即確認一條日誌的開頭,將未匹配部分作為該條日誌的一部分,直到下一個行首出現。

操作步驟

重要

預設情況下,一個記錄檔只能匹配一個Logtail配置。如果檔案中的日誌需要被採集多份,請參見如何?檔案中的日誌被採集多份

  1. 登入Log Service控制台

  2. 接入資料地區,選擇多行-文本日誌

    此處以採集多行文本日誌為例,如果您要採集單行文本日誌,請選擇單行-文本日誌

  3. 選擇目標Project和LogStore,單擊下一步

  4. 建立機器組。

    • 如果您已有可用的機器組,請單擊使用現有機器組

    • 如果您還沒有可用的機器組,請執行以下操作(以ECS為例)。

      1. ECS機器頁簽中,通過手動選擇執行個體方式選擇目標ECS執行個體,單擊建立

        具體操作,請參見安裝Logtail(ECS執行個體)

        重要

        如果您的伺服器是與Log Service屬於不同帳號的ECS、其他雲廠商的伺服器和自建IDC時,您需要手動安裝Logtail。更多資訊,請參見安裝Logtail(Linux系統)安裝Logtail(Windows系統)

        手動安裝Logtail後,您必須在該伺服器上手動設定使用者標識。具體操作,請參見配置使用者標識

      2. 安裝完成後,單擊確認安裝完畢

      3. 建立機器組頁面,輸入名稱,單擊下一步

        Log Service支援建立IP地址機器組和使用者自訂標識機器組,詳細參數說明請參見建立IP地址機器組建立使用者自訂標識機器組

  5. 選中目標機器組,將該機器組從源機器組移動到應用機器組,單擊下一步

    重要

    建立機器組後立刻應用,可能因為串連未生效,導致心跳為FAIL,您可單擊自動重試。如果還未解決,請參見Logtail機器組無心跳進行排查。

  6. 建立Logtail配置,單擊下一步

    極簡模式

    參數

    描述

    配置名稱

    Logtail配置名稱,在其所屬Project內必須唯一。建立Logtail配置成功後,無法修改其名稱。

    您也可以單擊匯入其他配置,匯入已建立的Logtail配置。

    日誌路徑

    根據日誌在伺服器上的位置,設定日誌目錄和檔案名稱。

    • 如果是Linux系統中的日誌路徑,必須以正斜線(/)開頭,例如/apsara/nuwa/.../app.Log

    • 如果是Windows系統中的日誌路徑,必須以盤符開頭,例如C:\Program Files\Intel\...\*.Log

    目錄名和檔案名稱支援完整名稱和萬用字元模式,檔案名稱規則請參見Wildcard matching。記錄檔尋找模式為多層目錄匹配,即指定目錄(包含所有層級的目錄)下所有合格檔案都會被尋找到。例如:

    • /apsara/nuwa/**/*.log表示/apsara/nuwa目錄(包含該目錄的遞迴子目錄)中尾碼名為.log的檔案。

    • /var/logs/app_*/**/*.log表示/var/logs目錄下所有符合app_*格式的目錄(包含該目錄的遞迴子目錄)中尾碼名為.log的檔案。

    • /var/log/nginx/**/access*表示/var/log/nginx目錄(包含該目錄的遞迴子目錄)中以access開頭的檔案。

    說明

    日誌路徑萬用字元只支援星號(*)和半形問號(?)。

    • 星號(*)表示匹配多個任一字元。

    • 半形問號(?)表示匹配單個任一字元。

    設定採集黑名單

    開啟設定採集黑名單開關後,可進行黑名單配置,即可在採集時忽略指定的目錄或檔案。支援完整匹配和萬用字元模式比對目錄和檔案名稱。例如:

    • 選擇按目錄路徑,配置路徑為/home/admin/dir1,則表示在採集時忽略/home/admin/dir1目錄下的所有內容。

    • 選擇按目錄路徑,配置路徑為/home/admin/dir*,則表示在採集時忽略/home/admin/目錄下所有以dir開頭的子目錄下的內容。

    • 選擇按目錄路徑,配置路徑為/home/admin/*/dir,則表示在採集時忽略/home/admin/目錄下二級目錄名為dir的子目錄下的所有內容。

      例如/home/admin/a/dir目錄下的內容被忽略,/home/admin/a/b/dir目錄下的內容被採集。

    • 選擇按檔案路徑,配置路徑為/home/admin/private*.log,則表示在採集時忽略/home/admin/目錄下所有以private開頭,以.log結尾的檔案。

    • 選擇按檔案路徑,配置路徑為/home/admin/private*/*_inner.log,則表示在採集時忽略/home/admin/目錄下以private開頭的目錄內,以_inner.log結尾的檔案。

      例如/home/admin/private/app_inner.log檔案被忽略,/home/admin/private/app.log檔案被採集。

    說明
    • 目錄萬用字元只支援星號(*)和半形問號(?)。

      • 星號(*)表示匹配多個任一字元。

      • 半形問號(?)表示匹配單個任一字元。

    • 如果您在配置日誌路徑時使用了萬用字元,但又需要過濾掉其中部分路徑時,需在黑名單中填寫對應的完整路徑來保證過濾生效。

      例如您配置日誌路徑/home/admin/app*/log/*.log,但要過濾/home/admin/app1*目錄下的所有子目錄,則需配置黑名單,即選擇按目錄路徑,配置路徑為/home/admin/app1*/** 。如果配置為/home/admin/app1*,則黑名單不會生效。

    • 匹配黑名單過程存在計算開銷,建議黑名單條目數在10條內。

    • 目錄路徑不能以正斜線(/)結尾,例如將設定路徑為/home/admin/dir1/,目錄黑名單不會生效。

    是否為Docker檔案

    如果是Docker容器中的檔案,您可開啟是否為Docker檔案開關,配置內部路徑與容器Tag。Logtail會自動監測容器的建立和銷毀,並根據Tag進行容器過濾,採集指定容器的日誌。具體操作,請參見通過DaemonSet-控制台方式採集容器文本日誌

    模式

    採集模式,預設為極簡模式-多行,可修改為其它模式。

    日誌範例

    請務必使用實際情境的日誌,便於Log Service自動提取行首Regex。例如:

    [2020-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
        at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
        at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
        at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

    如果您是使用極簡模式採集單行文本日誌,無需配置此參數。

    行首Regex

    Logtail通過行首Regex去匹配一條日誌的行首,未匹配部分為該條日誌的一部分。Log Service支援自動產生和手動輸入行首Regex。

    • 自動產生行首Regex

      填寫日誌範例後,單擊自動產生,產生行首Regex。

    • 手動輸入行首Regex

      填寫日誌範例後,單擊手動輸入Regex,手動設定。配置完成後,單擊驗證即可驗證您輸入的Regex是否正確。更多資訊,請參見如何調試Regex

    如果您是使用極簡模式採集單行文本日誌,無需配置此參數。

    丟棄解析失敗日誌

    是否丟棄解析失敗的日誌,具體說明如下:

    • 開啟丟棄解析失敗日誌開關,解析失敗的日誌不上傳到Log Service。

    • 關閉丟棄解析失敗日誌開關,日誌解析失敗時,原始日誌將作為__raw_log__欄位的值上傳到Log Service。

    最大監控目錄深度

    設定日誌目錄被監控的最大深度。最大深度範圍:0~1000,0代表只監控本層目錄。

    請根據您的需求選擇進階配置。如果沒有特殊需求,建議保持預設配置。

    參數

    描述

    啟用外掛程式處理

    當您的業務日誌太複雜或不固定,固定解析模式(Nginx模式、完整正則模式、JSON模式等)無法滿足日誌解析需求時,您可以開啟啟用外掛程式處理開關,添加Logtail外掛程式解析日誌。

    Log Service會根據您選擇的採集模式產生預設的外掛程式配置,您可以在預設配置後面添加其他外掛程式配置,即您可以添加多個processors配置。更多資訊,請參見原生與拓展處理外掛程式使用說明

    重要

    開啟啟用外掛程式處理開關後,上傳原始日誌、時區屬性、丟棄解析失敗日誌、過濾器配置、接受部分欄位(分隔字元模式)等功能不可用。

    上傳原始日誌

    開啟上傳原始日誌開關後,原始日誌將作為__raw__欄位的值與解析過的日誌一起上傳到Log Service。

    Topic產生方式

    設定Topic產生方式。更多資訊,請參見日誌主題

    • 空-不產生Topic:預設選項,表示設定Topic為空白字串,在查詢日誌時不需要輸入Topic即可查詢。

    • 機器組Topic屬性:設定為機器組Topic屬性,用於明確區分不同伺服器產生的日誌資料。

    • 檔案路徑正則:設定為檔案路徑正則,則需要設定自訂正則,用Regex從路徑裡提取一部分內容作為Topic。用於區分不同使用者或執行個體產生的日誌資料。

    記錄檔編碼

    設定記錄檔編碼格式,取值為utf8、gbk。

    時區屬性

    採集日誌時,日誌時間的時區屬性。

    • 機器時區:預設為Logtail所在主機或容器的時區。

    • 自訂時區:手動選擇時區。

    逾時屬性

    如果一個記錄檔在指定時間內沒有任何更新,則認為監控已逾時。

    • 永不逾時:持續監控所有記錄檔,永不逾時。

    • 30分鐘逾時:如果記錄檔在30分鐘內沒有更新,則認為監控逾時,Logtail不再監控該檔案。

      選擇30分鐘逾時時,還需設定最大逾時目錄深度,範圍為1~3。

    過濾器配置

    只採集符合過濾條件的日誌,過濾條件包括keyRegex欄位,分別為目標欄位的名稱和用於過濾的Regex。各個過濾條件之間為與關係。

    重要
    • 極簡模式下,只產生content欄位。如果您要設定過濾條件,只能將Key設定為content

    • 此處的Regex僅支援全文匹配,不支援關鍵詞部分匹配。

    相關樣本如下:

    • 過濾出合格日誌。

      • 設定KeylevelRegexWARNING|ERROR,表示只採集level欄位值為WARNING或ERROR的日誌。

      • 設定KeycontentRegex.*05\/Jan\/2023.*,表示只採集content欄位值包含05/Jan/2023的日誌。

    • 過濾掉不合格日誌。

      • 設定KeylevelRegex^(?!.*(INFO|DEBUG)).*,表示不採集level欄位值中包含INFO或DEBUG的日誌。

      • 設定KeylevelRegex^(?!(INFO|DEBUG)$).*,表示不採集level欄位值為INFO或DEBUG的日誌。

      • 設定KeyurlRegex.*^(?!.*(healthcheck)).*,表示不採集url欄位值中包含healthcheck的日誌。

    如何配置Regex,請參見Regex入門教程

    首次採集大小

    通過首次採集大小,可以確認首次採集的新檔案的內容位置。首次採集大小預設為1024 KB。

    • 首次採集時,如果檔案小於1024 KB,則從檔案內容起始位置開始採集。

    • 首次採集時,如果檔案大於1024 KB,則從距離檔案末尾1024 KB的位置開始採集。

    您可以通過此處修改首次採集大小,取值範圍為0~10485760,單位為KB。

    擴充配置

    Logtail的擴充配置。更多資訊,請參見advanced參數說明

    例如您要通過當前Logtail配置去採集其他Logtail配置已匹配的檔案,並指定彙總發送周期,可添加如下配置。

    {
      "force_multiconfig": true,
      "batch_send_interval": 3
    }

    單擊下一步表示建立Logtail配置,Log Service開始採集日誌。

    說明
  7. 預覽資料及建立索引,然後單擊下一步

    Log Service預設開啟全文索引。您也可以根據採集到的日誌,手動建立欄位索引,或者單擊自動產生索引,Log Service將自動產生欄位索引。更多資訊,請參見建立索引

    重要

    如果您要查詢和分析日誌,那麼全文索引和欄位索引必須至少啟用一種。同時啟用時,以欄位索引為準。

  8. 單擊查詢日誌,系統將跳轉至LogStore查詢分析頁面。

    您需要等待1分鐘左右,待索引生效後,才能在原始日誌頁簽中,查看已採集到的日誌。更多資訊,請參見查詢與分析快速指引

問題排查

使用Logtail採集日誌後,如果預覽頁面或查詢頁面無資料,您可以參見Logtail採集日誌失敗的排查思路進行排查。