Telegraf Input プラグインと OpenTelemetry によりサービスを監視

Telegraf モニターには、この Splunk Observability Cloud インテグレーションを使用します。メリット、インストール、設定、メトリクスを参照してください

Splunk Observability Cloud でネイティブ OpenTelemetry を使用し、Telegraf でサービスを監視するには、サービスの Telegraf Input プラグインをインストールし、OTLP 経由で Splunk Opentelemetry Collector にメトリクスをプッシュします。

注: このセットアップは Linux Ubuntu OS 向けに設計されていますが、Debian 系の Linux OS を実行している任意のマシンでも再現できます。これらの手順は、他の OS(MacOS または Windows)では機能しない場合があります。

メリット

インテグレーションを設定すると、これらの機能にアクセスできるようになります:

設定

以下のステップに従って、OTel Collector でTelegraf メトリクスをスクレイピングします:

  1. Telegraf をインストールします。

  2. サービスの Telegraf Input プラグインをセットアップします。

  3. Telegraf OpenTelemetry Output プラグインをセットアップします。

  4. OpenTelemetry Collector を設定します。

1. Telegraf をインストールする

以下のコマンドを実行して、InfluxData リポジトリから Telegraf をインストールします:

SHELL
curl --silent --location -O \ https://repos.influxdata.com/influxdata-archive.key \ && echo "943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f6c8e8dac7515  influxdata-archive.key" \
| sha256sum -c - && cat influxdata-archive.key \
| gpg --dearmor \
| sudo tee /etc/apt/trusted.gpg.d/influxdata-archive.gpg > /dev/null \
&& echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' \
| sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install telegraf

2. サービスの Telegraf Input プラグインをセットアップする

次に、監視するサービスの Telegraf Input プラグインをインストールします。使用可能なプラグインには、Chrony、Consul、Docker、Elasticsearch、Fluentd、GitHub、Jenkins、RabbitMQ、SQL などがあります。使用可能なプラグインの完全なリストについては、GitHub の「Telegraf Input プラグイン」を参照してください。

例えば、Exec Input プラグインで実行コマンドをインターバルごとに監視し、その出力からメトリクスを解析したい場合は、次のようなセットアップを使用します:

DEFAULT
# Read metrics from one or more commands that can output to stdout
[[inputs.exec]]

## Commands array
commands = ["sh /testfolder/testscript.sh"]
timeout = "30s"
data_format = "influx"

## Environment variables
## Array of "key=value" pairs to pass as environment variables
## e.g. "KEY=value", "USERNAME=John Doe",
## "LD_LIBRARY_PATH=/opt/custom/lib64:/usr/local/libs"
# environment = []

## Measurement name suffix
## Used for separating different commands
# name_suffix = ""

## Ignore Error Code
## If set to true, a non-zero error code in not considered an error and the
## plugin will continue to parse the output.
# ignore_error = false

3. Telegraf OpenTelemetry Output プラグインをセットアップする

次に、Telegraf 設定ファイルに OTel Output プラグインを追加します:

DEFAULT
# Send OpenTelemetry metrics over gRPC
[[outputs.opentelemetry]]

設定ファイルは通常、./etc/telegraf/telegraf.d ディレクトリにあります。

詳細については、GitHub の Telegraf に記載されている「OpenTelemetry Output プラグイン」を参照してください。

4. OpenTelemetry Collector を設定する

以下の設定を OTel Collector に追加して、Telegraf インストールからメトリクスを取得します:

YAML
receivers:
    otlp:
      protocols:
        http:
        grpc:
    signalfx:

 exporters:
    signalfx:
       access_token: "SPLUNK_TOKEN"
       realm: "us0"

service:
  pipelines:
      metrics:
          receivers: [otlp]
          exporters: [signalfx]
      metrics/internal:
          receivers: [signalfx]
          processors:
          exporters: [signalfx]

トラブルシューティング

If you are a Splunk Observability Cloud customer and are not able to see your data in Splunk Observability Cloud, you can get help in the following ways.

Available to Splunk Observability Cloud customers

Available to prospective customers and free trial users

  • Ask a question and get answers through community support at Splunk Answers.

  • Join the Splunk community #observability Slack channel to communicate with customers, partners, and Splunk employees worldwide.