すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Dockerイベントの収集

最終更新日:Aug 30, 2024

Dockerイベントには、コンテナ、イメージ、プラグイン、ネットワーク、ボリュームなどのオブジェクトのすべてのインタラクティブイベントが含まれます。 このトピックでは、Log ServiceコンソールでLogtailを設定してDockerイベントを収集する方法について説明します。

始める前に

Logtail V0.16.18以降がLinuxサーバーにインストールされます。 詳細については、「LinuxサーバーにLogtailをインストールする」をご参照ください。

制限事項

  • コンテナーまたはホストで実行されるLogtailは、/var/run/docker.sockファイルへのアクセスを許可されている必要があります。

    Logtailを使用してKubernetesログを収集する方法については、「Kubernetesログの収集」をご参照ください。 標準コンテナログの収集方法については、「標準のDockerコンテナからログを収集する」をご参照ください。

  • Logtailを再起動または停止すると、コンテナイベントは収集されません。

シナリオ

  • すべてのコンテナの開始イベントと停止イベントを監視し、コアコンテナの実行が停止したときにアラートをトリガーします。

  • 監査、セキュリティ分析、トラブルシューティングのためにすべてのコンテナイベントを収集します。

  • すべてのイメージプルイベントを監視し、イメージが無効なパスからプルされた場合はアラートをトリガーします。

手順

  1. Log Serviceコンソールにログインします。

  2. [データのインポート] セクションで、[カスタムデータプラグイン] を選択します。

  3. プロジェクトとLogstoreを選択します。 [次へ] をクリックします。

  4. マシングループの設定ステップで、マシングループを設定します。

    1. ビジネス要件に基づいて、シナリオとインストール環境のパラメーターを設定します。

      重要

      マシングループが使用可能かどうかに関係なく、シナリオパラメーターとインストール環境パラメーターを設定する必要があります。 パラメーター設定は、以降の設定に影響します。

    2. [応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

      マシングループ利用可能

      [ソースマシングループ] セクションからマシングループを選択します。

      image

      マシングループがありません

      [マシングループの作成] をクリックします。 マシングループの作成パネルで、パラメーターを設定します。 マシングループ識別子パラメーターをIPアドレスまたはカスタム識別子に設定できます。 詳細については、「カスタム識別子ベースのマシングループの作成」または「IPアドレスベースのマシングループの作成」をご参照ください。

      重要

      マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?

  5. [応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

    重要

    マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?

  6. [データソースの指定] ステップで、[設定名] および [プラグイン設定] パラメーターを設定します。 [次へ] をクリックします。

    Logtailプラグインのコレクション

    • 入力は必須であり、Logtail構成のデータソース設定を構成するために使用されます。

      重要

      inputsに指定できるデータソースの種類は1つだけです。

    • processorsはオプションで、データを解析するLogtail設定のデータ処理設定を設定するために使用されます。 1つ以上の処理方法を指定できます。

      入力の設定のみに基づいてログを解析できない場合は、[プラグイン設定] フィールドでプロセッサを設定して、データ処理用のプラグインを追加できます。 たとえば、フィールドの抽出、ログ時間の抽出、データのマスク、ログのフィルタリングができます。 詳細については、「Logtailプラグインを使用したデータ処理」をご参照ください。

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

    パラメーター

    データ型

    必須/任意

    説明

    タイプ

    String

    必須

    データソースのタイプ。 値をservice_docker_eventに設定します。

    EventQueueSize

    int

    任意

    イベントキュー内のイベントの最大数。 デフォルト値は 10 です。

  7. データをプレビューし、インデックスを設定し、[次へ] をクリックします。

    デフォルトでは、Log Serviceでフルテキストインデックスが有効になっています。 手動モードまたは自動モードで収集したログに基づいてフィールドインデックスを設定することもできます。 自動モードでフィールドインデックスを設定するには、[自動インデックス生成] をクリックします。 これにより、Log Serviceは自動的にフィールドインデックスを作成します。 詳細については、「インデックスの作成」をご参照ください。

    重要

    ログをクエリおよび分析する場合は、フルテキストインデックス作成またはフィールドインデックス作成を有効にする必要があります。 フルテキストインデックスとフィールドインデックスの両方を有効にすると、フィールドインデックスのみが使用されます。

  8. [ログクエリ] をクリックします。 Logstoreのクエリと分析ページにリダイレクトされます。

    インデックスが有効になるまで約1分待つ必要があります。 そして、収集したログを Raw Logsタブで確認することができます。 詳細については、「データのクエリと分析」をご参照ください。

トラブルシューティング

Logtailを使用してログを収集した後、プレビューページまたはクエリページにデータが表示されない場合は、Logtailを使用してログを収集するときにエラーが発生した場合はどうすればよいですか?で提供されている手順に基づいてエラーをトラブルシューティングできます。

サンプルログ

このセクションでは、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 events」をご参照ください。

フィールド

説明

_type_

リソースのタイプを示します。 Example: コンテナまたは画像。

_アクション_

Theタイプの。 Example: 破壊したり状態。

_id_

イベントの一意のID。

_time_nano_

イベントのタイムスタンプ。