概要

ThousandEyes エージェントモデルと、Kubernetes、ThousandEyes、Splunk Observability Cloud にまたがるワークショップアーキテクチャを理解します。

10 minutes

ThousandEyes エージェントタイプ

Enterprise Agents

Enterprise Agents は、自社のインフラストラクチャ内にデプロイするソフトウェアベースの監視エージェントです。以下の機能を提供します

このワークショップでは、Enterprise Agent を Kubernetes クラスター内のコンテナ化されたワークロードとしてデプロイします。

Endpoint Agents

Endpoint Agents は、エンドユーザーデバイス(ノートPC、デスクトップ)にインストールされる軽量エージェントで、以下を提供します

このワークショップでは Enterprise Agent のデプロイのみを扱います。

アーキテクチャ

mermaid
---
config:
  theme: 'base'
---
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"]
            customers["Customers Service<br/>Pod"]
            vets["Vets Service<br/>Pod"]
            visits["Visits Service<br/>Pod"]
        end
        
        subgraph svcs["Services"]
            api_svc["api-gateway<br/>Service"]
            customers_svc["customers-service<br/>Service"]
            vets_svc["vets-service<br/>Service"]
            visits_svc["visits-service<br/>Service"]
        end
        
        api_svc --> api
        customers_svc --> customers
        vets_svc --> vets
        visits_svc --> visits
        
        secret -.-> agent
        agent -->|"HTTP Tests"| api_svc
        agent -->|"HTTP Tests"| customers_svc
        agent -->|"HTTP Tests"| vets_svc
        agent -->|"HTTP Tests"| visits_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 customers fill:#e1bee7,stroke:#7b1fa2,stroke-width:1px
    style vets fill:#e1bee7,stroke:#7b1fa2,stroke-width:1px
    style visits fill:#e1bee7,stroke:#7b1fa2,stroke-width:1px
    style api_svc fill:#ce93d8,stroke:#7b1fa2,stroke-width:1px
    style customers_svc fill:#ce93d8,stroke:#7b1fa2,stroke-width:1px
    style vets_svc fill:#ce93d8,stroke:#7b1fa2,stroke-width:1px
    style visits_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 クラスター

2. テスト対象

3. ThousandEyes Platform

4. テストタイプとメトリクス

Enterprise Agent は以下を実行します

収集されるメトリクスには以下が含まれます

5. Splunk Observability Cloud との統合

6. データフロー

  1. エージェントが Kubernetes Secret のトークンを使用して認証します
  2. エージェントが内部および外部ターゲットに対してスケジュールされたテストを実行します
  3. テスト結果が ThousandEyes Cloud に送信されます
  4. ThousandEyes が OpenTelemetry プロトコル経由で Splunk にメトリクスをストリーミングします
  5. 分散トレーシングが有効な HTTP Server および API テストの場合、ThousandEyes はリクエストに b3traceparenttracestate ヘッダーを注入します
  6. 計装されたアプリケーションが結果のトレースを Splunk APM に送信します
  7. ThousandEyes は関連する Splunk トレースを開くことができ、Splunk APM は元の ThousandEyes テストにリンクバックできます
  8. DevOps、ネットワーク、アプリケーションチームが調査中に両方のビューで連携します

テスト機能

このデプロイにより、以下が可能になります

Note

これは ThousandEyes エージェントデプロイの公式にサポートされた構成ではありません。ただし、テスト済みであり、本番環境に近い環境で非常にうまく動作します。