Dockerイベントには、コンテナ、イメージ、プラグイン、ネットワーク、ボリュームなどのオブジェクトのすべてのインタラクティブイベントが含まれます。 このトピックでは、Log ServiceコンソールでLogtailを設定してDockerイベントを収集する方法について説明します。
始める前に
Logtail V0.16.18以降がLinuxサーバーにインストールされます。 詳細については、「LinuxサーバーにLogtailをインストールする」をご参照ください。
制限事項
コンテナーまたはホストで実行されるLogtailは、
/var/run/docker.sock
ファイルへのアクセスを許可されている必要があります。Logtailを使用してKubernetesログを収集する方法については、「Kubernetesログの収集」をご参照ください。 標準コンテナログの収集方法については、「標準のDockerコンテナからログを収集する」をご参照ください。
Logtailを再起動または停止すると、コンテナイベントは収集されません。
シナリオ
すべてのコンテナの開始イベントと停止イベントを監視し、コアコンテナの実行が停止したときにアラートをトリガーします。
監査、セキュリティ分析、トラブルシューティングのためにすべてのコンテナイベントを収集します。
すべてのイメージプルイベントを監視し、イメージが無効なパスからプルされた場合はアラートをトリガーします。
手順
Log Serviceコンソールにログインします。
[データのインポート] セクションで、[カスタムデータプラグイン] を選択します。
プロジェクトとLogstoreを選択します。 [次へ] をクリックします。
マシングループの設定ステップで、マシングループを設定します。
ビジネス要件に基づいて、シナリオとインストール環境のパラメーターを設定します。
重要マシングループが使用可能かどうかに関係なく、シナリオパラメーターとインストール環境パラメーターを設定する必要があります。 パラメーター設定は、以降の設定に影響します。
[応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。
マシングループ利用可能
[ソースマシングループ] セクションからマシングループを選択します。
マシングループがありません
[マシングループの作成] をクリックします。 マシングループの作成パネルで、パラメーターを設定します。 マシングループ識別子パラメーターをIPアドレスまたはカスタム識別子に設定できます。 詳細については、「カスタム識別子ベースのマシングループの作成」または「IPアドレスベースのマシングループの作成」をご参照ください。
重要マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?
[応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。
重要マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?
[データソースの指定] ステップで、[設定名] および [プラグイン設定] パラメーターを設定します。 [次へ] をクリックします。
Logtailプラグインのコレクション
入力は必須であり、Logtail構成のデータソース設定を構成するために使用されます。
重要inputsに指定できるデータソースの種類は1つだけです。
processorsはオプションで、データを解析するLogtail設定のデータ処理設定を設定するために使用されます。 1つ以上の処理方法を指定できます。
入力の設定のみに基づいてログを解析できない場合は、[プラグイン設定] フィールドでプロセッサを設定して、データ処理用のプラグインを追加できます。 たとえば、フィールドの抽出、ログ時間の抽出、データのマスク、ログのフィルタリングができます。 詳細については、「Logtailプラグインを使用したデータ処理」をご参照ください。
{ "inputs": [ { "detail": {}, "type": "service_docker_event" } ] }
パラメーター
データ型
必須/任意
説明
タイプ
String
必須
データソースのタイプ。 値をservice_docker_eventに設定します。
EventQueueSize
int
任意
イベントキュー内のイベントの最大数。 デフォルト値は 10 です。
データをプレビューし、インデックスを設定し、[次へ] をクリックします。
デフォルトでは、Log Serviceでフルテキストインデックスが有効になっています。 手動モードまたは自動モードで収集したログに基づいてフィールドインデックスを設定することもできます。 自動モードでフィールドインデックスを設定するには、[自動インデックス生成] をクリックします。 これにより、Log Serviceは自動的にフィールドインデックスを作成します。 詳細については、「インデックスの作成」をご参照ください。
重要ログをクエリおよび分析する場合は、フルテキストインデックス作成またはフィールドインデックス作成を有効にする必要があります。 フルテキストインデックスとフィールドインデックスの両方を有効にすると、フィールドインデックスのみが使用されます。
[ログクエリ] をクリックします。 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_ | イベントのタイムスタンプ。 |