Nouvelles annonces sur les technologies sans serveur et réseau ainsi que sur le RUM (Real-User Monitoring) dévoilées à la conférence Dash ! Nouvelles annonces dévoilées à la conférence Dash !

Métriques du serveur d'API Kubernetes

Agent Check Check de l'Agent

Supported OS: Linux

Présentation

Ce check surveille Kube_apiserver_metrics.

Implémentation

Installation

Le check Kube_apiserver_metrics est inclus avec le paquet de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur votre serveur.

Configuration

Le check Kube_apiserver_metrics est principalement utilisé au niveau des clusters. Consultez la documentation relative aux checks de cluster. Vous pouvez annoter le service de votre apiserver avec ce qui suit :

Annotations:       ad.datadoghq.com/endpoint.check_names: ["kube_apiserver_metrics"]
                   ad.datadoghq.com/endpoint.init_configs: [{}]
                   ad.datadoghq.com/endpoint.instances:
                     [
                       {
                         "prometheus_url": "%%host%%:%%port%%/metrics",
                         "bearer_token_auth": "true"
                       }
                     ]
                   ad.datadoghq.com/service.check_names: [""]
                   ad.datadoghq.com/service.init_configs: [{}]
                   ad.datadoghq.com/service.instances: [{}]

L’Agent de cluster Datadog programme ensuite le ou les checks pour chaque endpoint sur le ou les Agents Datadog.

Attention : votre ou vos apiserver doivent être exécutés en tant que pods. Les autres méthodes d’exécution (p. ex., les unités systemd) ne sont actuellement pas prises en charge.

Vous pouvez également exécuter le check en configurant directement les endpoints dans le fichier kube_apiserver_metrics.d/conf.yaml, dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple kube_apiserver_metrics.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

Par défaut, l’Agent qui exécute le check essaie d’obtenir le jeton de porteur du compte du service dans le but d’effectuer l’authentification auprès de APIServer. Si vous n’utilisez pas de système RBAC, définissez bearer_token_auth sur false.

Enfin, si vous exécutez l’Agent Datadog sur les nœuds principaux, vous pouvez faire appel à Autodiscovery pour programmer l’exécution du check. Si vous exécutez l’image officielle k8s.gcr.io/kube-apiserver, cette opération s’effectue automatiquement.

Validation

Lancez la sous-commande status de l’Agent et cherchez kube_apiserver_metrics dans la section Checks.

Données collectées

Métriques

kube_apiserver.longrunning_gauge
(gauge)
Gauge of all active long-running apiserver requests broken out by verb API resource and scope. Not all requests are tracked this way.
shown as request
kube_apiserver.current_inflight_requests
(gauge)
Maximal number of currently used inflight request limit of this apiserver per request kind in last second.
kube_apiserver.audit_event
(gauge)
Accumulated number audit events generated and sent to the audit backend
shown as event
kube_apiserver.go_threads
(gauge)
Number of OS threads created
shown as thread
kube_apiserver.go_goroutines
(gauge)
Number of goroutines that currently exist
kube_apiserver.APIServiceRegistrationController_depth
(gauge)
Current depth of workqueue: APIServiceRegistrationController
kube_apiserver.etcd_object_counts
(gauge)
Number of stored objects at the time of last check split by kind
shown as object
kube_apiserver.rest_client_requests_total
(gauge)
Accumulated number of HTTP requests partitioned by status code method and host
shown as request
kube_apiserver.apiserver_request_count
(gauge)
Accumulated number of apiserver requests broken out for each verb API resource client and HTTP response contentType and code
shown as request
kube_apiserver.apiserver_dropped_requests_total
(gauge)
Accumulated number of requests dropped with 'Try again later' response
shown as request
kube_apiserver.http_requests_total
(gauge)
Accumulated number of HTTP requests made
shown as request
kube_apiserver.authenticated_user_requests
(gauge)
Accumulated number of authenticated requests broken out by username
shown as request
kube_apiserver.audit_event.count
(count)
Monotonic count of audit events generated and sent to the audit backend
shown as event
kube_apiserver.rest_client_requests_total.count
(count)
Monotonic count of HTTP requests partitioned by status code method and host
shown as request
kube_apiserver.apiserver_request_count.count
(count)
Monotonic count of apiserver requests broken out for each verb API resource client and HTTP response contentType and code
shown as request
kube_apiserver.apiserver_dropped_requests_total.count
(count)
Monotonic count of requests dropped with 'Try again later' response
shown as request
kube_apiserver.http_requests_total.count
(count)
Monotonic count of the number of HTTP requests made
shown as request
kube_apiserver.authenticated_user_requests.count
(count)
Monotonic count of authenticated requests broken out by username
shown as request

Checks de service

Kube_apiserver_metrics n’inclut aucun check de service.

Événements

Kube_apiserver_metrics n’inclut aucun événement.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.


Mistake in the docs? Feel free to contribute!