ThousandEyes と Splunk Observability Cloud の統合
120 minutes Author Alec Chamberlainこのワークショップでは、ThousandEyes と Splunk Observability Cloud を統合して、シンセティック監視とオブザーバビリティデータ全体にわたる統一された可視性を提供する方法を説明します。
学習内容
このワークショップを終了すると、以下のことができるようになります:
- Kubernetesにコンテナ化されたワークロードとしてThousandEyes Enterprise Agentをデプロイする
- OpenTelemetryを使用してThousandEyesメトリクスをSplunk Observability Cloudと統合する
- ThousandEyesとSplunk APMが同じリクエストにリンクできるように分散トレーシングを構成する
- 内部Kubernetesサービスと外部依存関係のシンセティックテストを作成する
- Splunk Observability Cloudダッシュボードでテスト結果を監視する
- ThousandEyesからSplunk APMトレースに移動し、元のThousandEyesテストに戻る
セクション
コアパス
- 概要 - ThousandEyesエージェントの種類とアーキテクチャを理解する
- デプロイメント - KubernetesにEnterprise Agentをデプロイする
- Splunk 統合 - ThousandEyesメトリクスをSplunk Observability Cloudにストリーミングする
- 分散トレーシング - ThousandEyesとSplunk APM間のサポートされた双方向ドリルダウンを有効にする
シナリオ拡張
- Kubernetes テスト - シンセティック監視とトレース相関の両方に役立つ内部テストを作成する
- RUM - エンドユーザー調査のためにThousandEyesネットワークシグナルとSplunk RUMを相関させる
サポート
- トラブルシューティング - よくある問題と解決策
ヒント
このシナリオは2つの接続された統合と考えてください:OpenTelemetryストリームはThousandEyesメトリクスをSplunkに取り込み、分散トレーシングはSplunk APMからThousandEyesに戻る逆方向のパスを提供します。
前提条件
- Kubernetesクラスター(v1.16以上)
- 選択したnamespaceにリソースをデプロイするためのRBAC権限
- Enterprise AgentトークンにアクセスできるThousandEyesアカウント
- インジェストトークンへのアクセスとAPMルックアップ用のAPIトークンを作成する権限を持つSplunk Observability Cloudアカウント
統合のメリット
ThousandEyesをSplunk Observability Cloudに接続することで、以下のメリットが得られます:
- 🔗 統一された可視性: シンセティックテスト結果をRUM、APMトレース、インフラストラクチャメトリクスと相関させる
- 📊 強化されたダッシュボード: ThousandEyesデータを既存のSplunkオブザーバビリティメトリクスと並べて可視化する
- 🔄 双方向ドリルダウン: ThousandEyes Service MapからSplunkトレースに移動し、Splunk APMからリクエストを生成したThousandEyesテストに戻る
- 🚨 一元化されたアラート: Splunk内でThousandEyesテスト結果に基づいてアラートを構成する
- 🔍 根本原因分析: 問題がネットワーク関連(ThousandEyes)かアプリケーション関連(APM)かを迅速に特定する
- 📈 包括的な分析: Splunkの強力な分析エンジンでシンセティック監視のトレンドを分析する
- 概要
</a> </div> <div class="card-content-text"> Kubernetes、ThousandEyes、Splunk Observability Cloud にまたがるワークショップアーキテクチャと ThousandEyes エージェントモデルについて理解します。 </div> </div>- デプロイメント
</a> </div> <div class="card-content-text"> ThousandEyes Enterprise Agent を Kubernetes にデプロイし、ThousandEyes Cloud に正しく登録されることを確認します。 </div> </div>- Splunk 連携
</a> </div> <div class="card-content-text"> ThousandEyes から Splunk Observability Cloud への OpenTelemetry ベースのメトリクスストリームを設定します。 </div> </div>- 分散トレーシング
</a> </div> <div class="card-content-text"> ThousandEyes と Splunk APM 間でサポートされているトレース相関を有効にし、調査中にチームが両製品間を移動できるようにします。 </div> </div>- Kubernetes テスト
</a> </div> <div class="card-content-text"> シンセティック監視とトレース相関の両方に役立つ、内部 Kubernetes テストと外部依存関係テストを作成します。 </div> </div>- RUM
</a> </div> <div class="card-content-text"> ThousandEyes のネットワークメトリクスと Splunk RUM を関連付けて、エンドユーザー体験とネットワークの問題を一緒に調査できるようにします。 </div> </div>- トラブルシューティング
</a> </div> <div class="card-content-text"> ThousandEyes シナリオにおけるデプロイメント、接続性、メトリクスストリーミング、トレース相関の一般的な問題を診断します。 </div> </div>ThousandEyes 統合のサブセクション
概要
10 minutesThousandEyes エージェントの種類
Enterprise Agents
Enterprise Agentsは、お客様のインフラストラクチャ内にデプロイするソフトウェアベースの監視エージェントです。以下の機能を提供します:
- 内部から外部への可視性: 内部ネットワークから外部サービスへの監視とテスト
- カスタマイズ可能な配置: ユーザーやアプリケーションが存在する場所にデプロイ
- 完全なテスト機能: HTTP、ネットワーク、DNS、音声、その他のテストタイプ
- 継続的な監視: スケジュールされたテストを実行する常時稼働エージェント
このワークショップでは、Enterprise AgentをKubernetesクラスター内のコンテナ化されたワークロードとしてデプロイします。
Endpoint Agents
Endpoint Agentsは、エンドユーザーデバイス(ラップトップ、デスクトップ)にインストールされる軽量エージェントで、以下の機能を提供します:
- 実際のユーザー視点: 実際のユーザーエンドポイントからの監視
- ブラウザベースの監視: リアルユーザーエクスペリエンスメトリクスの取得
- セッションデータ: ユーザーの視点からのアプリケーションパフォーマンスに関する詳細なインサイト
このワークショップでは、Enterprise Agent のデプロイのみを対象としています。
アーキテクチャ
graph LR subgraph k8s["Kubernetes Cluster"] secret["Secret<br/>te-creds"] agent["ThousandEyes<br/>Enterprise Agent<br/>Pod"] subgraph apps["Application Pods"] api["API Gateway<br/>Pod"] payment["Payment Service<br/>Pod"] auth["Auth Service<br/>Pod"] end subgraph svcs["Services"] api_svc["api-gateway<br/>Service"] payment_svc["payment-svc<br/>Service"] auth_svc["auth-service<br/>Service"] end api_svc --> api payment_svc --> payment auth_svc --> auth secret -.-> agent agent -->|"HTTP Tests"| api_svc agent -->|"HTTP Tests"| payment_svc agent -->|"HTTP Tests"| auth_svc end external["External<br/>Services"] agent --> external subgraph te["ThousandEyes Platform"] te_cloud["ThousandEyes<br/>Cloud"] te_api["API<br/>v7/stream"] te_cloud <--> te_api end agent -->|"Test Results"| te_cloud subgraph splunk["Splunk Observability Cloud"] otel["OpenTelemetry<br/>Collector"] metrics["Metrics"] dashboards["Dashboards"] apm["APM/RUM"] alerts["Alerts"] otel --> metrics otel --> dashboards metrics --> apm dashboards --> alerts end te_cloud -->|"OTel/HTTP metrics"| otel te_cloud -->|"Trace lookup"| apm apm -->|"Deep links to test"| te_cloud user["DevOps/SRE<br/>Team"] user -.-> te_cloud user -.-> dashboards user -.-> agent style k8s fill:#e1f5ff,stroke:#0288d1,stroke-width:2px style apps fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px style svcs fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px style agent fill:#ffeb3b,stroke:#f57c00,stroke-width:2px style secret fill:#ffcdd2,stroke:#c62828,stroke-width:2px style api fill:#e1bee7,stroke:#7b1fa2,stroke-width:1px style payment fill:#e1bee7,stroke:#7b1fa2,stroke-width:1px style auth fill:#e1bee7,stroke:#7b1fa2,stroke-width:1px style api_svc fill:#ce93d8,stroke:#7b1fa2,stroke-width:1px style payment_svc fill:#ce93d8,stroke:#7b1fa2,stroke-width:1px style auth_svc fill:#ce93d8,stroke:#7b1fa2,stroke-width:1px style external fill:#c8e6c9,stroke:#388e3c,stroke-width:2px style te fill:#fff9c4,stroke:#f57f17,stroke-width:2px style te_cloud fill:#ffecb3,stroke:#f57f17,stroke-width:2px style te_api fill:#ffe082,stroke:#f57f17,stroke-width:2px style splunk fill:#ff6e40,stroke:#d84315,stroke-width:2px style otel fill:#ff8a65,stroke:#d84315,stroke-width:2px style metrics fill:#ffccbc,stroke:#d84315,stroke-width:1px style dashboards fill:#ffccbc,stroke:#d84315,stroke-width:1px style apm fill:#ffccbc,stroke:#d84315,stroke-width:1px style alerts fill:#ffccbc,stroke:#d84315,stroke-width:1px style user fill:#b2dfdb,stroke:#00695c,stroke-width:2pxアーキテクチャコンポーネント
1. Kubernetes クラスター
- Secret (te-creds): 認証用のbase64エンコードされた
TEAGENT_ACCOUNT_TOKENを保存 - ThousandEyes Enterprise Agent Pod:
- コンテナイメージ:
thousandeyes/enterprise-agent:latest - ホスト名:
te-agent-aleccham(カスタマイズ可能) - セキュリティ権限:
NET_ADMIN、SYS_ADMIN(ネットワークテストに必要) - メモリ割り当て: 2GBリクエスト、3.5GB上限
- ネットワークモード: IPv4のみ(環境変数
TEAGENT_INET: "4"で設定) - イメージプルポリシー:
Always(最新イメージのプルを保証) - Initコマンド:
/sbin/my_init(エージェントの適切な初期化に必要)
- コンテナイメージ:
- 内部サービス: REST API、マイクロサービス、データベース、gRPCサービスを含むKubernetesワークロード
2. テスト対象
- 内部サービス: Kubernetesクラスター内のサービスを監視
- 外部サービス: 以下のような外部依存関係をテスト:
- 決済ゲートウェイ(Stripe、PayPal)
- サードパーティAPI
- SaaSアプリケーション
- CDNエンドポイント
- 公開ウェブサイト
3. ThousandEyes Platform
- ThousandEyes Cloud: 以下のための中央プラットフォーム:
- エージェントの登録と管理
- テストの設定とスケジューリング
- メトリクスの収集と集約
- 組み込みアラートエンジン
- ThousandEyes API: プログラムによるアクセスのためのRESTful API(v7/streamエンドポイント)
4. テストタイプとメトリクス
Enterprise Agentは以下を実行します:
- HTTP/HTTPS テスト: ウェブページの可用性、応答時間、ステータスコード
- DNS テスト: 名前解決時間、レコード検証
- ネットワーク層テスト: レイテンシ、パケットロス、パス可視化
- Voice/RTP テスト: 音声トラフィックの品質メトリクス
収集されるメトリクスには以下が含まれます:
- HTTPサーバー可用性(%)
- スループット(bytes/s)
- リクエスト時間(秒)
- ページロード完了率(%)
- エラーコードと失敗理由
5. Splunk Observability Cloud との統合
- OpenTelemetry Metrics Stream:
- エンドポイント:
https://ingest.{realm}.signalfx.com/v2/datapoint/otlp - プロトコル: HTTPまたはgRPC
- フォーマット: Protobuf
- 認証:
X-SF-Tokenヘッダー - シグナルタイプ: Metrics(OpenTelemetry v2)
- エンドポイント:
- 分散トレーシング統合:
- ThousandEyesテストタイプ: 分散トレーシングが有効な HTTP Server または API
- ThousandEyesコネクタターゲット:
https://api.{realm}.signalfx.com - 認証:
X-SF-TokenヘッダーにSplunk API トークン - 結果: ThousandEyesは関連するSplunk APMトレースを開くことができ、Splunk APMトレースは元のThousandEyesテストにリンクバックできます
- オブザーバビリティ機能:
- Metrics: ThousandEyesデータのリアルタイム可視化
- Dashboards: 統合ビューを備えた事前構築済みThousandEyesダッシュボード
- APM/RUM 統合: シンセティックテストとアプリケーショントレースおよびリアルユーザーモニタリングの相関
- Alerting: 相関ルールを備えた一元化されたアラート管理
6. データフロー
- エージェントがKubernetes Secretからのトークンを使用して認証
- エージェントが内部および外部ターゲットに対してスケジュールされたテストを実行
- テスト結果がThousandEyes Cloudに送信
- ThousandEyesがOpenTelemetryプロトコルを介してSplunkにメトリクスをストリーミング
- 分散トレーシングが有効なHTTP ServerおよびAPIテストの場合、ThousandEyesはリクエストに
b3、traceparent、tracestateヘッダーを挿入 - 計装されたアプリケーションが結果のトレースをSplunk APMに送信
- ThousandEyesは関連するSplunkトレースを開くことができ、Splunk APMは元のThousandEyesテストにリンクバック可能
- DevOps、ネットワーク、アプリケーションチームが調査中に両方のビューで協力
テスト機能
このデプロイにより、以下が可能になります:
- ✅ 内部サービスのテスト: クラスター内からKubernetesサービス、API、マイクロサービスを監視
- ✅ 外部依存関係のテスト: 決済ゲートウェイ、サードパーティAPI、SaaSプラットフォームへの接続性を検証
- ✅ パフォーマンスの測定: クラスターの視点からレイテンシ、可用性、パフォーマンスメトリクスを取得
- ✅ 問題のトラブルシューティング: 問題がインフラストラクチャ、ネットワークパス、または計装されたアプリケーションサービスのいずれに起因するかを特定
注意
これはThousandEyesエージェントの公式にサポートされたデプロイ設定ではありません。ただし、本番環境に近い環境でテストされており、非常にうまく動作します。
デプロイメント
20 minutesこのセクションでは、KubernetesクラスターにThousandEyes Enterprise Agentをデプロイする手順を説明します。
コンポーネント
デプロイメントは2つのファイルで構成されています:
1. シークレットファイル (
credentialsSecret.yaml)ThousandEyesエージェントトークン(base64エンコード済み)を含みます。このシークレットは、エージェントをThousandEyes Cloudで認証するためにデプロイメントから参照されます。
2. デプロイメントマニフェスト (
thousandEyesDeploy.yaml)以下の主要な設定でEnterprise AgentのPod構成を定義します:
- Namespace:
te-demo(必要に応じてカスタマイズ) - Image: Docker Hubの
thousandeyes/enterprise-agent:latest - Hostname:
te-agent-aleccham(ThousandEyesダッシュボードに表示されます) - Capabilities: ネットワークテストに
NET_ADMINとSYS_ADMINが必要 - Resources:
- メモリ制限: 3584Mi
- メモリ要求: 2000Mi
重要な注意事項
- エージェントはネットワークテストを実行するために昇格した権限(
NET_ADMIN、SYS_ADMIN)が必要です TEAGENT_INET: "4"環境変数はIPv4専用モードを強制します(一部のネットワーク構成で必要)/sbin/my_initコマンドは、エージェントの適切な初期化とサービス管理に必要ですimagePullPolicy: Alwaysは常に最新のイメージバージョンをプルすることを保証します- ThousandEyesダッシュボードでエージェントを一意に識別するために
hostnameフィールドを調整してください - Kubernetes環境に合わせて
namespaceを変更してください - ThousandEyes Enterprise Agentは比較的高いハードウェア要件があります。環境に応じてこれらを調整する必要がある場合があります
インストール手順
ステップ 1: ThousandEyes トークンの作成
app.thousandeyes.com/login でThousandEyesプラットフォームにログインします
Cloud & Enterprise Agents > Agent Settings > Add New Enterprise Agent に移動します
Account Group Token をコピーします
トークンをBase64エンコードします:
次のステップのためにbase64エンコードされた出力を保存します
ステップ 2: Namespace の作成
Namespaceを作成します(存在しない場合):
ステップ 3: シークレットの作成
base64エンコードされたトークンを含む
credentialsSecret.yamlという名前のファイルを作成します:シークレットを適用します:
ステップ 4: デプロイメントの作成
上記のデプロイメントマニフェストを含む
thousandEyesDeploy.yamlという名前のファイルを作成します(必要に応じてhostnameとnamespaceをカスタマイズしてください)。デプロイメントを適用します:
ステップ 5: デプロイメントの確認
エージェントが実行中であることを確認します:
期待される出力:
エージェントが接続していることを確認するためにログをチェックします:
ステップ 6: ThousandEyes ダッシュボードでの確認
ThousandEyesダッシュボードでエージェントが正常に登録されたことを確認します:
Cloud & Enterprise Agents > Agent Settings に移動して、新しく登録されたエージェントを確認します。
成功
ThousandEyes Enterprise AgentがKubernetesで実行されています!次に、Splunk Observability Cloudとの統合を行います。
背景
ThousandEyesは公式のKubernetesデプロイメントドキュメントを提供していません。標準的なデプロイメント方法は
docker runコマンドを使用するため、再利用可能なKubernetesマニフェストに変換することが困難です。このガイドは、本番環境対応のKubernetes構成を提供することでそのギャップを埋めます。Splunk 連携
15 minutesSplunk Observability Cloud について
Splunk Observability Cloudは、メトリクス、トレース、ログを大規模に監視するために構築されたリアルタイムのオブザーバビリティプラットフォームです。OpenTelemetryデータを取り込み、高度なダッシュボードと分析機能を提供して、チームがパフォーマンスの問題を迅速に検出し解決できるよう支援します。このセクションでは、OpenTelemetryを使用してThousandEyesデータをSplunk Observability Cloudと統合する方法を説明します。
このセクションの範囲
このセクションでは、ThousandEyesからSplunk Observability Cloudへのメトリクスストリーミングパスについて説明します。次のセクションでは、ThousandEyesとSplunk APM間の双方向リンクを作成する別の分散トレーシングワークフローを追加します。
ステップ 1: Splunk Observability Cloud アクセストークンを作成する
ThousandEyesメトリクスをSplunk Observability Cloudに送信するには、Ingest スコープを持つアクセストークンが必要です。以下の手順に従ってください:
- Splunk Observability Cloudプラットフォームで、Settings > Access Token に移動します
- Create Token をクリックします
- Name を入力します
- Ingest スコープを選択します
- Create を選択してアクセストークンを生成します
- アクセストークンをコピーし、安全に保管します
テレメトリデータをSplunk Observability Cloudに送信するには、アクセストークンが必要です。
ステップ 2: 連携を作成する
この連携は、ThousandEyesメトリクスをSplunk Observability Cloudのダッシュボードとディテクターに送信する一方向のテレメトリストリームです。
ThousandEyes UI を使用する
Splunk Observability CloudとThousandEyesを連携するには:
ThousandEyesプラットフォームでアカウントにログインし、Manage > Integration > Integration 1.0 に移動します
New Integration をクリックし、OpenTelemetry Integration を選択します
連携の Name を入力します
Target を HTTP に設定します
Endpoint URL を入力します:
https://ingest.{REALM}.signalfx.com/v2/datapoint/otlp{REALM}をSplunk環境に置き換えます(例:us1、eu0)
Preset Configuration で Splunk Observability Cloud を選択します
Auth Type で Custom を選択します
以下の Custom Headers を追加します:
X-SF-Token: {TOKEN}(ステップ1で作成したSplunk Observability Cloudアクセストークンを入力)Content-Type: application/x-protobuf
OpenTelemetry Signal で Metric を選択します
Data Model Version で v2 を選択します
テストを選択します
Save をクリックして連携の設定を完了します
これでThousandEyesデータとSplunk Observability Cloudの連携が正常に完了しました。
ThousandEyes API を使用する
プログラムによる連携には、以下のAPIコマンドを使用します:
HTTP Protocol
gRPC Protocol
streamEndpointUrlとX-SF-Tokenの値を、お使いのSplunk Observability Cloudインスタンスの正しい値に置き換えてください。注意
{REALM}をSplunk環境のRealm(例:us1、us2、eu0)に、{TOKEN}を実際のSplunkアクセストークンに置き換えてください。次のステップ
メトリクス連携が完了したら、分散トレーシングに進み、ThousandEyesからSplunk APMへの、そしてその逆の調査パスを追加します。
ステップ 3: Splunk Observability Cloud の ThousandEyes ダッシュボード
連携が設定されると、Splunk Observability Cloud内のThousandEyes Network Monitoring Dashboardでリアルタイムの監視データを表示できます。ダッシュボードには以下が含まれます:
- HTTP Server Availability (%):監視対象のHTTPサーバーの可用性を表示します
- HTTP Throughput (bytes/s):時間の経過に伴うデータ転送速度を表示します
- Client Request Duration (seconds):クライアントリクエストのレイテンシを測定します
- Web Page Load Completion (%):ページ読み込み成功の割合を表示します
- Page Load Duration (seconds):ページの読み込み時間を表示します
ダッシュボードテンプレート
ダッシュボードテンプレートは以下のリンクからダウンロードできます:ThousandEyes Splunk Observability Cloud ダッシュボードテンプレートをダウンロード (Google Drive)。
完了
ThousandEyesデータがSplunk Observability Cloudにストリーミングされるようになりました。次に、分散トレーシングコネクタを追加して、トラブルシューティング中にThousandEyesとSplunk APMの間を移動できるようにします。
分散トレーシングと双方向ドリルダウン
25 minutesこのセクションでは、ThousandEyesとSplunkの統合を真の調査ワークフローに変えます。前のセクションでは、ThousandEyesが合成メトリクスをSplunk Observability Cloudにストリーミングしました。このセクションでは、サポートされている ThousandEyes <-> Splunk APM 分散トレーシング統合 を有効にし、ネットワーク、プラットフォーム、アプリケーションチームが同じリクエストを見ながら両方のツール間を行き来できるようにします。
これが重要な理由
これは、2つの環境間で 双方向アクセス を可能にする部分です。ThousandEyesからSplunk APMの関連トレースを開くことができ、Splunk APMから元のThousandEyesテストに戻ることができます。
学習内容
このセクションを終了すると、以下のことができるようになります:
- 内部サービスを計装してSplunk APMにトレースを送信する
- ThousandEyesの HTTP Server または API テストで分散トレーシングを有効にする
- Splunk APM用のThousandEyes Generic Connector を設定する
- ThousandEyesの Service Map を開き、対応するSplunkトレースに直接ジャンプする
- Splunk APMのThousandEyesメタデータを使用して、元のThousandEyesテストに戻る
サポートされているワークフロー
この学習シナリオは、ThousandEyesとSplunkがドキュメント化しているサポートされたワークフローに従います:
- ThousandEyesは、分散トレーシングが有効になっている場合、HTTP Server および API テストに
b3、traceparent、tracestateヘッダーを自動的に挿入します。 - 監視対象のエンドポイントは、ヘッダーを受け入れ、OpenTelemetryで計装され、トレースコンテキストを伝播し、オブザーバビリティバックエンドにトレースを送信する必要があります。
- Splunk APMの場合、ThousandEyesは
https://api.<REALM>.signalfx.comを指し、API スコープ のSplunkトークンで認証する Generic Connector を使用します。 - Splunk APMは、
thousandeyes.test.idやthousandeyes.permalinkなどのThousandEyes属性で一致するトレースを強化し、ThousandEyesへの逆ジャンプを可能にします。
これらのヘッダーの実際の意味
この部分は見落としがちですが、そうすべきではありません。トレース相関は、サービスがThousandEyesが挿入するヘッダーを理解し、トレースを正しく継続する場合にのみ機能します。
traceparentとtracestateはW3C Trace Contextヘッダーです。b3はZipkin B3シングルヘッダー形式です。- ThousandEyesは両方を挿入します。これは、実際の環境には、同じ伝播形式を好まないプロキシ、メッシュ、ゲートウェイ、アプリランタイムが混在していることが多いためです。
OpenTelemetryの用語では、重要な設定はプロパゲーターリストです:
これは2つのことを行います:
- サービスが受信ThousandEyesリクエストから B3 または W3C コンテキストのいずれかを抽出できるようにします。
tracecontextを有効にしておくことで、W3Ctracestateを保持します。
重要な詳細
tracestateを別のOpenTelemetryプロパゲーターとして追加する必要は ありません。tracecontextプロパゲーターがtraceparentとtracestateの両方を処理します。「正しく行う」とはどういうことか
コレクターはこのセットアップの一部に過ぎません。Kubernetesでの正しいThousandEyesトレーシングデプロイメントには 3 つのレイヤー があります:
- Deployment アノテーション - OpenTelemetry Operatorがランタイム固有の計装を挿入するため。
- Instrumentation リソース - 挿入されたSDKがトレースの送信先と使用するプロパゲーターを知るため。
- Collector トレースパイプライン - OTLPトレースが実際に受信され、Splunk APMにエクスポートされるため。
最も一般的な間違いは、コレクターだけに焦点を当てることです。コレクターは生の
b3、traceparent、またはtracestateリクエストヘッダーを直接見ることはありません。アプリケーションまたは自動計装ライブラリがまずそれらのヘッダーを抽出し、スパンコンテキストを継続し、次にOTLP経由でコレクターにスパンを送信する必要があります。現在のクラスターからの実際の設定
以下の例は、このワークショップを現在実行しているライブクラスターからトリミングされたものです。これらは、今日Kubernetesで実際に機能しているパターンを示しています。
1. Deployment アノテーション
ライブクラスターでは、
teastoreアプリケーションはteastore/defaultInstrumentationリソースを指しています:これは、ThousandEyesリクエストがトレースに変換されない場合に最初に確認する場所です。
2. Instrumentation リソース
これは
teastoreからのライブInstrumentationオブジェクトで、ThousandEyesに関係するフィールドにトリミングされています:これがThousandEyesシナリオの重要な部分です:
endpointはクラスターローカルのOTelエージェントサービスにスパンを送信します。b3はThousandEyes B3ヘッダーの抽出を可能にします。tracecontextはtraceparentとtracestateを保持します。parentbased_always_onは、ThousandEyesがリクエストを開始するとトレースが継続することを保証します。
3. 挿入された Pod が実際に取得するもの
実行中の
teastore-webui-v1Podでは、オペレーターが以下の環境変数を挿入しました:これは有用な検証チェックポイントです。プロパゲーターが抽象的な設定オブジェクトで宣言されているだけでなく、ワークロードに適用されていることを証明するためです。
4. Agent Collector トレースパイプライン
otel-splunkのライブエージェントコレクターは、OTLP、Jaeger、Zipkinトラフィックを受信し、上流にトレースを転送しています。これは実行中のConfigMapからのトリミングされた抜粋です:ThousandEyesの場合、重要な部分はコレクターの特別なB3オプションではありません。重要な部分は、コレクターが
4317と4318でOTLPを公開していること、およびサービスがそこにスパンをエクスポートしていることです。5. Gateway Collector の Splunk APM へのエクスポート
ライブゲートウェイコレクターは、トレースをSplunk Observability Cloudに転送します。これは実行中のゲートウェイConfigMapの関連部分です:
これは、スパンをSplunk APMに送信する部分です。このパイプラインが壊れている場合、ThousandEyesはリクエストにヘッダーを挿入できますが、相関トレースがSplunkに表示されることはありません。
現在のクラスターのポイント
ライブクラスターでは、
teastore/defaultInstrumentationリソースがThousandEyesで従うべきパターンです。これはb3とtracecontextを明示的に含んでいるためです。これが、このシナリオで複製したい設定です。重要
このセクションではブラウザページのURLを使用 しないでください。ThousandEyesのドキュメントによると、ブラウザはこのワークフローに必要なカスタムトレースヘッダーを受け入れません。代わりに、HTTP Server または API テストの背後にある計装されたバックエンドエンドポイントを使用してください。
ステップ 1:ワークロードが Splunk APM にトレースを送信していることを確認する
アプリケーションがすでに計装されていて、トレースがSplunk APMに表示されている場合は、ステップ2にスキップできます。そうでない場合、Kubernetesでの最速の学習パスは、ゼロコード計装用のオペレーターを有効にしたSplunk OpenTelemetry Collectorを使用することです。
Splunk OpenTelemetry Collector とオペレーターをインストールする
自動計装用に Deployment にアノテーションを付ける
Javaワークロードの場合、一般的な例は次のようになります:
他のランタイムの場合は、言語に合ったアノテーションを使用してください:
instrumentation.opentelemetry.io/inject-nodejsinstrumentation.opentelemetry.io/inject-pythoninstrumentation.opentelemetry.io/inject-dotnet
コレクターがアプリケーションと同じ名前空間にインストールされている場合、公式のSplunkドキュメントでは
"true"をアノテーション値として使用することもサポートしています。このワークショップ環境の ライブクラスターパターン に従いたい場合、アノテーション値は名前空間修飾され、
teastore/defaultInstrumentationオブジェクトを指します:トレースが存在することを検証する
デプロイメントのロールアウトが完了するまで待ちます:
複数のサービスを横断するバックエンドエンドポイントに対していくつかのリクエストを生成します。例:
現在のワークショップクラスターでは、
http://teastore-webui.teastore.svc.cluster.local:8080/のようなサービスが適切なターゲットです。これは、いくつかの下流アプリケーションサービスをフロントエンドし、単純なヘルスチェックよりも有用なエンドツーエンドトレースを生成するためです。続行する前に、Splunk APM にトレースが到着していることを確認してください。
学習のヒント
トレーシング演習には、純粋な
/healthエンドポイントではなく、ビジネストランザクションを使用してください。マルチサービスリクエストは、ThousandEyesでより良いService Mapを提供し、Splunk APMでより有用なトレースを提供します。ステップ 2:ThousandEyes テストで分散トレーシングを有効にする
ステップ1の計装されたバックエンドエンドポイントをターゲットとする HTTP Server または API テストを作成または編集します。
- ThousandEyesで、HTTP Server または API テストを作成します。
- Advanced Settings を開きます。
- Distributed Tracing を有効にします。
- テストを保存し、すでにSplunk APMにトレースを送信しているのと同じエンドポイントに対して実行します。
テストが実行された後、ThousandEyesはトレースヘッダーを挿入し、そのリクエストのトレースコンテキストをキャプチャします。
ステップ 3:ThousandEyes で Splunk APM コネクターを作成する
前のセクションのメトリックストリーミング統合は Ingest トークンを使用します。このステップは異なります:ThousandEyesはSplunk APMにクエリを実行してトレースリンクを構築する必要があるため、代わりにSplunk API トークンを使用します。
- Splunk Observability Cloudで、API スコープを持つアクセストークンを作成します。
- ThousandEyesで、Manage > Integrations > Integrations 2.0 に移動します。
- 以下の設定で Generic Connector を作成します:
- Target URL:
https://api.<REALM>.signalfx.com - Header:
X-SF-Token: <your-api-scope-token>
- Target URL:
- 新しい Operation を作成し、Splunk Observability APM を選択します。
- オペレーションを有効にして、統合を保存します。
ステップ 4:双方向調査ループを検証する
テストが実行され、コネクターが有効になったら、両方向でワークフローを検証します。
ThousandEyes から始める
- ThousandEyesでテストを開きます。
- Service Map タブに移動します。
- トレースパス、サービスレイテンシー、下流のエラーが表示されることを確認します。
- ThousandEyesから Splunk APM へのリンクを使用して、完全なトレースを検査します。
Splunk APM で続ける
Splunk APM内で、トレースに以下のようなThousandEyesメタデータが含まれていることを確認します:
thousandeyes.account.idthousandeyes.test.idthousandeyes.permalinkthousandeyes.source.agent.id
thousandeyes.permalinkフィールドまたはトレースウォーターフォールビューの Go to ThousandEyes test ボタンを使用して、元のThousandEyesテストに戻ります。推奨される学習シナリオ
ワークショップ中に以下のフローを使用してください:
- 複数のサービスを呼び出す内部APIルートに対するThousandEyesテストを作成します。
- ThousandEyesに最初に問題を表示させ、クラスがネットワークと合成モニタリングの観点から始められるようにします。
- ThousandEyesで Service Map を開き、レイテンシーやエラーがどこから始まるかを特定します。
- スパンレベルの分析のために Splunk APM にジャンプします。
- テスト、エージェント、ネットワークパスを再度検査するために ThousandEyes に戻ります。
これは、異なるチームが実際に作業する方法を反映しているため、強力な教育ループです:
- ネットワークおよびエッジチームは、ThousandEyesから始めることが多いです。
- SREおよびプラットフォームチームは、Splunkダッシュボードまたはアラートから始めることが多いです。
- アプリケーションチームは、通常Splunk APMのトレースを求めます。
この統合が整っていれば、全員がコンテキストを失うことなく切り替えることができます。
よくある落とし穴
- テストがSplunkダッシュボードに表示されていても、トレース相関がない場合があります。これは通常、メトリクス ストリームのみが設定されており、Splunk APM Generic Connector が設定されていないことを意味します。
- 監視対象のエンドポイントがトレースヘッダーを下流に伝播しない場合、トレースがSplunk APMに存在してもThousandEyesに表示されない場合があります。
/healthのような浅いエンドポイントは、設定が正しくても限られたトレース価値しか生成しないことがよくあります。
参考資料
Kubernetes サービステストと相関
20 minutesAppDynamics テスト推奨機能の再現
AppDynamicsには、アプリケーションのエンドポイントに対するシンセティックテストを自動的に提案する「Test Recommendations」という機能があります。ThousandEyesをKubernetesクラスター内にデプロイすることで、KubernetesのサービスディスカバリとSplunk Observability Cloudの統合ビューを組み合わせて、この機能を再現できます。
ThousandEyes Enterprise Agentはクラスター内部で実行されるため、サービス名をホスト名として使用して内部Kubernetesサービスを直接テストできます。これにより、外部に公開されていないバックエンドサービスを監視する強力な方法が得られます。
仕組み
- サービスディスカバリ:
kubectl get svcを使用してクラスター内のサービスを列挙します - ホスト名の構築: Kubernetes DNS命名規則を使用してテストURLを構築します:
<service-name>.<namespace>.svc.cluster.local - テストの作成: 内部サービスに対して可用性テストとトレース対応トランザクションテストの両方を作成します
- Splunk での相関: シンセティックテストの結果をAPMトレースおよびインフラストラクチャメトリクスと並べて表示します
クラスター内テストのメリット
- 内部サービス監視: インターネットに公開されていないバックエンドサービスをテストできます
- サービスメッシュ対応: Istio、Linkerd、その他のサービスメッシュの背後にあるサービスを監視できます
- DNS 解決テスト: Kubernetes DNSとサービスディスカバリを検証できます
- ネットワークポリシー検証: ネットワークポリシーが適切な通信を許可していることを確認できます
- レイテンシベースライン: クラスター内部のネットワークパフォーマンスを測定できます
- 本番前テスト: Ingress/LoadBalancer経由で公開する前にサービスをテストできます
ステップバイステップガイド
1. Kubernetes サービスの検出
クラスター内または特定のnamespace内のすべてのサービスを一覧表示します:
出力例:
2. テストホスト名の構築
Kubernetesサービスは、以下の命名パターンを使用してDNS経由でアクセスできます:
上記のサービスの場合:
api-gateway.production.svc.cluster.local:8080payment-svc.production.svc.cluster.local:8080auth-service.production.svc.cluster.local:9000
同じ namespace 内での省略形: ThousandEyesエージェントと同じnamespace内のサービスをテストする場合は、サービス名のみを使用できます:
api-gateway:8080payment-svc:8080
3. 内部サービス用の ThousandEyes テストの作成
最良の学習成果を得るために、2 種類のテストを作成します:
/healthまたは/readinessエンドポイントに対する可用性テストで、到達可能性と応答時間を検証します- 複数のサービスを横断するビジネスエンドポイントに対するトレース対応トランザクションテスト
最初のテストはシンセティック監視を学ぶためのものです。2番目のテストはSplunk APMを使用したクロスツールトラブルシューティングを学ぶためのものです。
ThousandEyes UI 経由
- Cloud & Enterprise Agents > Test Settings に移動します
- Add New Test → HTTP Server をクリックします
- 可用性テストを設定します:
- Test Name:
[K8s] API Gateway Health - URL:
http://api-gateway.production.svc.cluster.local:8080/health - Interval: 2 minutes
- Agents: KubernetesにデプロイされたEnterprise Agentを選択します
- HTTP Response Code:
200
- Test Name:
- トレース対応トランザクションテストを設定します:
- Test Name:
[Trace] API Gateway Orders - URL:
http://api-gateway.production.svc.cluster.local:8080/api/v1/orders - Interval: 2 minutes
- Agents: KubernetesにデプロイされたEnterprise Agentを選択します
- Advanced Settings > Distributed Tracing: Enabled
- Test Name:
- Create Test をクリックします
ThousandEyes API 経由
トレース対応バージョンの場合は、
urlをビジネストランザクションエンドポイントに切り替え、ThousandEyesテスト設定でdistributed tracingを有効にします。ベストプラクティス
distributed tracingを教えることが目的の場合、
/healthだけを例として使用することは避けてください。ヘルスチェックは稼働時間の監視には便利ですが、ThousandEyesとSplunk APMの統合を魅力的にするマルチサービストレースを生成することはほとんどありません。4. アラートルールの設定
一般的な障害シナリオに対するアラートを設定します:
- 可用性アラート: HTTPレスポンスが200でない場合にトリガーします
- パフォーマンスアラート: レスポンスタイムがベースラインを超えた場合にトリガーします
- DNS 解決アラート: サービスDNSが解決できない場合にトリガーします
5. Splunk Observability Cloud での結果表示
テストが実行され、Splunkと統合されたら:
- Splunk Observability Cloudで ThousandEyes Dashboard に移動します
- テスト名でフィルターします(例:
[K8s]プレフィックス)、すべてのKubernetes内部テストを表示します - トレース対応テストの場合は、まず ThousandEyes から開始します:
- Service Map を開きます
- サービスレベルのレイテンシとダウンストリームエラーを調べます
- Splunk APM へのリンクをたどります
- APM データとの相関:
- シンセティックテストの失敗をAPMエラー率と並べて表示します
- 問題がネットワーク関連(ThousandEyes)かアプリケーション関連(APM)かを特定します
- Splunkトレースメタデータを使用して、元のThousandEyesテストに戻ります
- 以下を組み合わせたカスタムダッシュボードを作成します:
- ThousandEyes HTTP可用性メトリクス
- APMサービスレイテンシとエラー率
- Kubernetesインフラストラクチャメトリクス(CPU、メモリ、Pod再起動)
ユースケース例
ユースケース 1: マイクロサービスヘルスチェック
複数のマイクロサービスヘルスエンドポイントをテストします:
ユースケース 2: API Gateway エンドポイントテスト
有用なトレースを生成する可能性が高いAPI Gatewayルートをテストします:
ユースケース 3: データベース接続テスト
ThousandEyesは主にHTTPテスト用ですが、データベースプロキシをテストできます:
ユースケース 4: 外部サービス依存関係
クラスター内ThousandEyesエージェントの最も価値のある機能の1つは、サービスと同じネットワークの視点からアプリケーションの外部依存関係を監視することです。これにより、問題がインフラストラクチャ、ネットワークパス、または外部サービス自体のいずれに起因するかを特定できます。
決済ゲートウェイのテスト
重要な決済ゲートウェイエンドポイントの可用性とパフォーマンスを確保するためのテストを作成します:
Stripe API:
PayPal API:
ThousandEyes API 経由:
なぜ外部依存関係を監視するのか?
- プロアクティブな問題検出: 顧客から報告される前に決済ゲートウェイの障害を把握できます
- ネットワークパス検証: Kubernetesエグレスネットワークが外部サービスに到達できることを確認します
- パフォーマンスベースライン: クラスターから外部APIへのレイテンシを追跡します
- コンプライアンスと SLA 監視: サードパーティサービスがSLAコミットメントを満たしていることを確認します
- 根本原因分析: 問題がネットワーク関連か、インフラストラクチャか、外部プロバイダーかを迅速に判断します
監視を推奨する外部サービス
- 決済プロセッサ: Stripe、PayPal、Square、Braintree
- 認証プロバイダー: Auth0、Okta、Azure AD
- メールサービス: SendGrid、Mailgun、AWS SES
- SMS/コミュニケーション: Twilio、MessageBird
- CDN エンドポイント: Cloudflare、Fastly、Akamai
- クラウドストレージ: AWS S3、Google Cloud Storage、Azure Blob Storage
- サードパーティ API: 重要なビジネスパートナー API
ベストプラクティス
テスト名に
[External]プレフィックスを使用して、ダッシュボードで内部Kubernetesサービスと外部依存関係を簡単に区別できるようにします。ベストプラクティス
- 一貫した命名を使用する: フィルタリングを容易にするため、テスト名に
[K8s]または[Internal]プレフィックスを付けます - まずヘルスエンドポイントをテストする: ビジネスロジックをテストする前に
/healthまたは/readinessエンドポイントから始めます - 適切な間隔を設定する: 重要なサービスには短い間隔(1〜2分)を使用します
- テストにタグを付ける: ThousandEyesのラベル/タグを使用してテストをグループ化します:
- 環境(dev、staging、production)
- サービスタイプ(API、database、cache)
- チームオーナーシップ
- テストエージェントの健全性を監視する: ThousandEyesエージェントPodが健全で、十分なリソースがあることを確認します
- 両方のテストタイプを使用する: 各重要なサービスパスに対して、シンプルな可用性テストとトレース対応ビジネストランザクションテストをペアにします
- APM との相関: シンセティックデータとAPMデータを並べて表示するSplunkダッシュボードを作成します
- トレースラボには計装されたバックエンドを使用する: distributed tracingは、ThousandEyesのターゲットがOpenTelemetryで計装されたサービスによってバックアップされたHTTP ServerまたはAPIエンドポイントである場合に最も効果的です
ヒント
内部サービスを外部に公開する前にテストすることで、問題を早期に発見し、ユーザートラフィックが到達する前にインフラストラクチャが健全であることを確認できます。
ThousandEyes と Splunk RUM
10 minutesThousandEyesとSplunk RUMを統合して、ネットワークの問題がエンドユーザーの問題と関連しているかどうかを把握します。
前提条件
- Splunk Observability CloudとThousandEyes両方の管理者権限
- Splunk RUMにデータを送信しているアプリケーションが少なくとも1つ
- Splunk RUMのアプリと同じドメインで、ThousandEyesで以下のタイプのテストが少なくとも1つ実行されていること:
統合手順
- ThousandEyesでOAuth Bearerトークンを作成します:
- 右上隅のユーザー名を選択し、
Profileを選択します。 - User API Tokensの下で
Createを選択してOAuth Bearer Tokenを生成します。 - Observability Cloudのデータ統合ウィザードで使用するため、トークンをコピーまたはメモしておきます。
- 右上隅のユーザー名を選択し、
- Splunk Observability Cloudで、Data Management > Available Integrations > ThousandEyes Integration with RUMを開きます。
- 前回の Splunk 統合で使用したものと同じ
Ingestトークンを使用するか、RUM統合のデータ使用量をより適切に追跡するために専用のIngestトークンを作成して選択します。 - ThousandEyesからのOAuth Bearerトークンを入力します。
- テストのマッチングを確認し、必要に応じて選択を変更し、推定データ取り込み量を確認してから
Doneを選択します。
- 前回の Splunk 統合で使用したものと同じ
統合の確認
ThousandEyesテストが実行されているRUMアプリケーションに移動し、Mapを表示します。 ThousandEyesテストも実行されているロケーションにカーソルを合わせると、ThousandEyesメトリクスのプレビューが表示されます:

