パート3:Collectorの設定に関する一般的な問題のトラブルシューティング

このチュートリアルのパート 1 およびパート 2 では、Collector をインストールし、コードエディタを使用して Collector の設定を編集および適用する方法を学びました。チュートリアルの概要については、「チュートリアル:Linux ホスト上での Splunk Distribution of OpenTelemetry Collector の設定」を参照してください。

Collectorの設定は、間違ったフォーマットや無効な設定値など、さまざまな理由で適用に失敗することがあります。

このチュートリアルの最後となる3つ目のパートでは、sample.yamlの初期設定ファイルを編集して、自分で問題を生成および修正し、診断テクニックを使用します。

インデントの問題を修正する

インデントの問題は、Collector 設定トラブルの最も一般的な原因のひとつです。パート 1 で作成した sample.yaml ファイルを開き、[receivers] の下に次のスニペットを追加してください。

receivers:
syslog:
# Rest of the configuration

ファイルを保存し otelcol validate --config=sample.yaml を実行します。Collector の出力結果を確認してください。

Error: failed to get config: cannot unmarshal the configuration: 1 error(s) decoding:

* '' has invalid keys: syslog
2024/02/19 18:17:36 main.go:89: application run finished with error: failed to get config: cannot unmarshal the configuration: 1 error(s) decoding

これを修正するには、syslog のレシーバーの行をスペース2つでインデントし、セクション全体が以下のように読めるようにします:

receivers:
  syslog:
  otlp:
    protocols:
      grpc:
        endpoint: "${SPLUNK_LISTEN_INTERFACE}:4317"
      http:
        endpoint: "${SPLUNK_LISTEN_INTERFACE}:4318"

ファイルを保存し otelcol validate --config=sample.yaml を再度実行します。設定がエラーをスローしないことを確認してください。

設定のパイプラインをチェックする

Collector は、レシーバが定義済みであっても、設定内の他の場所でそのレシーバを使用していない場合にはエラーをスローしません。データがバックエンドに表示されない場合、これが原因で混乱することがよくあります。

現在の状態では、新しいレシーバがパイプラインに追加されていないため、Collector を実行してもデータは表示されません。修正するには、syslog レシーバを sample.yaml 構成ファイルの pipelines セクションに追加してください。

この編集の完了後のファイルは、以下のようになります:

extensions:
  health_check:
    endpoint: "${SPLUNK_LISTEN_INTERFACE}:13133"

receivers:
  syslog:
  otlp:
    protocols:
      grpc:
        endpoint: "${SPLUNK_LISTEN_INTERFACE}:4317"
      http:
        endpoint: "${SPLUNK_LISTEN_INTERFACE}:4318"

processors:
  batch:

exporters:
  otlp:
    endpoint: "${SPLUNK_GATEWAY_URL}:4317"
    tls:
      insecure: true

service:
  pipelines:
    traces:
      receivers:
      - otlp
      processors:
      - batch
      exporters:
      - otlp
    logs:
      receivers:
      - syslog
      exporters:
      - otlp
  extensions: [health_check]

最初に定義せずにパイプラインにコンポーネントを追加すると、Collector もエラーをスローします。 receivers セクションの下の syslog: を削除して、構成を再度検証してみてください。次の例のようなエラーが表示されます。

Error: service::pipelines::logs: references receiver "syslog" which is not configured
2024/02/19 18:37:42 main.go:89: application run finished with error: service::pipelines::logs: references receiver "syslog" which is not configured

健全性チェック拡張機能を使用してCollectorのステータスを確認する

次に、Collector がオンラインであることを確認してみます。正常性チェック拡張機能は、Collector のステータスを確認するために開くことができるローカル URL を提供します。Splunk Distribution of OpenTelemetry Collector では、この拡張機能がデフォルトでアクティブになっています。

Linux マシンで次の URL をブラウザで開き、Collector サービスのステータスを確認します: http://localhost:13133。すべて想定どおりに実行されている場合は、次のようなメッセージが表示されます。

{
   "status": "Server available",
   "upSince": "2020-11-11T04:12:31.6847174Z",
   "uptime": "49.0132518s"
}

内蔵ダッシュボードを使用してコレクターを監視する

Collector のステータスを確認したら、Splunk Observability Cloud にある組み込みダッシュボードを使用して、デプロイしたすべての Collector の状況を監視できます。ダッシュボードは metrics/internal パイプライン内の Prometheus レシーバから送信されたテレメトリを使用します。

内蔵のCollectorダッシュボードにアクセスするには、以下の手順に従います:

  1. Splunk Observability Cloud にログインします。

  2. 左のナビゲーションメニューで Dashboards を選択します。

  3. 検索バーを使用するか、ページを参照して、OpenTelementry Collectorタイルを見つけます。

  4. タイル内のリンクを選択して、内蔵ダッシュボードにアクセスします。

Collector ダッシュボードについて、詳しくは「Splunk Observability Cloud の組み込みダッシュボードで Collector を監視する」を参照してください。

カスタマーサポートを受けるためのレポートを作成する

すべてのトラブルシューティングが失敗した場合でも、カスタマーサポート用に情報を収集することができます。

The Splunk Distribution of OpenTelemetry Collectorには、システム情報を収集してファイルにバンドルするスクリプトが含まれており、お客様はこのファイルをカスタマーサポートあてに送ることができます。

/etc/otel/collector ディレクトリから、コマンドラインで splunk-support-bundle.sh スクリプトを実行します。ターミナルには、次の例のような出力が表示されます。

INFO: Creating temporary directory...
INFO: Checking for commands...
INFO: Getting configuration...
INFO: Getting status...
INFO: Getting logs...
WARN: Permission denied to directory (/var/log/td-agent).
INFO: Getting metric information...
INFO: Getting zpages information...
INFO: Getting host information...
INFO: Creating tarball...
INFO: Support bundle available at: /tmp/splunk-support-bundle-1708263625.tar.gz
      Please attach this to your support case

問題の説明を添えて、カスタマーサポート宛てに tar ファイルを送付してください。ファイル内の情報は、サポートエンジニアがテスト環境で問題を再現する際に役立ちます。

さらに詳しく

これでチュートリアルは終了です。Collector のインストールおよび設定後の基本的なトラブルシューティングについてすべて学習しました。

このチュートリアルのコンセプトの詳細については、以下のトピックを参照してください: