全部產品
Search
文件中心

Simple Log Service:使用極簡單行模式採集文本日誌

更新時間:Aug 21, 2024

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

方案概覽

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

假設您的原始日誌為:

Aug 19 11:20:51 hostname-1 crond[2995]: (CRON) INFO (@reboot jobs will be run at computer's startup.)

使用極簡單行模式採集到Log Service後的效果展示:

image

前提條件

  • 已建立Logtail機器組並添加相應伺服器,建立機器組的步驟,請參見建立使用者自訂標識機器組(推薦)建立IP地址機器組

  • 安裝Logtail的主機需開放80(HTTP)連接埠和443(HTTPS)連接埠。ECS執行個體的連接埠由安全性群組規則控制,添加安全性群組規則的步驟請參見添加安全性群組規則

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

1. 選擇Project和Logstore

  1. 登入Log Service控制台

  2. 單擊控制台右側的快速接入資料卡片。

    image

  3. 接入資料頁面,尋找單行 - 文本日誌並單擊。image

  4. 選擇目標Project和Logstore,日誌會被採集到對應的Logstore。image

2. 機器組配置

Logtail配置會應用到指定的機器組,從而採集伺服器上的資料。無論是否已有機器組,都必鬚根據實際需求正確選擇使用情境和安裝環境,這將影響後續的頁面配置。

  • 已有機器組

    源機器組列表選擇目標機器組,單擊下一步image

  • 沒有可用機器組

    單擊建立機器組,在建立機器組面板設定相關參數。機器組標識分為IP地址使用者自訂標識,更多資訊請參見建立使用者自訂標識機器組(推薦)建立IP地址機器組

    重要

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

3. Logtail配置

3.1 全域配置image

全域配置

配置項

說明

配置名稱

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

日誌主題類型

選擇日誌主題(Topic)的產生方式。更多資訊,請參見日誌主題

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

  • 檔案路徑提取:設定為檔案路徑正則,則需要設定自訂正則,用Regex從路徑裡提取一部分內容作為Topic。用於區分不同源產生的日誌。

  • 自訂:自訂日誌主題。

進階參數

其它可選的與配置全域相關的進階功能參數,請參見建立Logtail流水線配置

3.2 輸入配置

  • 檔案路徑

  • 最大目錄監控深度

image

輸入配置

配置項

說明

檔案路徑

根據日誌在主機(例如ECS)上的位置,設定日誌目錄和檔案名稱。

  • 如果目標主機是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開頭的檔案。

最大目錄監控深度

設定日誌目錄被監控的最大深度,即檔案路徑中萬用字元**匹配的最大目錄深度。0代表只監控本層目錄。

檔案編碼

選擇記錄檔的編碼格式。

首次採集大小

配置首次生效時,匹配檔案的起始採集位置距離檔案結尾的大小。首次採集大小設定值為1024 KB。

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

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

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

採集黑名單

開啟採集黑名單開關後,可進行黑名單配置,即可在採集時忽略指定的目錄或檔案。支援完整匹配和萬用字元匹配目錄和檔案名稱。其中,萬用字元只支援星號(*)和半形問號(?)。

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

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

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

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

支援按照檔案路徑黑名單、檔案黑名單、目錄黑名單設定,詳細說明如下:

檔案路徑黑名單

  • 選擇檔案路徑黑名單,配置路徑為/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檔案被採集。

檔案黑名單

選擇檔案黑名單,設定檔名為app_inner.log,則表示採集時忽略所有名為app_inner.log的檔案。

目錄黑名單

  • 選擇目錄黑名單,配置目錄為/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目錄下的檔案被採集。

允許檔案多次採集

預設情況下,一個記錄檔只能匹配一個Logtail配置。如果檔案中的日誌需要被採集多份,需要開啟允許檔案多次採集開關。

進階參數

其它可選的與檔案輸入外掛程式相關的進階功能參數,請參見建立Logtail流水線配置

3.3 處理配置

  1. 日誌範例,支援多條日誌;添加日誌範例可協助您配置Tlog相關參數,降低配置難度,建議添加。

  2. 多行模式,本樣本採集單行文本日誌,此功能無需開啟。image

  3. 處理模式,選擇

處理配置

配置項

說明

日誌範例

待採集日誌的範例,請務必使用實際情境的日誌。日誌範例可協助您配置Tlog相關參數,降低配置難度。支援添加多條範例,總長度不超過1500個字元。

[2023-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區分每一條日誌。

    • 多行JSON:每個JSON對象被展開為多行,例如:

      {
        "name": "John Doe",
        "age": 30,
        "address": {
          "city": "New York",
          "country": "USA"
        }
      }
  • 切分失敗處理方式:

    Exception in thread "main" java.lang.NullPointerException
        at com.example.MyClass.methodA(MyClass.java:12)
        at com.example.MyClass.methodB(MyClass.java:34)
        at com.example.MyClass.main(MyClass.java:½0)

    對於以上日誌內容,如果Log Service切分失敗:

    • 丟棄:直接丟棄這段日誌。

    • 保留單行:將每行日誌文本單獨保留為一條日誌,保留為一共四條日誌。

處理模式

處理外掛程式組合,包括原生外掛程式拓展外掛程式。有關處理外掛程式的更多資訊,請參見處理外掛程式概述

重要

處理外掛程式的使用限制,請以控制台頁面的提示為準。

  • 低於2.0版本的Logtail:

    • 不支援同時添加原生外掛程式和擴充外掛程式。

    • 原生外掛程式僅可用於採集文本日誌。使用原生外掛程式時,須符合如下要求:

      • 第一個處理外掛程式必須為正則解析外掛程式、分隔字元模式解析外掛程式、JSON解析外掛程式、Nginx模式解析外掛程式、Apache模式解析外掛程式或IIS模式解析外掛程式。

      • 第一個處理外掛程式之後僅允許存在1個時間解析處理外掛程式,1個過濾外掛程式和多個脫敏外掛程式。

    • 擴充處理外掛程式只能出現在所有的原生處理外掛程式之後,不能出現在任何原生處理外掛程式之前。

  • 2.0版本的Logtail:

    • 原生處理外掛程式可任意組合。

    • 原生處理外掛程式和擴充處理外掛程式可同時使用,但擴充處理外掛程式只能出現在所有的原生處理外掛程式之後。

重要

Logtail配置生效時間最長需要3分鐘,請耐心等待。

4. 查詢分析配置

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

5. 查詢日誌

單擊查詢日誌,系統將跳轉至Logstore查詢分析頁面。image

您需要等待1分鐘左右,待索引生效後,才能在原始日誌頁簽中,查看已採集到的日誌。查詢和分析日誌的詳細步驟,請參見查詢和分析日誌

說明

如果需要查詢日誌中的所有欄位,建議使用全文索引。如果只需查詢部分欄位、建議使用欄位索引,減少索引流量。如果需要對欄位進行分析(SELECT語句),必須建立欄位索引。

後續步驟

  • 日誌的索引類型、配置樣本、索引計費等資訊,請參見建立索引

  • 日誌的查詢文法,請參見查詢文法