概要
Fluentd からメトリクスを取得して、以下のことができます。
- Fluentd のパフォーマンスを視覚化できます。
- Fluentd のパフォーマンスを他のアプリケーションと関連付けることができます。
セットアップ
インストール
Fluentd チェックは Datadog Agent パッケージに含まれています。Fluentd サーバーに追加でインストールする必要はありません。
Fluentd の準備
FluentD コンフィギュレーションファイルに monitor_agent
ソースを追加します。
<source>
@type monitor_agent
bind 0.0.0.0
port 24220
</source>
構成
ホスト
ホストで実行中の Agent に対してこのチェックを構成するには
メトリクスの収集
Fluentd メトリクスを収集するには、Agent コンフィギュレーションディレクトリのルートにある conf.d/
フォルダーの fluentd.d/conf.yaml
ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル fluentd.d/conf.yaml を参照してください。
init_config:
instances:
## @param monitor_agent_url - string - required
## Monitor Agent URL to connect to.
#
- monitor_agent_url: http://example.com:24220/api/plugins.json
Agent を再起動します。
ログ収集
Datadog の FluentD プラグインを使用して FluentD から Datadog アカウントへログを直接転送することができます。
ログへのメタデータの追加
適切なメタデータ (ホスト名、ソースなど) は、Datadog でログの可能性をフルに引き出すためのカギです。デフォルトでは、ホスト名およびタイムスタンプフィールドが、予約済み属性の再マップによって適切に再マップされます。
ソースとカスタムタグ
Datadog でインテグレーションの自動セットアップをトリガーするには、ログに ddsource
属性を追加して、ログのインテグレーションの名前を設定します。
インフラストラクチャーリストに一致するホスト名があれば、ホストタグがログに自動的に設定されます。ログにカスタムタグを追加する場合は、ddtags
属性を使用します。
セットアップ例:
# "datadog.**" タグが付いたイベントを照合して
# Datadog に送信
<match datadog.**>
@type datadog
@id awesome_agent
api_key <your_api_key>
# オプション
include_tag_key true
tag_key 'tag'
# オプションのタグ
dd_source '<INTEGRATION_NAME>'
dd_tags '<KEY1:VALUE1>,<KEY2:VALUE2>'
<buffer>
@type memory
flush_thread_count 4
flush_interval 3s
chunk_limit_size 5m
chunk_limit_records 500
</buffer>
</match>
デフォルトでは、ログを gzip 圧縮して HTTPS (ポート 443) から送信するためにプラグインを構成します。
次のパラメーターを使用して、この動作を変更できます。
use_http
: TCP 転送を使用する場合はこれを false
に設定し、host
と port
を 状況に応じて更新します (デフォルトは true
)use_compression
: 圧縮は HTTP にのみ利用できます。無効にする場合はこれを false
に設定します (デフォルトは true
)compression_level
: HTTP の圧縮レベルを 1 ~ 9 の範囲で設定します。最大値は 9 となります (デフォルトは 6
)
以下の追加パラメーターを使用すると、プロキシを通過するために、使用するエンドポイントを変更できます。
host
: ログを Datadog に直接転送しない場合のプロキシのエンドポイント (デフォルト値は http-intake.logs.datadoghq.com
)。port
: ログを Datadog に直接転送しない場合のプロキシのポート (デフォルト値は 80
)ssl_port
: ログをセキュリティ保護された TCP/SSL 接続で Datadog に転送する場合に使用するポート (デフォルトは 443
)use_ssl
: Datadog へのセキュリティ保護された TCP/SSL 接続を初期化するよう Agent に指示します (デフォルト値は true
)。no_ssl_validation
: SSL ホスト名の検証を無効化します (デフォルト値は false
)。
注: host
および port
をリージョン
に設定します。
<match datadog.**>
#...
host 'http-intake.logs.datadoghq.eu'
</match>
Kubernetes と Docker タグ
製品のある部分から別の部分に移動できるようにするには、Datadog タグがたいへん重要です。コンテナビューやコンテナメトリクスから最も関連するログに移動するには、ログに正しいメタデータを関連付けることが大切です。
以下の属性がログに含まれている場合は、これらの属性が Datadog タグとしてログに自動的に追加されます。
kubernetes.container_image
kubernetes.container_name
kubernetes.namespace_name
kubernetes.pod_name
docker.container_id
Datadog Agent は Docker と Kubernetes のメタデータを自動的に収集しますが、FluentD では、そのためのプラグインが必要です。このメタデータの収集には、fluent-plugin-kubernetes_metadata_filter を使用することを Datadog はお勧めします。
構成例:
# "kubernetes.**" のタグが付いたログのメタデータを収集
<filter kubernetes.*>
type kubernetes_metadata
</filter>
コンテナ化
コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。
メトリクスの収集
パラメーター | 値 |
---|
<INTEGRATION_NAME> | fluentd |
<INIT_CONFIG> | 空白または {} |
<INSTANCE_CONFIG> | {"monitor_agent_url": "http://%%host%%:24220/api/plugins.json"} |
検証
Agent の status サブコマンドを実行し、Checks セクションで fluentd
を検索します。
収集データ
メトリクス
fluentd.buffer_available_buffer_space_ratios (gauge) | Show available space for buffer |
fluentd.buffer_queue_byte_size (gauge) | Current bytesize of queued buffer chunks Shown as byte |
fluentd.buffer_queue_length (gauge) | The length of the buffer queue for this plugin. Shown as buffer |
fluentd.buffer_stage_byte_size (gauge) | Current bytesize of staged buffer chunks Shown as byte |
fluentd.buffer_stage_length (gauge) | The length of staged buffer chunks |
fluentd.buffer_total_queued_size (gauge) | The size of the buffer queue for this plugin. Shown as byte |
fluentd.emit_count (gauge) | The total number of emit call in output plugin Shown as unit |
fluentd.emit_records (gauge) | The total number of emitted records Shown as record |
fluentd.flush_time_count (gauge) | The total time of buffer flush in milliseconds Shown as millisecond |
fluentd.retry_count (gauge) | The number of retries for this plugin. Shown as time |
fluentd.rollback_count (gauge) | The total number of rollback. rollback happens when write/try_write failed Shown as unit |
fluentd.slow_flush_count (gauge) | The total number of slow flush. This count will be incremented when buffer flush is longer than slowflushlog_threshold Shown as unit |
fluentd.write_count (gauge) | The total number of write/try_write call in output plugin Shown as unit |
イベント
FluentD チェックには、イベントは含まれません。
サービスチェック
fluentd.is_ok
Returns OK
if fluentd and its monitor agent are running, CRITICAL otherwise.
Statuses: ok, critical
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問合せください。
その他の参考資料