syslog_ng

syslog_ng

Linux Windows OS Supported

概要

Syslog-ng を構成して、ホスト、コンテナ、サービスからログを収集

セットアップ

ログの収集

  1. /etc/syslog-ng/syslog-ng.conf 内のシステムログとログファイルが収集されます。ソースが正しく定義されていることを確認してください。

    source s_src {
    system();
    internal();
    
    };
    

    ファイルを監視する場合は、次のソースを追加します。

    #########################
    # Sources
    #########################
    
    ...
    
    source s_files {
    file("path/to/your/file1.log",flags(no-parse),follow_freq(1),program_override("<program_name_file1>"));
    file("path/to/your/file2.log",flags(no-parse),follow_freq(1),program_override("<program_name_file2>"));
    
    };
    
  2. 正しいログ形式を設定します。

    #########################
    # Destination
    #########################
    
    ...
    
    # For Datadog platform:
    template DatadogFormat { template("YOURAPIKEY <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} ${SDATA:--} $MSG\n"); };
    destination d_datadog { tcp("intake.logs.datadoghq.com" port(10514) template(DatadogFormat)); };
    
  3. path セクションで出力を定義します。

    #########################
    # Log Path
    #########################
    
    ...
    
    log { source(s_src); source(s_files); destination(d_datadog); };
    
  4. (オプション) TLS 暗号化:

    • CA 証明書をダウンロードします。

      sudo apt-get install ca-certificates
      
    • 出力先の定義を次のように変更します。

      destination d_datadog { tcp("intake.logs.datadoghq.com" port(10516)     tls(peer-verify(required-trusted)) template(DatadogFormat)); };
      

    TLS のパラメーターの詳細、および syslog-ng が使用可能かどうかは、公式ドキュメントを参照してください。

  5. (オプション) ログにソースを設定します。ソースを設定するには、以下の形式を使用します (ソースが複数ある場合は、ファイルごとに形式の名前を変えてください)。

    template DatadogFormat { template("<API_KEY> <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [metas@0 ddsource=\"test\"] $MSG\n"); };
    

    ddtags 属性を使用してカスタムタグを追加することもできます。

    template DatadogFormat { template("<API_KEY> <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [metas@0 ddsource=\"test\" ddtags=\"env:test,user:test_user,<KEY:VALUE>\"] $MSG\n"); };
    
  6. syslog-ng を再起動します。

  1. /etc/syslog-ng/syslog-ng.conf 内のシステムログとログファイルが収集されます。ソースが正しく定義されていることを確認してください。

    source s_src {
    system();
    internal();
    
    };
    

    ファイルを監視する場合は、次のソースを追加します。

    #########################
    # Sources
    #########################
    
    ...
    
    source s_files {
    file("path/to/your/file1.log",flags(no-parse),follow_freq(1),program_override("<program_name_file1>"));
     file("path/to/your/file2.log",flags(no-parse),follow_freq(1),program_override("<program_name_file2>"));
    
    };
    
  2. 正しいログ形式を設定します。

    #########################
    # Destination
    #########################
    
    ...
    
    # For Datadog platform
    template DatadogFormat { template("YOURAPIKEY <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} ${SDATA:--} $MSG\n"); };
    destination d_datadog { tcp("tcp-intake.logs.datadoghq.eu" port(1883) template(DatadogFormat)); };
    
  3. path セクションで出力を定義します。

    #########################
    # Log Path
    #########################
    
    ...
    
    log { source(s_src); source(s_files); destination(d_datadog); };
    
  4. (オプション) TLS 暗号化:

    • CA 証明書をダウンロードします。

      sudo apt-get install ca-certificates
      
    • 出力先の定義を次のように変更します。

      destination d_datadog { tcp("tcp-intake.logs.datadoghq.eu" port(443)     tls(peer-verify(required-trusted)) template(DatadogFormat)); };
      

    TLS のパラメーターの詳細、および syslog-ng が使用可能かどうかは、公式ドキュメントを参照してください。

  5. syslog-ng を再起動します。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。