InfraおよびAPMの関連コンテンツを有効にするために Collector を設定する
APM の関連コンテンツを有効にするように Collector を設定します。
Collector をホストモニタリング(エージェント)モードで設定して、関連コンテンツを有効にします。
APM サービスのダッシュボードでインフラストラクチャデータを表示するには、OpenTelemetry Collector の特定のコンポーネントを有効にする必要があります。詳細については「Collector components」および「Process your data with Pipelines」を参照してください。
ホストモニタリングモードでの Collector 設定
以上が必要なコンフィギュレーションの詳細です:
hostmetrics レシーバー
cpu、memory、filesystem、network を有効にして、それぞれのメトリクスを収集します。
詳細については「Host metrics receiver」を参照してください。
signalfx エクスポーター
SignalFx エクスポーターは hostmetrics レシーバーからのメトリクスを集約します。また、関連 APM サービスチャートで参照される cpu.utilization などのメトリクスも送信します。
詳しくは「SignalFx exporter」を参照してください。
相関フラグ
デフォルトでは、標準の SignalFx エクスポーター構成を使用して相関が有効になっています。この設定により、Collector は関連する API コールを実行し、スパンと関連するインフラストラクチャ メトリクスをリンクします。
SignalFx エクスポーターは、メトリクスパイプラインとトレースパイプラインの両方で有効にする必要があります。相関オプションをさらに調整するには、[Settings] で SignalFx エクスポーターのオプションを確認してください。
resourcedetection プロセッサー
プロセッサを使用することで、メトリクスとトレースに一意の host.name 値を設定できます。 host.name は、EC2 ホスト名またはシステムホスト名によって決まります。
以下のコンフィギュレーションを使用します:
-
クラウドプロバイダーまたは 環境変数 を使用して、
host.nameを設定します。 -
overrideを有効にする
詳しくは「リソース検出プロセッサ」を参照してください。
resource/add_environment プロセッサー(オプション)
APM チャートは、環境スパン属性が正しく設定されている必要があります。
この属性を設定するには、2つのオプションがあります:
-
インストルメンテーションで属性を設定する
-
このプロセッサーを使用して、すべてのスパンに
deployment.environmentスパン属性を挿入します。
詳しくは「リソース検出プロセッサ」を参照してください。
例
以下は各セクションの関連する設定スニペットです:
receivers:
hostmetrics:
collection_interval: 10s
scrapers:
cpu:
disk:
filesystem:
memory:
network:
processors:
resourcedetection:
detectors: [system,env,gcp,ec2]
override: true
resource/add_environment:
attributes:
- action: insert
value: staging
key: deployment.environment
exporters:
# Traces
otlphttp:
access_token: "${SPLUNK_ACCESS_TOKEN}"
endpoint: "${SPLUNK_TRACE_URL}"
# Metrics + Events + APM correlation calls
signalfx:
access_token: "${SPLUNK_ACCESS_TOKEN}"
api_url: "${SPLUNK_API_URL}"
ingest_url: "${SPLUNK_INGEST_URL}"
sync_host_metadata: true
correlation:
service:
extensions: [health_check, http_forwarder, zpages]
pipelines:
traces:
receivers: [jaeger, zipkin]
processors: [memory_limiter, batch, resourcedetection, resource/add_environment]
exporters: [otlphttp, signalfx]
metrics:
receivers: [hostmetrics]
processors: [memory_limiter, batch, resourcedetection]
exporters: [signalfx]
Collector を設定して、関連コンテンツを有効にするをホストモニタリング(エージェント)モードからデータ転送(ゲートウェイ)モードに有効にします。
Opentelemetry Collector をホストモニタリング (エージェント) とデータ転送 (ゲートウェイ) の両方のモードで実行する必要がある場合は、以下のセクションを参照してください。
詳細は「Collector のデプロイメントモード」を参照してください。
エージェントを設定する
前のセクションで述べたのと同じ手順に従って、以下の変更を含めます:
http_forwarder エクステンション
http_forwarder はポート 6060 でリッスンし、すべての REST API 呼び出しを Splunk Observability Cloud に直接送信します。
エージェントが Splunk SaaS バックエンドと直接通信できない場合は、egress エンドポイントを使用してゲートウェイの URL に変更します。
signalfx エクスポーター
traces パイプラインの SignalFx エクスポーター経由で送信する必要があります。OTLP エクスポーターの使用が推奨されますが、必要であればメトリクス用のエクスポーターを使用することも可能です。詳しくは「otlp exporter(optional)」を参照してください。
以下のコンフィギュレーションを使用します:
-
api_urlエンドポイントをゲートウェイの URL に設定します。ゲートウェイにおけるhttp_forwarderのイングレスポートを指定します。デフォルトでは6060です。 -
ingest_urlエンドポイントをゲートウェイの URL に設定します。ゲートウェイにおけるsignalfxレシーバーのイングレスポートを指定します。デフォルトでは9943です。
すべてのパイプライン
すべてのメトリクス、トレース、ログのパイプラインをゲートウェイの適切なレシーバーに送信します。
例
以下は各セクションの関連する設定スニペットです:
receivers:
hostmetrics:
collection_interval: 10s
scrapers:
cpu:
disk:
filesystem:
memory:
network:
processors:
resourcedetection:
detectors: [system,env,gcp,ec2]
override: true
resource/add_environment:
attributes:
- action: insert
value: staging
key: deployment.environment
exporters:
# Traces
otlp:
endpoint: "${SPLUNK_GATEWAY_URL}:4317"
tls:
insecure: true
# Metrics + Events + APM correlation calls
signalfx:
access_token: "${SPLUNK_ACCESS_TOKEN}"
api_url: "http://${SPLUNK_GATEWAY_URL}:6060"
ingest_url: "http://${SPLUNK_GATEWAY_URL}:9943"
service:
extensions: [health_check, http_forwarder, zpages]
pipelines:
traces:
receivers: [jaeger, zipkin]
processors: [memory_limiter, batch, resourcedetection, resource/add_environment]
exporters: [otlp, signalfx]
metrics:
receivers: [hostmetrics]
processors: [memory_limiter, batch, resourcedetection]
exporters: [otlp]
ゲートウェイを設定する
ゲートウェイモードでは、関連するレシーバーがエージェントからのエクスポーターと一致するようにします。さらに、次の変更を行う必要があります。
http_forwarder エクステンション
http_forwarder はポート 6060 でリッスンし、すべての REST API 呼び出しを Splunk Observability Cloud に直接送信します。
ゲートウェイモードでは、egress エンドポイントを Splunk Observability Cloud SaaS エンドポイントに設定します。
signalfx エクスポーター
translation_rules および exclude_metrics フラグの両方をデフォルト値に設定することで、コメントアウトや削除が可能です。これにより、エージェント上の SignalFx エクスポーターによって通常実行される hostmetrics 集約が、ゲートウェイ上の SignalFx エクスポーターによって代わりに実行されるようになります。
例
以下は各セクションの関連する設定スニペットです:
extensions:
http_forwarder:
egress:
endpoint: "https://api.${SPLUNK_REALM}.signalfx.com"
receivers:
otlp:
protocols:
grpc:
http:
signalfx:
exporters:
# Traces
otlphttp:
access_token: "${SPLUNK_ACCESS_TOKEN}"
traces_endpoint: "https://ingest.${SPLUNK_REALM}.signalfx.com/v2/trace/otlp"
# Metrics + Events
signalfx:
access_token: "${SPLUNK_ACCESS_TOKEN}"
realm: "${SPLUNK_REALM}"
service:
extensions: [http_forwarder]
pipelines:
traces:
receivers: [otlp]
processors:
- memory_limiter
- batch
exporters: [otlphttp]
metrics:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [signalfx]
両方の Collector モードでSignalFxエクスポーターを使用する
また、ホストモニタリング(エージェント)モードとデータ転送(ゲートウェイ)モードの両方で SignalFx エクスポーターをメトリクスに使用する場合は、ゲートウェイでの集約を無効にする必要があります。これを行うには、 translation_rules と exclude_metrics を空のリストに設定する必要があります。
例
ゲートウェイモードのエージェントを以下のように設定します:
exporters:
# Traces
otlphttp:
access_token: "${SPLUNK_ACCESS_TOKEN}"
endpoint: "https://ingest.${SPLUNK_REALM}.signalfx.com/v2/trace/otlp"
# Metrics + Events
signalfx:
access_token: "${SPLUNK_ACCESS_TOKEN}"
realm: "${SPLUNK_REALM}"
translation_rules: []
exclude_metrics: []
service:
extensions: [http_forwarder]
pipelines:
traces:
receivers: [otlp]
processors:
- memory_limiter
- batch
exporters: [otlphttp]
metrics:
receivers: [signalfx]
processors: [memory_limiter, batch]
exporters: [signalfx]