全部產品
Search
文件中心

Simple Log Service:匯入歷史記錄檔

更新時間:Jun 30, 2024

Logtail只採集增量日誌。如果下發Logtail配置後,記錄檔無更新,則Logtail不會採集該檔案中的日誌。如果您需要採集歷史日誌,可使用Logtail內建的匯入歷史記錄檔功能。

前提條件

背景資訊

Logtail基於監聽檔案的修改事件進行日誌採集,還支援從本地檔案中載入事件,以驅動日誌採集。採集歷史記錄檔就是基於本地事件載入實現的功能。

說明
  • 匯入本地事件最長延遲為1分鐘。

  • 由於載入本地事件屬於特殊行為,Logtail會向伺服器發送LOAD_LOCAL_EVENT_ALARM訊息。

  • 如果您匯入的檔案量較大,建議修改Logtail啟動參數,建議將CPU調整至2.0及以上,記憶體調整至512MB及以上。更多資訊,請參見設定Logtail啟動參數

  • 如果您的記錄檔中存在中文,需要設定檔案字元集。

您需要在Logtail的安裝目錄下執行匯入歷史記錄檔的操作,該安裝目錄在不同作業系統中位於不同位置,具體說明如下表所示。

作業系統

Logtail

Logtail安裝目錄

Linux

Logtail(64位程式)

/usr/local/ilogtail

Windows(64位作業系統)

Logtail(64位程式)

C:\Program Files\Alibaba\Logtail

Logtail(32位程式)

C:\Program Files (x86)\Alibaba\Logtail

說明

Windows 64位作業系統支援運行32/64位應用程式,但是出於相容性考慮,在Windows 64位作業系統上,Windows會使用單獨的x86目錄來存放32位應用程式。

Windows (32位作業系統)

Logtail(32位程式)

C:\Program Files\Alibaba\Logtail

操作步驟

  1. 擷取Logtail配置的唯一標識。

    您可以在Logtail安裝目錄下的user_log_config.json檔案中擷取Logtail配置的唯一標識。此處以Linux系統為例,查看Logtail配置的唯一標識。

    grep "##" /usr/local/ilogtail/user_log_config.json | awk '{print $1}'
  2. 添加本地事件。

    1. 在Logtail安裝目錄下,建立local_event.json檔案。

    2. 在local_event.json檔案中添加本地事件,類型為標準JSON,格式如下所示。

      重要

      為了防止Logtail載入無效的JSON,建議您先將本地事件配置儲存在臨時檔案中,編輯完成後拷貝到local_event.json檔案中。

      [ 
        {
          "config" : "${your_config_unique_id}",
          "dir" : "${your_log_dir}",
          "name" : "${your_log_file_name}"
         },
        {
         ...
         }
         ...
      ]

      參數

      說明

      config

      填寫步驟1中擷取的Logtail配置唯一標識,例如##1.0##log-config-test$ecs-test

      dir

      歷史記錄檔所在目錄,例如:/data/logs

      重要
      • 檔案夾不能以/結尾。

      • 檔案夾目錄不能是Logtail安裝目錄(/usr/local/ilogtail)。

      name

      歷史記錄檔名,支援萬用字元,例如access.log.2018-08-08、access.log*。

      本文以Linux系統為例,介紹配置樣本。

      $ cat /usr/local/ilogtail/local_event.json
      [
        {
          "config": "##1.0##log-config-test$ecs-test",
          "dir": "/data/log",
          "name": "access.log*"
        },
        {
          "config": "##1.0##log-config-test$tmp-test",
          "dir": "/tmp",
          "name": "access.log.2017-08-09"
        }
      ]                            

常見問題

  • 檢查Logtail是否載入Logtail配置。

    通常情況下,儲存local_event.json檔案後,Logtail會在1分鐘內將檔案內容載入到記憶體中,並將local_event.json檔案中的內容清空。

    您可以通過以下方式檢查Logtail是否已載入Logtail採集配置。

    1. local_event.json檔案中的內容被清空,則說明Logtail已讀取到事件資訊。

    2. 檢查Logtail安裝目錄中的ilogtail.LOG檔案中是否包含process local event參數。如果local_event.json檔案被清空但未查詢到process local event參數,可能是因為local_event.json檔案內容不合法而被過濾。

  • 已載入Logtail採集配置但未採集到資料,是什麼原因?

    • Logtail採集配置不合法。

    • local_event.json檔案配置不合法。

    • 記錄檔不在Logtail採集配置已設定的路徑下。

    • 該記錄檔已被Logtail採集過。

後續操作

匯入歷史檔案採集成功後,查詢和分析請參見通過索引模式查詢和分析日誌