Telegraf Input プラグインと OpenTelemetry によりサービスを監視
Telegraf モニターには、この Splunk Observability Cloud インテグレーションを使用します。メリット、インストール、設定、メトリクスを参照してください
Splunk Observability Cloud でネイティブ OpenTelemetry を使用し、Telegraf でサービスを監視するには、サービスの Telegraf Input プラグインをインストールし、OTLP 経由で Splunk Opentelemetry Collector にメトリクスをプッシュします。
メリット
インテグレーションを設定すると、これらの機能にアクセスできるようになります:
-
メトリクスを表示します。独自のカスタムダッシュボードを作成することができ、ほとんどのモニターは組み込みのダッシュボードも提供しています。ダッシュボードの詳細については、「Splunk Observability Cloudでダッシュボードを表示する」を参照してください。
-
Infrastructure Monitoring に表示される環境内の物理サーバー、仮想マシン、AWS インスタンス、およびその他リソースのデータ駆動型の視覚化を表示します。ナビゲータの詳細については、「Splunk Infrastructure Monitoring でナビゲーターを使用する」を参照してください。
-
Metric Finder へアクセスし、モニターから送信されたメトリクスを検索します。詳細は、「メトリクス・ファインダーとメタデータ・カタログを検索する」を参照してください。
設定
以下のステップに従って、OTel Collector でTelegraf メトリクスをスクレイピングします:
-
Telegraf をインストールします。
-
サービスの Telegraf Input プラグインをセットアップします。
-
Telegraf OpenTelemetry Output プラグインをセットアップします。
-
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]
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______