Problème
L'intégration de Kubernetes nécessite kube-state-metrics
. S'il manque cet élément ou s'il y en a plusieurs, vous pouvez voir une erreur dans le log du conteneur nrk8s-ksm
similaire à :
bash
$time="2024-10-18T04:04:21Z" level=warning msg="Error populating KSM metrics: populate errors:, querying KSM: getting filtered metric families: error calling prometheus exposed metrics endpoint. Got status code: 400"$time="2024-10-18T04:04:21Z" level=warning msg="Error populating KSM metrics: populate errors:, querying KSM: getting filtered metric families: error calling prometheus exposed metrics endpoint. Got status code: 400"$time="2024-10-18T04:04:21Z" level=warning msg="Error populating KSM metrics: populate errors:, no data was populated"$time="2024-10-18T04:04:21Z" level=error msg="retrieving scraper data: retrieving ksm data: KSM data was not populated after trying all endpoints"
Solution
Essayez ce qui suit :
- Consultez les suggestions sur Échec de la découverte de kube-state-métriques.
- Spécifiez un espace de nommage pour le conteneur
kube-state-metrics
. Par défaut, le bundle d'intégration Kubernetes le crée dans l'espace de nommagenewrelic
.
newrelic-infrastructure: ksm: enabled: true config: selector: "app.kubernetes.io/name=kube-state-metrics" namespace: "newrelic"