ホスト Agent ログの収集
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

ホスト Agent ログの収集

ログの収集には、Datadog Agent v6.0 以上が必要です。古いバージョンの Agent には、log collection インターフェイスが含まれていません。まだ Agent を使用していない場合は、Agent のインストール手順に従ってください。

ログ収集を有効にする

Datadog Agent では、ログの収集はデフォルトで無効になっています。ホスト Agent でこれを有効にする方法については、以下の手順を参照してください。Agent を Kuberentes または Docker 環境で実行している場合は、専用の Kubernetes ログ収集または Docker ログ収集のドキュメントを参照してください。

ホストで実行されている Agent でログ収集を有効にするには、Agent のメインコンフィギュレーションファイル (datadog.yaml) を次のように更新します。

logs_enabled: true

Agent v6.19+/v7.19+ 以降、使用されるデフォルトのトランスポートは HTTPS トランスポートです。HTTPS/TCP トランスポートを実行する方法の詳細については、Agent トランスポートのドキュメントを参照してください。

環境変数を伴った形でログを送信するには、以下の構成を行ってください。

  • DD_LOGS_ENABLED=true

ログ収集を有効にすると、Agent から Datadog にログを転送できるようになります。次に、Agent でログの収集元を設定します。

インテグレーションからのログ収集を有効にする

特定のインテグレーションのログを収集するには、そのインテグレーションの conf.yaml ファイルのログセクションのコメントを外して、環境に合わせて構成します。Agent を Kubernetes または Docker 環境で実行している場合は、専用の Kubernetes ログ収集または Docker ログ収集のドキュメントを参照してください。

そのまま使用できるログ構成が含まれているサポートされているインテグレーションのリストを参照してください。

カスタムログ収集

Datadog Agent v6 は、収集したログをファイル、ネットワーク (TCP または UDP)、journald、Windows チャンネルから Datadog に転送できます。

  1. Agent のコンフィギュレーションディレクトリのルートにある conf.d/ ディレクトリに、<CUSTOM_LOG_SOURCE>.d/ フォルダーを新規作成します。
  2. この新しいフォルダーに新しい conf.yaml ファイルを作成します。
  3. 下記のパラメーターを指定して、カスタムログ収集構成グループを追加します。
  4. Agent を再起動してこの新しい設定を適用します。
  5. Agent の status サブコマンドを実行し、Checks セクションで <カスタムログソース> を検索します。

以下に、カスタムログ収集設定の例を示します。

<PATH_LOG_FILE>/<LOG_FILE_NAME>.log に保存されているログを <APP_NAME> アプリケーションから収集するには、Agent の構成ディレクトリのルートに以下の内容の <APP_NAME>.d/conf.yaml ファイルを作成します。

logs:
  - type: file
    path: "<PATH_LOG_FILE>/<LOG_FILE_NAME>.log"
    service: "<APP_NAME>"
    source: "<SOURCE>"

: ログのファイルを追跡する場合、Windows 用 Datadog Agent v6 では、ログファイルが UTF8 でエンコードされている必要があります。

ポート 10518 上で TCP を使用してログを転送する <APP_NAME> アプリケーションからログを収集するには、Agent の構成ディレクトリのルートに以下の内容の <APP_NAME>.d/conf.yaml ファイルを作成します。

logs:
  - type: tcp
    port: 10518
    service: "<APP_NAME>"
    source: "<CUSTOM_SOURCE>"

Serilog を使用している場合、UDP を使用して接続するには、Serilog.Sinks.Network オプションを使用します。

: Agent は、単純文字列、JSON、および Syslog 形式のログをサポートします。複数のログを一度に送信する場合は、改行文字を使用してログを区切ってください。

journald からログを収集するには、Agent の構成ディレクトリのルートに以下の内容の journald.d/conf.yaml ファイルを作成します。

logs:
  - type: journald
    path: /var/log/journal/

コンテナ化環境およびユニットフィルタリングの設定については、journald インテグレーションに関するドキュメントを参照してください。

Windows のイベントをログとして Datadog に送信するには、conf.d/win32_event_log.d/conf.yaml にチャンネルを手動で追加するか、Datadog Agent Manager を使用します。

チャンネルリストを表示するには、PowerShell で以下のコマンドを実行します。

Get-WinEvent -ListLog *

最もアクティブなチャンネルを表示するには、PowerShell で以下のコマンドを実行します。

Get-WinEvent -ListLog * | sort RecordCount -Descending

次に、チャンネルを win32_event_log.d/conf.yaml 構成ファイルに追加します。

logs:
  - type: windows_event
    channel_path: "<CHANNEL_1>"
    source: "<CHANNEL_1>"
    service: "<SERVICE>"
    sourcecategory: windowsevent

  - type: windows_event
    channel_path: "<CHANNEL_2>"
    source: "<CHANNEL_2>"
    service: "<SERVICE>"
    sourcecategory: windowsevent

<CHANNEL_X> パラメーターは、イベントの収集に使用する Windows チャンネル名に変更してください。 インテグレーションの自動処理パイプライン設定を利用するには、対応する source パラメーターを同じチャンネル名に設定します。

最後に、Agent を再起動します。

ログの収集に使用可能なパラメーターのリスト

パラメーター必須説明
typeログ入力ソースの種類。有効な値は、tcpudpfilewindows_eventdockerjournald です。
porttypetcp または udp の場合、ログをリスニングするポートを設定します。
pathtypefile または journald の場合、ログを収集するファイルパスを設定します。
channel_pathtypewindows_event の場合、ログを収集する Windows イベントチャンネルをリストします。
serviceログを所有しているサービスの名前。ご使用のサービスを Datadog APM でインスツルメントしている場合、これは同じサービス名にする必要があります。複数のデータタイプにわたって service を構成する場合は、統合サービスタグ付けの手順を確認してください。
sourceログを送信しているインテグレーションを定義する属性。既存のインテグレーションに由来するログでない場合、このフィールドはカスタムソース名にすることができます。ただし、関連して収集しているカスタムメトリクスがある場合は、そのネームスペースと一致させることをお勧めします。たとえば、myapp.request.countmyapp を使用します。
include_unitstypejournald の場合、対象とする journald ユニットのリスト。
exclude_pathtypefile で、path にワイルドカード文字が含まれている場合、ログ収集から除外する必要がある一致するファイルをリストします。6.18 以降の Agent バージョンで使用できます。
exclude_unitstypejournald の場合、対象としない journald ユニットのリスト。
sourcecategoryソース属性の絞り込みに使用される複数値属性。たとえば、source:mongodb, sourcecategory:db_slow_logs です。
start_positiontypefile の場合、Agent がファイルの読み取りを開始する位置を設定します。有効な値は beginningend です (デフォルト: end)。path にワイルドカード文字が含まれている場合、beginning はサポートされません。Agent v6.19/v7.19 に追加されました
tags収集される各ログに追加するタグのリスト (タグ付けの詳細はこちら)。

その他の参考資料