Présentation
Ce check surveille le NGINX Ingress Controller Kubernetes.
Configuration
Installation
Le check nginx-ingress-controller
est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur votre serveur.
Configuration
Host
Si votre Agent s’exécute sur un host, modifiez le fichier nginx_ingress_controller.d/conf.yaml
dans le dossier conf.d/
à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos métriques NGINX Ingress Controller. Consultez le fichier d’exemple nginx_ingress_controller.d/conf.yaml pour découvrir toutes les options de configuration disponibles. Ensuite, redémarrez l’Agent.
Collecte de métriques
Par défaut, les métriques NGINX sont recueillies par le check nginx-ingress-controller
, mais nous vous conseillons d’exécuter le check nginx
sur le contrôleur Ingress.
Pour ce faire, faites en sorte que la page d’état NGINX soit accessible depuis l’Agent. Pour cela, utilisez le paramètre nginx-status-ipv4-whitelist
sur le contrôleur et ajoutez les annotations Autodiscovery au pod du contrôleur.
Par exemple, ces annotations activent les checks nginx
et nginx-ingress-controller
et la collecte de logs :
Paramètre | Valeur |
---|
<NOM_INTÉGRATION> | ["nginx","nginx_ingress_controller"] |
<CONFIG_INIT> | [{},{}] |
<CONFIG_INSTANCE> | [{"nginx_status_url": "http://%%host%%:18080/nginx_status"},{"prometheus_url": "http://%%host%%:10254/metrics"}] |
Consultez le fichier d’exemple nginx_ingress_controller.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
Remarque : à partir de la version 0.23.0 de nginx-ingress-controller
, le serveur nginx
qui effectuait son écoute sur le port 18080
a été supprimé. Il peut être rétabli en ajoutant le http-snippet
suivant à la ConfigMap de configuration :
http-snippet: |
server {
listen 18080;
location /nginx_status {
allow all;
stub_status on;
}
location / {
return 404;
}
}
Collecte de logs
Disponible à partir des versions > 6.0 de l’Agent
La collecte des logs est désactivée par défaut dans l’Agent Datadog. Pour l’activer, consultez la section Collecte de logs avec Kubernetes.
Paramètre | Valeur |
---|
<CONFIG_LOG> | [{"service": "controller", "source": "nginx-ingress-controller"}] |
Validation
Lancez la sous-commande status de l’Agent et cherchez nginx_ingress_controller
dans la section Checks.
Données collectées
Métriques
nginx_ingress.controller.cpu.time (count) | Cpu usage in seconds Shown as second |
nginx_ingress.controller.last.reload.success (gauge) | Whether the last configuration reload attempt was successful |
nginx_ingress.controller.mem.resident (gauge) | Resident memory size in bytes Shown as byte |
nginx_ingress.controller.mem.virtual (gauge) | Virtual memory size in bytes Shown as byte |
nginx_ingress.controller.reload.success (count) | Cumulative number of Ingress controller reload operations |
nginx_ingress.controller.request.duration.count (gauge) | The count of request processing time |
nginx_ingress.controller.request.duration.sum (gauge) | The sum of request processing time Shown as millisecond |
nginx_ingress.controller.request.size.count (gauge) | The count of request size |
nginx_ingress.controller.request.size.sum (gauge) | The sum of request size Shown as byte |
nginx_ingress.controller.requests (count) | The total number of client requests Shown as request |
nginx_ingress.controller.response.duration.count (gauge) | Count of response duration per Ingress |
nginx_ingress.controller.response.duration.sum (gauge) | Sum of response duration per Ingress Shown as second |
nginx_ingress.controller.response.size.count (gauge) | Count of response size per Ingress |
nginx_ingress.controller.response.size.sum (gauge) | Sum of response size per Ingress Shown as byte |
nginx_ingress.controller.upstream.latency.count (gauge) | Count of upstream service latency per Ingress |
nginx_ingress.controller.upstream.latency.quantile (gauge) | Quantiles of upstream service latency per Ingress Shown as second |
nginx_ingress.controller.upstream.latency.sum (gauge) | Sum of upstream service latency per Ingress Shown as second |
nginx_ingress.nginx.bytes.read (count) | Number of bytes read Shown as byte |
nginx_ingress.nginx.bytes.write (count) | Number of bytes written Shown as byte |
nginx_ingress.nginx.connections.current (gauge) | Current number of client connections with state Shown as connection |
nginx_ingress.nginx.connections.total (count) | Total number of connections with state Shown as connection |
nginx_ingress.nginx.cpu.time (count) | Cpu usage in seconds Shown as second |
nginx_ingress.nginx.mem.resident (gauge) | Resident memory size in bytes Shown as byte |
nginx_ingress.nginx.mem.virtual (gauge) | Virtual memory size in bytes Shown as byte |
nginx_ingress.nginx.process.count (gauge) | Number of nginx processes Shown as process |
nginx_ingress.nginx.requests.total (count) | Total number of client requests Shown as request |
Événements
NGINX Ingress Controller n’inclut aucun événement.
Checks de service
NGINX Ingress Controller n’inclut aucun check de service.
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.