メインコンテンツまでスキップ
Sumo Logic Japanese

Telegraf を使用したメトリクスの収集

Telegraf とは、メトリクスを収集してレポートするためのプラグイン駆動型のサーバ エージェントです。CollectD、Logstash、FluentD の場合と同じように、入力 -> 出力のフローに従います。さまざまなシステムからメトリクスを読み取る多数の入力プラグインとデータの送信先となる多数の出力プラグインで構成されます。Sumo Logic は現在のところ出力プラグインがありませんが、データを Sumo Logic に配信するために使用できる既存のプラグインは複数あります。

シリアライザおよび HTTP 出力プラグインを使用した Carbon 2.0 メトリクスの収集

このセクションでは、Telegraf HTTP 出力プラグインを使用して Telegraf メトリクスを Carbon 2.0 形式に変換し、Sumo Logic Hosted Collector に送信する手順について説明します。

この方法は、Telegraf から Graphite 形式のメトリクスを収集する場合に使用することをお勧めします。  この方法は、設定の手間が少なく、Carbon 2.0 メトリクスのクエリが簡単になります。 

  1. Hosted CollectorHTTP Source をセットアップします。
  2. データを HTTP Source に出力するように Telegraf をセットアップします。

    HTTP 出力プラグインを使用する Telegraf エージェントの設定例を次に示します。

    [[outputs.http]]
      url = "https://collectors.sumologic.com/rec...ttp/XXXXXXXXXX"
      data_format = "carbon2"
      [outputs.http.headers]
        Content-Type = "application/vnd.sumologic.carbon2"
        X-Sumo-Category = "prod/someapp/metrics"

この設定で、入力プラグインから Telegraf に取り込まれるデータはすべて Sumo Logic に送信できます。次の例で:

  • url は、Sumo Logic HTTP Source の URL です。
  • data_format は、Carbon 2.0 シリアライザ プラグインを使用するように Telegraf を設定します。これにより、Telegraf メトリクス形式が Carbon 2.0 に変換されます。
  • Content-Type ヘッダーは、Sumo Logic HTTP Source に Carbon2 データを受信していることを伝えるために必要です。
  •  X-Sumo-Category は、収集されたメトリクスの Source Category を prod/someapp/metrics に設定します。  この設定により、クエリで次の内容を指定して、収集されたメトリクスを検索できます。

    _sourceCategory=prod/someapp/metrics

Graphite 出力プラグインを使用した Graphite メトリクスの収集

Telegraf には、メトリクスを Sumo Logic に配信できる Graphite 出力プラグインがあります。ストリーミング メトリクス Source を設定して Installed Collector をセットアップし、メトリクスが Source に送信されるように Telegraf を設定できます。フローは次のようになります。

  1. Installed Collectorストリーミング メトリクス Source をセットアップします。
  2. データをそのストリーミング メトリクス Source に出力するように Telegraf をセットアップします。

    Graphite 出力プラグインを使用する Telegraf エージェントの設定例を次に示します。

    [[outputs.graphite]]
      servers = ["localhost:2003"]
      data_format = "graphite"

上記の設定で、入力プラグインから Telegraf に取り込まれるデータはすべて Sumo Logic に送信できます。この例で、servers プロパティは Installed Collector への URL です。この例では、Telegraf エージェントと Sumo Collector が同じボックスにあることを前提としていますが、同じボックスにある必要はありません。Installed Collector が正しく Telegraf からデータを取り込めるように、data_formatgraphite に送信する必要があります。その他の設定可能なパラメータについては、「Graphite Output plugin (Graphite 出力プラグイン)」を参照してください。

Windows での Graphite 出力に関する問題

Syslog データでキャリッジ リターンまたは改行文字 (CR LF または \r \n) が欠落している場合、次のメッセージが Collector の log ディレクトリにある collector.log ファイルに書き込まれます。

2018-12-18 03:22:52,091 -0500 [Thread-737420] ERROR com.sumologic.scala.collector.input.syslog.EventInput - Received event: Exception. server com.sumologic.scala.collector.input.syslog.TCPSyslogServer@5725403c, socketAddress /10.48.0.14:63557

java.net.SocketTimeoutException: Read timed out

        at java.net.SocketInputStream.socketRead0(Native Method)

        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

このメッセージは、Collector への接続が行末文字の待機中にタイムアウトになった場合に生成されます。この問題は、Syslog データにキャリッジ リターンまたは改行文字を含めることで解決できます。

この問題は、Graphite 出力プラグインの既知の問題に関連しています。 

https://github.com/influxdata/telegraf/issues/3510

HTTP 出力プラグインを使用した Graphite メトリクスの収集

Telegraf には、メトリクスを Sumo Logic に配信できる HTTP 出力プラグインがあります。Hosted Collector と HTTP Source を使用して、データを Sumo Logic の HTTP Source にデータを送信するように Telegraf を設定できます。フローは次のようになります。

  1. Hosted CollectorHTTP Source をセットアップします。
  2. データを HTTP Source に出力するように Telegraf をセットアップします。

HTTP 出力プラグインを使用する Telegraf エージェントの設定例を次に示します。

[[outputs.http]]
  url = "https://collectors.sumologic.com/rec...ttp/XXXXXXXXXX"
  data_format = "graphite"
  [outputs.http.headers]
    Content-Type = "application/vnd.sumologic.graphite"
    X-Sumo-Category = “prod/someapp/metrics”

上記の設定で、入力プラグインから Telegraf に取り込まれるデータはすべて Sumo Logic に送信できます。次の例で:

  •  HTTP Source の場合、url プロパティは URL です。
  • data_format は、graphite に設定されています。
  • Content-Type ヘッダーは、Sumo Logic HTTP Source に Graphite データを受信していることを伝えるために必要です。
  • Sumo Logic メタデータを制御するために追加のヘッダーも設定できます。この例では、X-Sumo-Categoryprod/someapp/metrics に設定するため、Sumo Logic で _sourceCategory=prod/someapp/metrics を使用してこれらのメトリクスを見つけることができます。
  • この記事は役に立ちましたか?