Datadog へのログの送信

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 で、ポート (telnet を使用しない安全な接続の場合はポート ) を使用します。

telnet intake.logs.datadoghq.com 10514

<DATADOG_API_KEY> Plain text log sent through TCP

telnet intake.logs.datadoghq.com 1883

<DATADOG_API_KEY> 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)"

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

DD_API_KEY=<DATADOG_API_KEY> DD_SITE="us3.datadoghq.com" 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 以上のログイベントは複数のエントリに分割されます。

その他の参考資料