Supported OS Linux Mac OS Windows

インテグレーションバージョン1.2.0

概要

Logstash からメトリクスをリアルタイムに取得して、以下のことができます。

  • Logstash の状態を視覚化および監視できます。
  • Logstash のイベントに関する通知を受けることができます。

セットアップ

インストール

Logstash チェックは Datadog Agent パッケージに含まれていないため、お客様自身でインストールする必要があります。

ホスト

Agent v7.21 / v6.21 以降の場合は、下記の手順に従い Logstash チェックをホストにインストールします。それ以前のバージョンの Agent については、コミュニティインテグレーションの使用を参照してください。

  1. 以下のコマンドを実行して、Agent インテグレーションをインストールします。

    datadog-agent integration install -t datadog-logstash==<INTEGRATION_VERSION>
    
  2. コアのインテグレーションと同様にインテグレーションを構成します。

コンテナ化

以下の 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 イメージをプルします。

詳しくはコミュニティインテグレーションの使用を参照してください。

構成

メトリクスの収集

ホスト
  1. 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 を参照してください。

  2. Agent を再起動します

コンテナ化

コンテナ環境では、以下のパラメーターを指定したオートディスカバリーテンプレートを使用します。

パラメーター
<INTEGRATION_NAME>logstash
<INIT_CONFIG>空白または {}
<INSTANCE_CONFIG>{"server": "http://%%host%%:9600"}

このテンプレートの適用方法については、Docker インテグレーションまたは Kubernetes インテグレーションを参照してください。

使用可能なすべての構成オプションの詳細については、サンプル logstash.d/conf.yaml を参照してください。

ログ収集

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 に設定し、hostport を状況に応じて更新します (デフォルトは 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 のサポートチームまでお問い合わせください。

PREVIEWING: may/embedded-workflows