Closed3

Datadogでkube-apiserverのメトリクスを収集する

mikutasmikutas

default Namespaceにいるkubernetes ServiceにアノテーションをつけるとDatadogが収集してくれる(Datadogのドキュメントに書いてある方法)

annotations:
  ad.datadoghq.com/endpoints.check_names: '["kube_apiserver_metrics"]'
  ad.datadoghq.com/endpoints.init_configs: '[{}]'
  ad.datadoghq.com/endpoints.instances:
    '[{ "prometheus_url": "https://%%host%%:%%port%%/metrics", "bearer_token_auth": "true" }]'
mikutasmikutas

DatadogのHelmチャートだけで完結させる場合、設定ファイルをConfigMap経由で作ることになるが、

You can also run the check by configuring the endpoints directly in the kube_apiserver_metrics.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory.

ドキュメント通りkube_apiserver_metrics.d/conf.yamlというファイルにしようとしてもConfigMapのdataのキーにスラッシュが使えず怒られる。

しかし別にkube_apiserver_metrics.yamlというファイル名でも問題なかった。

  datadog:
    confd:
      "kube_apiserver_metrics.yaml": |-
        instances:
        - prometheus_url: https://kubernetes.default.svc.cluster.local/metrics
    clusterChecks:
      enabled: true
    clusterChecksRunner:
      enabled: true

clusterChecksRunner.enabled: trueはなくてもメトリクスの収集は可能。

https://docs.datadoghq.com/containers/cluster_agent/clusterchecksrunner/?tab=helm

各ノードのエージェント全員がこの仕事をする必要はなさそうなので有効にした(有効にするとdatadog-clustercheck Deploymentができる)。

このスクラップは2022/10/11にクローズされました