日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

什么是Logtail

Logtail是日志服務提供的日志采集Agent,用于采集阿里云ECS、自建IDC或其他云廠商等服務器上的日志。本文介紹Logtail的采集流程、功能、優勢、使用限制及配置流程等信息。

Logtail多年來一直承載著阿里巴巴集團重要服務的數據采集。每天采集數百萬服務器上的實時數據,日流量數十PB,并歷經多次雙十一挑戰。

采集流程

監聽日志

在服務器上安裝Logtail及在日志服務控制臺上創建Logtail采集配置后,日志服務會實時下發Logtail采集配置到Logtail,Logtail根據Logtail采集配置開始監聽文件。Logtail根據Logtail采集配置中的日志路徑和最大監控目錄深度,逐層掃描符合規則的日志目錄和文件。

將Logtail采集配置應用到機器組后,對應服務器上沒有發生修改事件的日志文件會被判定為歷史日志文件,Logtail監聽到歷史日志文件,并不會采集。當日志文件產生了修改事件,才會觸發采集流程,Logtail開始讀取文件。如果您要采集歷史日志文件,請參見導入歷史日志文件

為保證采集日志的時效性以及穩定性,Logtail會對待采集的目錄注冊事件監聽(Linux下使用Inotify)以及定期輪詢。

讀取日志

Logtail監聽到日志文件,并確認有更新后,開始讀取。

  • 首次讀取日志文件時,日志服務默認首次讀取大小為1024 KB。

    • 如果文件小于1024 KB,則從文件內容起始位置開始讀取。

    • 如果文件大于1024 KB,則從距離文件末尾1024 KB的位置開始讀取。

    說明

    日志服務支持自定義首次讀取大小。

    • 控制臺方式:在Logtail配置中修改首次采集大小參數。具體操作,請參見高級配置

    • API方式:在Logtail配置中修改tail_size_kb參數。具體操作,請參見advanced參數說明

  • 如果Logtail已讀取過該日志文件,則從上次讀取的Checkpoint處繼續讀取。

  • 讀取日志文件時,每次最多可以讀取512 KB,因此每條日志的大小請控制在512 KB以內,否則無法正常讀取。

說明

如果您修改了服務器上的時間,請手動重啟Logtail,否則會導致日志時間不正確、意外丟棄日志等現象。

處理日志

Logtail讀取日志后,對日志內容進行分行、解析、設置時間字段。

  • 分行

    如果Logtail采集配置中指定了行首正則表達式,則Logtail根據行首正則表達式對每次讀取的日志進行分行,切分成多條日志;如果沒有指定行首正則表達式,則將一行日志作為一條日志處理。

  • 解析

    根據Logtail采集配置中配置的采集模式,對每條日志內容進行解析。

    說明

    如果您的正則表達式比較復雜,可能會導致CPU占用率過高,請使用合理高效的正則表達式。

    如果解析失敗,會根據Logtail采集配置中是否開啟丟棄解析失敗日志的功能進行處理。

    • 開啟丟棄解析失敗日志,則直接丟棄該日志,并上報解析失敗的報錯信息。

    • 關閉丟棄解析失敗日志,則上傳解析失敗的原始日志,其中Key為raw_log、Value為日志內容。

  • 設置日志時間字段

    • 如果未配置時間字段,則日志時間為當前解析日志的時間。

    • 如果配置了時間字段:

      • 日志中記錄的時間距離當前時間12小時以內,則從解析的日志字段中提取時間。

      • 日志中記錄的時間距離當前時間12小時以上,則丟棄該日志并上傳錯誤信息。

過濾日志

處理日志后,根據Logtail采集配置中的過濾器配置過濾日志。

  • 在Logtail采集配置中未設置過濾器配置,則不過濾日志,執行下一個步驟。

  • Logtail采集配置已設置過濾器配置,則對每條日志中的所有字段進行遍歷并驗證。

    只有符合過濾器配置的日志被采集。

聚合日志

為降低網絡請求次數,在日志處理、過濾完畢后,會在Logtail內部緩存一段時間后進行聚合打包,再發送到日志服務。緩存數據后,觸發打包日志發送到日志服務的條件如下:

  • 日志聚合時間超過3秒。

  • 日志聚合條數超過4000條。

  • 日志聚合總大小超過512 KB。

發送日志

Logtail將采集到的日志聚合并發送到日志服務。如果數據發送失敗,Logtail自動根據錯誤信息決定重試或放棄發送。

錯誤信息

說明

Logtail處理方式

401錯誤

當前賬號沒有權限采集數據。為該賬號授予數據接入相關權限。具體操作,請參見配置權限助手

直接丟棄日志包。

404錯誤

Logtail采集配置中指定的Project或Logstore不存在。

直接丟棄日志包。

403錯誤

Shard Quota超出限制。

等待3秒后重試。

500錯誤

服務端異常。

等待3秒后重試。

說明

如果要調整數據的發送速度和最大并發數,您可以設置啟動參數配置文件中的max_bytes_per_sec參數和send_request_concurrency參數。具體操作,請參見設置Logtail啟動參數

功能優勢

  • 基于日志文件,無侵入式采集日志。您無需修改應用程序代碼,且采集日志不會影響您的應用程序運行。

  • 除采集文本日志外,還支持采集binlog、http數據、容器日志等。

  • 支持Docker、Kubernetes集群等容器集群的數據采集。

  • 穩定處理日志采集過程中的各種異常。當遇到網絡異常、服務端異常等問題時會采取主動重試、本地緩存數據等措施保障數據安全。

  • 基于日志服務的集中管理能力。安裝Logtail后,只需要在日志服務上配置機器組、Logtail采集配置等信息即可。

  • 完善的自我保護機制。為保證運行在服務器上的Logtail不會明顯影響您服務器上其他服務的性能,Logtail在CPU、內存及網絡使用方面都做了嚴格的限制和保護機制。

配置流程

image
  1. 安裝Logtail

    如果ECS實例且與日志服務Project屬于同一賬號且在同一地域,請參見安裝Logtail(ECS實例)。其他情況,請參見安裝Logtail(Linux系統)安裝Logtail(Windows系統)

  2. 配置用戶標識

    在采集非本賬號ECS、自建IDC或其他云廠商服務器日志時需要配置用戶標識。

  3. 創建機器組

    日志服務Project支持使用IP地址用戶自定義標識創建機器組。

  4. 創建Logtail采集配置

    您可以通過日志服務控制臺配置向導完成操作。具體操作,請參見采集文本日志采集容器日志

完成上述操作后,Logtail開始采集您服務器上的日志,并發送到對應的Logstore中。您可以通過日志服務控制臺、API、SDK或CLI查詢日志。

核心概念

  • 機器組:一個機器組包含一臺或多臺待采集同類日志的服務器。將Logtail采集配置應用到機器組后,日志服務會根據Logtail采集配置采集機器組內所有服務器上的日志。

    日志服務通過機器組管理所有需要通過Logtail采集日志的服務器,支持通過IP地址或者用戶自定義標識的方式定義機器組。您可以通過日志服務控制臺管理機器組(包括創建、刪除機器組,添加、移除機器等操作)。 更多信息,請參見什么是機器組

  • Logtail:日志服務提供的日志采集Agent,運行在待采集日志的服務器上。

    • Linux操作系統:Logtail安裝在/usr/local/ilogtail目錄下,啟動兩個以ilogtail開頭的獨立進程,一個為采集進程,另外一個為守護進程,程序運行日志保存在/usr/local/ilogtail/ilogtail.LOG文件中。更多信息,請參見安裝Logtail(Linux系統)

    • Windows操作系統

      • Logtail(32位程序)

        • 安裝在Windows 32位操作系統中時,對應的安裝目錄為C:\Program Files\Alibaba\Logtail

        • 安裝在Windows 64位操作系統中時,對應的安裝目錄為C:\Program Files (x86)\Alibaba\Logtail

          說明

          Windows 64位操作系統支持運行32/64位應用程序,但是出于兼容性考慮,在Windows 64位操作系統上,Windows會使用單獨的x86目錄來存放32位應用程序。

      • Logtail(64位程序)

        只支持安裝在Windows 64位操作系統中,對應的安裝目錄為C:\Program Files\Alibaba\Logtail

      您可以通過控制面板 > 管理工具 > 服務,查看LogtailDaemon服務(Logtail 1.0.0.0及以上版本)或LogtailWorker服務(Logtail 0.x.x.x版本),確認Logtail的運行狀態。程序運行日志保存在安裝目錄下的 ilogtail.LOG文件中。更多信息,請參見安裝Logtail(Windows系統)

  • Logtail配置:Logtail采集日志的策略集合。通過在創建Logtail采集配置時設置數據源、采集模式等參數,實現定制化的采集策略。Logtail采集配置定義了如何在服務器上采集同類日志并解析、發送到指定的日志服務Logstore上。

