Splunk ロギング・ドライバ

splunk ロギング・ドライバは、コンテナのログを Splunk Enterprise もしくは Splunk Cloud の HTTP Event Collector に送ります。

使い方

デフォルトのロギング・ドライバを変更するには、Docker デーモンに --log-driver オプションを付けます。

docker daemon --log-driver=splunk

特定のコンテナに対してロギング・ドライバを指定するには、 docker run の実行時に --log-driver オプションを付けます。

docker run --log-driver=splunk ...

Splunk オプション

Splunnk ロギング・ドライバでは、--log-opt 名前=値 フラグを指定できます。

オプション 必須 説明
splunk-token 必須 Splunk HTTP Event Collector トークンを指定
splunk-url 必須 Splunk Enterprise または Splunk Cloud インスタンスに対するパス(HTTP Event Collector の使うポートとスキームを含む) https://your_splunk_instance:8088
splunk-source オプション イベント・ソース
splunk-sourcetype オプション イベント・ソースのタイプ
splunk-index オプション Event インデックス
splunk-capath オプション root 証明書のパス
splunk-caname オプション サーバ証明書に使う有効な名前。デフォルトでは splunk-url で指定したホスト名が使われる。
splunk-insecureskipverify オプション サーバ証明書の認証を無効化。
splunk-tag オプション メッセージに対するタグを指定。いくつかのマークアップを利用可能。デフォルトの値は {{.ID}} (コンテナ ID の12文字)。ログのタグ書式のカスタマイズ方法は、 ログ・ドライバー出力のカスタマイズ を参照。
splunk-labels オプション メッセージに含めるラベルを、カンマ区切りのキーで指定できる。ラベルはコンテナで指定できる。
splunk-env オプション メッセージに含める環境変数を、カンマ区切りのキーで指定できる。これらの変数はコンテナで指定できる。

labelenv のキーが重複する場合は、 env が優先されます。どちらのオプションも、ロギング・メッセージの追加フィールドに追加できるものです。

以下はロギング・ドライバに Splunk Enterprise インスタンスを指定する例です。インスタンスは Docker デーモンを実行している同じマシン上のローカルにインストールされています。root 証明書とコモンネームの指定には HTTP スキームを使います。これが証明書の使い方です。 SplunkServerDefaultCert は自動的に生成された Splunk 証明書です。

docker run --log-driver=splunk \
    --log-opt splunk-token=176FCEBF-4CF5-4EDF-91BC-703796522D20 \
    --log-opt splunk-url=https://splunkhost:8088 \
    --log-opt splunk-capath=/path/to/cert/cacert.pem \
    --log-opt splunk-caname=SplunkServerDefaultCert
    --log-opt tag="{{.Name}}/{{.FullID}}"
    --log-opt labels=location
    --log-opt env=TEST
    --env "TEST=false"
    --label location=west
    your/application