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

Datadog へのログの送信

概要

Datadog ログ管理は、アプリケーションからログを収集するために使用されます。このページでは、ログを Datadog に取得する方法を説明します。はじめに、以下を確認してください。

  1. Datadog アカウントを作成し、Datadog ログ管理を有効にします (まだ実行していない場合)。
  2. 以下のコマンドを使用して Vagrant Ubuntu 16.04 仮想マシンを設定します。Vagrant の詳細については、Getting Started ページを参照してください。

    vagrant init ubuntu/xenial64
    vagrant up
    vagrant ssh

確認したら、これ以降のセクションに従って以下の方法を学びます。

手動でのログの送信

手動でログを送信するには、Vagrant 仮想マシンで telnet コマンドと Datadog API キーを使用します。

ログは全文メッセージにすることができます。

セキュア TCP エンドポイントは (または非セキュア接続の場合はポート ) です 。

telnet intake.logs.datadoghq.com 10514

<DATADOG_API_キー> TCP を介して送信されるプレーンテキストログ

セキュア TCP エンドポイントは (または非セキュア接続の場合はポート ) です 。

telnet tcp-intake.logs.datadoghq.eu 1883

<DATADOG_API_キー> TCP を介して送信されるプレーンテキストログ

これにより、Log Explorer ページには以下の結果が生成されます。

あるいは、Datadog によって自動的に解析される以下の JSON オブジェクトが生成されます。

telnet intake.logs.datadoghq.com 10514

<DATADOG_API_キー> {"message":"TCP 経由で直接送信される JSON 形式ログ", "ddtags":"env:dev", "ddsource":"terminal", "hostname":"gs-hostame", "service":"user"}
telnet tcp-intake.logs.datadoghq.eu 1883

<DATADOG_API_キー> {"message":"TCP 経由で直接送信される JSON 形式ログ", "ddtags":"env:dev", "ddsource":"terminal", "hostname":"gs-hostame", "service":"user"}

これにより、Log Explorer ページには以下の結果が生成されます。

ファイルからのログの送信

Agent のインストール

Vagrant ホストに Datadog Agent をインストールするには、Datadog API キーで更新した 1 行のインストールコマンドを使用します。

DD_API_KEY=<DATADOG_API_KEY>  bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"
DD_API_KEY=<DATADOG_API_KEY> DD_SITE="datadoghq.eu" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"

検証

ステータスコマンド sudo datadog-agent status を使用して、Agent が実行されていることを確認します。まだログ収集を有効にしていないので、以下のように表示されるはずです。

==========
Logs Agent
==========

  Logs Agent is not running

: 数分経過したら、Datadog で Infrastructure List をチェックして、Agent がアカウントに接続されていることを確認できます。

ログ収集の有効化

Agent によるログ収集を有効にするには、/etc/datadog-agent/datadog.yaml にある datadog.yaml 構成ファイルを編集し、logs_enabled:true と設定します。

## @param logs_enabled - boolean - optional - default: false
## logs_enabled を true に設定して Datadog Agent ログ収集を有効化する。
#
logs_enabled: true

カスタムファイルの監視

ログファイルの作成

カスタムファイルからログを収集するには、まずファイルを作成し、それに 1 行のログを追加します。

$ touch log_file_to_monitor.log

$ echo "ログの最初の行" >> log_file_to_monitor.log

Agent の構成

Agent がこのログファイルを監視するように指定するには、以下のようにします。

  1. Agent の構成ディレクトリ内に新しい構成フォルダーを作成します。

    sudo mkdir /etc/datadog-agent/conf.d/custom_log_collection.d/
  2. この新しい構成フォルダー内に構成ファイルを作成します。

    sudo touch /etc/datadog-agent/conf.d/custom_log_collection.d/conf.yaml
  3. 以下の内容をコピーして、この conf.yaml ファイル内に貼り付けます。

    logs:
        - type: file
          path: /home/ubuntu/log_file_to_monitor.log
          source: custom
          service: user
  4. 次のように入力して Agent を再起動します。sudo service datadog-agent restart

検証

ログ構成が正しければ、ステータスコマンド sudo datadog-agent status によって以下のように出力されます。

==========
Logs Agent
==========
    LogsProcessed: 0
    LogsSent: 0

  custom_log_collection
  ---------------------
    Type: file
    Path: /home/ubuntu/log_file_to_monitor.log
    Status: OK
    Inputs: /home/ubuntu/log_file_to_monitor.log

ファイルへの新しいログの追加

すべて適切に構成されたので、新しいエントリをログファイルに追加して、Datadog で確認します。

$ echo "ログファイルのログの新しい行" >> log_file_to_monitor.log

これにより、Log Explorer ページには以下の結果が生成されます。

: Datadog Agent を使用している場合、256KB 以上のログイベントは複数のエントリに分割されます。

その他の参考資料