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 をインストールします:

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

# 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 プラグインを追加します:

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

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

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

4. OpenTelemetry Collector を設定する

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

 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]

トラブルシューティング

__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____

_________ __ ______ _____________ _____ _________

_________ __ ___________ _________ ___ ____ _____ _____

  • ___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________

  • ____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______