ThousandEyesでアクティブなアラートがある場合、RUMの該当するロケーションのバブル上にThousandEyesアイコンが表示されます:

該当するリージョンをクリックすると、RUMの他のメトリクスと一緒にネットワークメトリクスが表示されます。
View ThousandEyes Testsを開いてThousandEyesの関連テストに移動できます:

カスタムダッシュボードで RUM と ThousandEyes のメトリクスを表示する
これで、関連するThousandEyesテストからのシグナルと他のObservability CloudのKPIを関連付けることができます!
- Dashboards > “RUM” で検索 >
RUM applicationsグループ内のすぐに使えるRUMダッシュボードの1つをクリックします。 - 興味のあるRUM KPIのチャートをコピーするか、右上のダッシュボードのアクションメニューを開いて
Save Asで自分のダッシュボードグループにコピーを作成します。 - 新しいダッシュボードで、シグナル
network.latencyを使用して新しいチャートを作成します。- extrapolation policyを
Last valueに変更します。 - 測定単位をTime >
Millisecondに変更します。 - Chart Optionsで、
Show on-chart legendを選択し、値をthousandeyes.source.agent.nameにします。これにより、ThousandEyesのエージェントロケーション別にチャートが分割されます。
- extrapolation policyを
- 新しいチャートに名前を付けて保存し、それをコピーして
network.jitterとnetwork.lossの類似チャートを作成します。コピーしたチャートのシグナルでメトリクスを変更し、必要に応じて測定単位と可視化オプションを調整します。
カスタムダッシュボードとチャートの作成に関する詳細なガイダンスは、Dashboard Workshop を参照してください。
ヒント
ThousandEyesのテストメトリクスと並べて表示すると便利なObservability Cloudの他のメトリクスについて考えてみてください。
例えば、SyntheticsでAPIテストを実行している場合は、ロケーション別のAPIテスト成功率のヒートマップを追加することを検討してください。
トラブルシューティング
15 minutesこのセクションでは、KubernetesでThousandEyes Enterprise Agentをデプロイおよび使用する際に遭遇する可能性のある一般的な問題について説明します。
DNS 解決エラーでテストが失敗する
テストがDNS解決エラーで失敗している場合は、ThousandEyes Pod内からDNSを確認してください:
一般的な原因:
- 指定されたnamespaceにサービスが存在しない
- サービス名またはnamespaceの入力ミス
- CoreDNSが正常に機能していない
接続拒否エラー
接続拒否エラーが発生している場合は、以下を確認してください:
一般的な原因:
- サービスをバックアップするPodがない(endpointsが空)
- PodがReady状態でない
- テストURLで間違ったポートが指定されている
- サービスセレクターがPodラベルと一致しない
Network Policy がトラフィックをブロックしている
Network PolicyがThousandEyesエージェントからのトラフィックをブロックしている場合:
解決策:
te-demonamespaceからサービスへのトラフィックを許可するNetwork Policyを作成します:エージェント Pod が起動しない
ThousandEyesエージェントPodが起動しない場合は、Podのステータスとイベントを確認してください:
一般的な原因:
- リソース不足(memory/CPU)
- 無効または欠落しているTEAGENT_ACCOUNT_TOKENシークレット
- Pod Security Policyによってセキュリティコンテキストのケイパビリティが許可されていない
- イメージプルエラー
解決策:
- OOMKilledの場合はメモリ制限を増やす
- シークレットが正しく作成されているか確認する:
kubectl get secret te-creds -n te-demo -o yaml - Pod Security PolicyがNET_ADMINおよびSYS_ADMINケイパビリティを許可しているか確認する
- イメージプルを確認する:
kubectl describe pod -n te-demo <pod-name>
エージェントが ThousandEyes ダッシュボードに表示されない
エージェントは実行中だがThousandEyesダッシュボードに表示されない場合:
一般的な原因:
- 無効または不正なTEAGENT_ACCOUNT_TOKEN
- ネットワークのEgressがブロックされている(ファイアウォールまたはNetwork Policy)
- エージェントがThousandEyes Cloudサーバーに到達できない
解決策:
- トークンが正しく、適切にbase64エンコードされているか確認する
*.thousandeyes.comへのEgressが許可されているか確認する- エージェントがインターネットに到達できるか確認する:
データが Splunk Observability Cloud に表示されない
ThousandEyesのデータがSplunkに表示されない場合:
統合の設定を確認:
- ThousandEyesでOpenTelemetry統合が正しく設定されているか確認する
- SplunkインジェストエンドポイントURLがお使いのRealmに対して正しいか確認する
X-SF-Tokenヘッダーに有効なSplunkアクセストークンが含まれているか確認する- テストが統合に割り当てられているか確認する
テストの割り当てを確認:
一般的な原因:
- エンドポイントURLのSplunk Realmが間違っている
- 無効または期限切れのSplunkアクセストークン
- テストがOpenTelemetry統合に割り当てられていない
- 統合が適切に有効化または保存されていない
分散トレーシングが ThousandEyes に表示されない
メトリクスストリームは機能しているが、ThousandEyesの Service Map が空であるか、トレースが見つからない場合:
監視対象のエンドポイントを確認:
- HTTPヘッダーを受け入れること
- OpenTelemetryで計装されていること
- トレースコンテキストを下流に伝播すること
- Splunk APMにトレースを送信すること
一般的な原因:
- エンドポイントがHTTP ServerまたはAPIターゲットではなくページURLである
- サービスが計装されていないため、ThousandEyesはヘッダーを注入できるがトレースは出力されない
- エンドポイントがローカルのヘルスレスポンスのみを返し、下流サービスを実行しない
推奨される修正:
- ThousandEyesテストを計装されたバックエンドAPIルートに切り替える
- そのルートのトレースが既にSplunk APMに存在することを確認する
- ThousandEyes分散トレーシングを有効にした後、テストを再実行する
Splunk APM に ThousandEyes リンクが表示されない
トレースがSplunk APMで開くが、ThousandEyesのバックリンクやメタデータが表示されない場合:
一般的な原因:
b3プロパゲーターがtrace_stateを上書きし、ThousandEyesがリバースリンクのために保持することを期待している値をクリアする可能性があります。修正:
計装されたサービスでプロパゲーターを明示的に設定します:
環境変数を変更した後、計装されたワークロードを再起動し、新しいトラフィックを生成します。
Splunk APM Connector の認証エラー
ThousandEyesの Generic Connector がSplunk APMにクエリできない場合:
以下を確認してください:
- コネクターのターゲットが
https://api.<REALM>.signalfx.comであること - コネクターで使用されているトークンが API スコープを持っていること
- トークンを作成するユーザーがSplunk Observability Cloudで必要なロールを持っていること
トークンに関する注意
OpenTelemetryメトリクスストリームはSplunk Ingest トークンを使用します。APM用のThousandEyes Generic Connector はSplunk API トークンを使用します。これらを混同することは、部分的な統合の最も一般的な原因の一つです。
メモリ使用量が高い
ThousandEyesエージェントPodが過剰なメモリを消費している場合:
解決策:
- デプロイメントでメモリ制限を増やす:
- エージェントに割り当てられた同時テストの数を減らす
- エージェントが不要なサービスを実行していないか確認する
Permission Denied エラー
エージェントのログにPermission Deniedエラーが表示される場合:
セキュリティコンテキストを確認:
解決策: Podに必要なケイパビリティがあることを確認します:
注意
厳格なPod Security Policyを持つ一部のKubernetesクラスターでは、これらのケイパビリティが許可されない場合があります。適切なポリシー例外を作成するために、クラスター管理者と協力する必要があるかもしれません。
サポートを受ける
このガイドでカバーされていない問題に遭遇した場合:
- ThousandEyes Support: support.thousandeyes.com でThousandEyesサポートに連絡してください
- Splunk Support: Splunk Observability Cloudの問題については、Splunk Support をご覧ください
- コミュニティフォーラム:
ヒント
サポートを求める際は、より効果的にトラブルシューティングできるよう、関連するログ、Podの説明、エラーメッセージを必ず含めてください。