基本功能

功能

說明

實時采集日志

動態監控日志文件,實時讀取、解析增量日志。日志從生成到發送到日志服務的延遲一般在3秒內。更多信息,請參見Logtail采集詳情

說明

Logtail不支持采集歷史日志,對于一條日志,讀取該日志的時間減去日志中記錄的時間,差值超過12小時會被丟棄。如果您要采集歷史日志文件,請參見導入歷史日志文件

自動處理日志輪轉

很多應用會按照文件大小或者日期對日志文件進行輪轉(rotation),把原日志文件重命名,并新建一個空日志文件等待寫入。例如:app.LOG文件,通過日志輪轉會生成 app.LOG.1app.LOG.2 等。您可以指定采集日志寫入的文件,如app.LOG,Logtail會自動檢測到日志輪轉過程,保證這個過程中不會丟失日志數據。

多種采集輸入源

Logtail除支持采集文本日志外,還支持syslog、http、MySQL binlog等數據源。更多信息,請參見數據采集概述

兼容開源采集Agent

Logtail支持Logstash、Beats等開源軟件采集的數據作為數據源。更多信息,請參見數據采集概述

自動處理采集異常

因為服務端錯誤、網絡措施、配額超限等各種異常導致數據發送失敗,Logtail會按場景主動重試。如果重試失敗則將數據寫入本地緩存,等待3秒自動重發。更多信息,請參見如何使用Logtail自動診斷工具

靈活配置采集策略

可以通過Logtail采集配置非常靈活地采集日志。您可以根據實際場景指定日志目錄和文件,支持精確匹配,也支持通配符模糊匹配。您也可以自定義提取日志的方式和提取字段的名稱,日志服務支持通過正則表達式提取日志。

由于日志服務中的日志數據模型要求每條日志必須有精確的時間戳信息,Logtail提供了自定義的日志時間格式,方便您從不同格式的日志數據中提取必要的日志時間戳信息。

自動同步Logtail采集配置

您在日志服務控制臺上新建或更新Logtail采集配置,一般情況下,Logtail在3分鐘內即可接收并生效。更新過程中不會丟失日志數據。

自我監控狀態

Logtail會實時監控自身CPU和內存消耗,避免Logtail消耗您太多資源而影響您的其他服務。Logtail在運行過程中,如果資源使用超出限制將會自動重啟,避免影響服務器上的其他服務。同時,Logtail有主動的網絡限流保護措施,防止過度消耗帶寬。更多信息,請參見啟動參數配置文件(ilogtail_config.json)

簽名數據發送

為保證您的數據在發送過程中不會被篡改,Logtail會通過可信通道從服務端獲取私密Token,并對所有發送日志的數據包進行數據簽名。

說明

Logtail在獲取私密Token時采用HTTPS通道,保障相關安全性。

數據采集可靠性

Logtail在采集日志時,定期將采集的點位(CheckPoint)信息保存到本地,如果遇到服務器意外關閉、進程崩潰等異常情況時,Logtail重啟后會從上一次記錄的位置開始采集數據,盡可能保證數據不丟失。Logtail會根據啟動參數配置文件中配置進行工作,如果資源占用超過限定值5分鐘以上,則Logtail會強制重啟。重啟后可能會產生一定的數據重復。

Logtail內部采用了很多機制提升日志采集可靠性,但并不能保證日志一定不會丟失。以下情況可能造成日志丟失:

  • Logtail未運行且日志輪轉多次。

  • 日志輪轉速度極快,例如1秒輪轉1次。

  • 日志采集速度長期無法達到日志產生速度。

相關文檔