全部產品
Search
文件中心

Simple Log Service:採集Docker事件

更新時間:Jun 30, 2024

Docker事件資訊記錄了容器、鏡像、外掛程式、網路、儲存等所有互動事件。本文介紹如何通過Log Service控制台建立Logtail採集配置採集Docker事件。

前提條件

已在伺服器上安裝Linux Logtail 0.16.18及以上版本。具體操作,請參見安裝Logtail(Linux系統)

限制說明

  • Logtail可運行在容器模式或宿主機上,需具備訪問Docker的許可權(可以訪問到/var/run/docker.sock)。

    Logtail採集Kubernetes日誌請參見採集Kubernetes日誌,採集標準容器日誌請參見採集標準Docker容器日誌

  • Logtail在重啟或停止期間,無法採集容器事件。

應用情境

  • 監控所有容器的啟停事件,當核心容器停止後立即警示。

  • 採集所有容器事件,用於審計、安全分析、問題排查。

  • 監控所有鏡像的拉取事件,如果拉取非合法路徑的鏡像時立即警示。

操作步驟

  1. 登入Log Service控制台

  2. 接入資料地區,選擇自訂資料外掛程式

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

  4. 機器組配置頁面,配置機器組。

    1. 根據實際需求,選擇使用情境和安裝環境。

      重要

      無論是否已有機器組,都必鬚根據實際需求正確選擇使用情境和安裝環境,這將影響後續的頁面配置。

    2. 確認目標機器組已在應用機器組地區,單擊下一步

      已有機器組

      源機器組列表選擇目標機器組。

      image

      沒有可用機器組

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

      重要

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

  5. 資料來源設定頁簽中,設定配置名稱外掛程式配置,然後單擊下一步

    • inputs為資料來源配置,必選項。

      重要

      一個inputs中只允許配置一個類型的資料來源。

    • processors為處理配置,用於解析資料。可選項,您可以配置一種或多種處理方式。

      如果當前的inputs配置無法滿足日誌解析需求,您可以在外掛程式配置中添加processors配置,即添加Logtail外掛程式處理資料。例如提取欄位、提取日誌時間、脫敏資料、過濾日誌等。更多資訊,請參見使用Logtail外掛程式處理資料

    {
      "inputs": [
        {
          "detail": {},
          "type": "service_docker_event"
        }
      ]
    }

    配置項

    類型

    是否必須

    說明

    type

    string

    資料來源類型,固定為service_docker_event

    EventQueueSize

    int

    事件緩衝隊列大小。不配置時,預設為10,無特殊需求請保持預設設定。

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

    重要

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

  7. 單擊查詢日誌,系統將跳轉至Logstore查詢分析頁面。您需要等待1分鐘左右,待索引生效後,才能在原始日誌頁簽中,查看已採集到的日誌。更多資訊,請參見查詢和分析日誌

相關文檔

日誌範例

Docker事件範例如下所示。

  • 範例1:鏡像拉取事件

    __source__:  10.10.10.10
    __tag__:__hostname__:  logtail-ds-77brr
    __topic__:  
    _action_:  pull
    _id_:  registry.cn-hangzhou.aliyuncs.com/ringtail/eventer:v1.6.1.3
    _time_nano_:  1547910184047414271
    _type_:  image
    name:  registry.cn-hangzhou.aliyuncs.com/ringtail/eventer
  • 範例2:Kubernetes中容器的銷毀事件

    __source__:  10.10.10.10
    __tag__:__hostname__:  logtail-ds-xnvz2
    __topic__:  
    _action_:  destroy
    _id_:  af61340b0ac19e6f5f32be672d81a33fc4d3d247bf7dbd4d3b2c030b8bec4a03
    _time_nano_:  1547968139380572119
    _type_:  container
    annotation.kubernetes.io/config.seen:  2019-01-20T15:03:03.114145184+08:00
    annotation.kubernetes.io/config.source:  api
    annotation.scheduler.alpha.kubernetes.io/critical-pod:  
    controller-revision-hash:  2630731929
    image:  registry-vpc.cn-hangzhou.aliyuncs.com/acs/pause-amd64:3.0
    io.kubernetes.container.name:  POD
    io.kubernetes.docker.type:  podsandbox
    io.kubernetes.pod.name:  logtail-ds-44jbg
    io.kubernetes.pod.namespace:  kube-system
    io.kubernetes.pod.uid:  6ddcf598-1c81-11e9-9ddf-00163e0c7cbe
    k8s-app:  logtail-ds
    kubernetes.io/cluster-service:  true
    name:  k8s_POD_logtail-ds-44jbg_kube-system_6ddcf598-1c81-11e9-9ddf-00163e0c7cbe_0
    pod-template-generation:  9
    version:  v1.0

Docker事件的日誌欄位如下。更多資訊,請參見Docker官方文檔

欄位

說明

_type_

資源類型,例如container、image。

_action_

操作類型,例如destroy、status。

_id_

事件唯一標識。

_time_nano_

事件的時間戳記。