概要
Logstash からメトリクスをリアルタイムに取得して、以下のことができます。
- Logstash の状態を視覚化および監視できます。
- Logstash のイベントに関する通知を受けることができます。
セットアップ
インストール
Logstash チェックは Datadog Agent パッケージに含まれていないため、お客様自身でインストールする必要があります。
ホスト
Agent v7.21 / v6.21 以降の場合は、下記の手順に従い Logstash チェックをホストにインストールします。それ以前のバージョンの Agent については、コミュニティインテグレーションの使用を参照してください。
以下のコマンドを実行して、Agent インテグレーションをインストールします。
datadog-agent integration install -t datadog-logstash==<INTEGRATION_VERSION>
コアのインテグレーションと同様にインテグレーションを構成します。
コンテナ化
以下の Dockerfile を使用して、Logstash インテグレーションを含むカスタム Datadog Agent イメージを構築します。
FROM gcr.io/datadoghq/agent:latest
RUN datadog-agent integration install -r -t datadog-logstash==<INTEGRATION_VERSION>
Kubernetes を使用している場合は、Datadog Operator または Helm チャートの構成を更新して、このカスタム Datadog Agent イメージをプルします。
詳しくはコミュニティインテグレーションの使用を参照してください。
構成
メトリクスの収集
ホスト
Agent の構成ディレクトリのルートにある conf.d/
フォルダーの logstash.d/conf.yaml
ファイルを編集します。
init_config:
instances:
# The URL where Logstash provides its monitoring API.
# This will be used to fetch various runtime metrics about Logstash.
#
- url: http://localhost:9600
使用可能なすべての構成オプションの詳細については、サンプル logstash.d/conf.yaml を参照してください。
Agent を再起動します。
ログ収集
Datadog には、Datadog プラットフォームへのログの送信を処理する、Logstash 用の出力プラグインがあります。
このプラグインをインストールするには、次のコマンドを実行します。
logstash-plugin install logstash-output-datadog_logs
次に、Datadog API キーを使用して datadog_logs
プラグインを構成します。
output {
datadog_logs {
api_key => "<DATADOG_API_キー>"
}
}
デフォルトでは、ログを 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
をリージョン
に設定します。
output {
datadog_logs {
api_key => "<DATADOG_API_キー>"
host => "http-intake.logs.datadoghq.eu"
}
}
ログへのメタデータの追加
Datadog でログを最大限活用するには、ログにホスト名やソースなどの適切なメタデータを関連付けることが重要です。デフォルトでは、Datadog のデフォルトの予約済み属性の再マップにより、ホスト名とタイムスタンプが適切に再マップされます。確実にサービスを正しく再マップするには、その属性値をサービス再マップリストに追加します。
ソース
Logstash フィルターをセットアップして、ログにソース (Datadog インテグレーション名) を設定します。
filter {
mutate {
add_field => {
"ddsource" => "<ソースの値>"
}
}
}
これにより、Datadog でインテグレーション自動セットアップがトリガーされます。
カスタムタグ
インフラストラクチャーリストに一致するホスト名があれば、ホストタグがログに自動的に設定されます。ログにカスタムタグを追加する場合は、ddtags
属性を使用します。
filter {
mutate {
add_field => {
"ddtags" => "env:test,<KEY:VALUE>"
}
}
}
検証
Agent の status
サブコマンドを実行し、Checks セクションで logstash
を探します。
互換性
Logstash チェックは、Logstash バージョン 5.x、6.x および 7.x と互換性があります。また、Logstash 6.0 で導入された新しいマルチパイプラインメトリクスにも対応します。Logstash バージョン 5.6.15、6.3.0 および 7.0.0 でテスト済みです。
収集データ
メトリクス
イベント
Logstash チェックには、イベントは含まれません。
サービスチェック
トラブルシューティング
Agent が接続できない
logstash
-------
- instance #0 [ERROR]: "('Connection aborted.', error(111, 'Connection refused'))"
- Collected 0 metrics, 0 events & 1 service check
conf.yaml
内の url
が正しいかどうかを確認してください。
それでも解決できない場合は、Datadog のサポートチームまでお問い合わせください。