collectdおよびOpenTelemetryを使ってホストを監視する 🔗
Splunk Observability CloudでネイティブのOpenTelemetryを使用してcollectdでインフラストラクチャを監視するには、このドキュメントの説明に従ってホストにcollectdデーモンをインストールし、Collectorインスタンスに接続します。
メリット 🔗
インテグレーションを設定すると、これらの機能にアクセスできるようになります:
メトリクスを表示します。独自のカスタム・ダッシュボードを作成することができ、ほとんどのモニターは組み込みのダッシュボードも提供しています。ダッシュボードについては、Splunk Observability Cloudでダッシュボードを表示する を参照してください。
Infrastructure Monitoring に表示される環境内の物理サーバー、仮想マシン、AWS インスタンス、およびその他のリソースのデータ駆動型の視覚化を表示します。ナビゲーターについては、Splunk Infrastructure Monitoring でナビゲーターを使用する を参照してください。
Metric Finder にアクセスして、モニターから送信されたメトリクスを検索します。詳細については、メトリクス・ファインダーとメタデータ・カタログを検索する を参照してください。
設定 🔗
以下の手順に従ってホストにcollectdデーモンをインストールし、OpenTelemetry Collectorに接続します:
collectdをインストールして設定する
OpenTelemetry Collector を設定する
ビルドして実行する
1. collectd をインストールして設定する 🔗
以下の手順に従ってcollectdデーモンをインストールし、設定します:
collectdをDebianパッケージまたはYumパッケージとしてホストにインストールする
collectd/metrics.conf を使用して、ディスク空き容量に関連するメトリクスを取り込むようにデーモンを設定する
collectd/http.conf を使用して、HTTP経由でデータを送信するようにデーモンを設定する
この例では、ホストはUbuntu 24.04のDockerイメージで表されます。
services:
collectd:
build: collectd
container_name: collectd
depends_on:
- otelcollector
volumes:
- ./collectd/http.conf:/etc/collectd/collectd.conf.d/http.conf
- ./collectd/metrics.conf:/etc/collectd/collectd.conf.d/metrics.conf
# OpenTelemetry Collector
otelcollector:
image: quay.io/signalfx/splunk-otel-collector:latest
container_name: otelcollector
command: ["--config=/etc/otel-collector-config.yml", "--set=service.telemetry.logs.level=debug"]
volumes:
- ./otel-collector-config.yml:/etc/otel-collector-config.yml
httpとメトリクスの設定ファイルは次のようになります:
# http.conf
# The minimal configuration required to have collectd send data to an OpenTelemetry Collector
# with a collectdreceiver deployed on port 8081.
LoadPlugin write_http
<Plugin "write_http">
<Node "collector">
URL "http://otelcollector:8081"
Format JSON
VerifyPeer false
VerifyHost false
</Node>
</Plugin>
# metrics.conf
# An example of collectd plugin configuration reporting free disk space on the host.
<LoadPlugin df>
Interval 3600
</LoadPlugin>
<Plugin df>
ValuesPercentage true
</Plugin>
2. Configure the OpenTelemetry Collector 🔗
CollectD レシーバー を使用してHTTP経由でcollectdデーモンからのトラフィックをリッスンするようにCollectorインスタンスを設定します:
receivers:
collectd:
endpoint: "0.0.0.0:8081"
exporters:
debug:
verbosity: detailed
service:
pipelines:
metrics:
receivers: [collectd]
exporters: [debug]
注意
必ず 0.0.0.0
を使用してDockerネットワークインターフェイス経由でポート8081をエクスポーズし、両方のDockerコンテナが相互に作用できるようにしてください。
3. ビルドして実行する 🔗
手順にしたがってサンプルを実行し、docker-composeのセットアップを開始し、collectdコンテナをビルドします:
$> docker compose up --build
Collectorがメトリクスを受信し、デバッグエクスポーターを介してそれらを stdout
に記録していることを確認します:
$> docker logs otelcollector
典型的な出力は次の通りです:
StartTimestamp: 1970-01-01 00:00:00 +0000 UTC
Timestamp: 2024-12-20 19:55:44.006000128 +0000 UTC
Value: 38.976566
Metric #17
Descriptor:
-> Name: percent_bytes.reserved
-> Description:
-> Unit:
-> DataType: Gauge
NumberDataPoints #0
Data point attributes:
-> plugin: Str(df)
-> plugin_instance: Str(etc-hosts)
-> host: Str(ea1d62c7a229)
-> dsname: Str(value)
StartTimestamp: 1970-01-01 00:00:00 +0000 UTC
Timestamp: 2024-12-20 19:55:44.006000128 +0000 UTC
Value: 5.102245
{"kind": "exporter", "data_type": "metrics", "name": "debug"}
トラブルシューティング 🔗
Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。
Splunk Observability Cloudをご利用のお客様
Splunk サポートポータル でケースを送信する
Splunkサポート に連絡する
見込み客および無料トライアルユーザー様
Splunk Answers のコミュニティサポートで質問し、回答を得る
Join the Splunk #observability user group Slack channel to communicate with customers, partners, and Splunk employees worldwide. To join, see Chat groups in the Get Started with Splunk Community manual.