Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » Collector for Kubernetesを使い始める » Collector for Kubernetes のトラブルシューティング » Troubleshoot missing metrics

Troubleshoot missing metrics 🔗

Splunk Collector for Kubernetesには、k8s.pod.*k8s.node.* で始まるメトリクスがありません。 🔗

OpenTelemetry Collector for Kubernetes Chartバージョン0.87.0以上のSplunkディストリビューションを新規インストールまたはアップグレードでデプロイすると、以下のポッドとノードのメトリクスが収集されません:

  • k8s.(pod/node).cpu.time

  • k8s.(pod/node).cpu.utilization

  • k8s.(pod/node).filesystem.available

  • k8s.(pod/node).filesystem.capacity

  • k8s.(pod/node).filesystem.usage

  • k8s.(pod/node).memory.available

  • k8s.(pod/node).memory.major_page_faults

  • k8s.(pod/node).memory.page_faults

  • k8s.(pod/node).memory.rss

  • k8s.(pod/node).memory.usage

  • k8s.(pod/node).memory.working_set

  • k8s.(pod/node).network.errors

  • k8s.(pod/node).network.io

Confirm the metrics are missing 🔗

To confirm these metrics are missing perform the following steps:

  1. 次のSplunk Search Processing Language (SPL) コマンドでメトリクスが欠落していることを確認します:

| mstats count(_value) as "Val" where index="otel_metrics_0_93_3" AND metric_name IN (k8s.pod.*, k8s.node.*) by metric_name
  1. このコマンドで、KubernetesノードのCLIから、Collectorのポッドログを確認します:

kubectl -n {namespace} logs {collector-agent-pod-name}

注: namespacecollector-agent-pod-name はお使いの環境に基づいて更新してください。

  1. エージェントポッドのログに、以下のような「tls: failed to verify certificate」エラーが表示されます:

2024-02-28T01:11:24.614Z    error   scraperhelper/scrapercontroller.go:200  Error scraping metrics  {"kind": "receiver", "name": "kubeletstats", "data_type": "metrics", "error": "Get \"https://10.202.38.255:10250/stats/summary\": tls: failed to verify certificate: x509: cannot validate certificate for 10.202.38.255 because it doesn't contain any IP SANs", "scraper": "kubeletstats"}
go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).scrapeMetricsAndReport
  go.opentelemetry.io/collector/receiver@v0.93.0/scraperhelper/scrapercontroller.go:200
go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).startScraping.func1
  go.opentelemetry.io/collector/receiver@v0.93.0/scraperhelper/scrapercontroller.go:176

Resolution 🔗

Kubelet統計レシーバー はKubernetesエンドポイント /stats/summary から k8s.(ポッドまたはノード) メトリクスを収集します。Splunk OTel Collectorのバージョン0.87.0では、このプロセス中にkubelet証明書が検証され、有効であることが確認されます。自己署名または無効な証明書を使用している場合、Kubelet statsレシーバーはメトリクスを収集できません。

このエラーを解決するには2つの方法があります:

  1. Kubernetesクラスターに有効な証明書を追加します。方法は Helmで Collector for Kubernetes を設定する を参照してください。values.yaml ファイルを更新した後、Helm upgradeコマンドを使用してCollectorデプロイをアップグレードします。

  2. values.yamlのagent.configセクションでKubelet statsレシーバーの insecure_skip_verify: true を設定することで、OTelエージェントのKubelet Statsレシーバーで証明書検証を無効にします。

たとえば、以下の設定を使用して証明書検証を無効にします:

agent:
  config:
    receivers:
      kubeletstats:
        insecure_skip_verify: true

注意

証明書検証を無効にする前に、セキュリティ要件に留意してください。

このページは 2024年08月05日 に最終更新されました。