Comment surveiller nginx avec l'outil de surveillance payant datadog. Cependant, lors de la configuration de l'agent datadog avec docker-compose ...
Documentation officielle (presque inutile) https://docs.datadoghq.com/ja/integrations/nginx/?tab=host
Tout d'abord, regardez ceci et insérez le module nginx status_module. (Il n'est pas lié à docker pour l'instant)
En bref, ce n'est pas grave si vous pouvez voir l'état sur localhost: 81.
Il existe un exemple de paramètre pour surveiller nginx à l'aide de docker-compose! !! !!
Pour les environnements de conteneur, reportez-vous au Guide du modèle d'intégration de découverte automatique et appliquez les paramètres suivants:
Donc, même si je vais sur la page guidée, il n'y a pas d'exemple de docker-compose ... https://docs.datadoghq.com/ja/agent/kubernetes/integrations/?tab=kubernetes
Le point est, dois-je créer un fichier de configuration .yaml et le copier, ou le monter? Exemple de fichier? Qu'est-ce que c'est?
conf.d/<INTEGRATION_NAME>.d/conf.yaml
Donc, les paramètres pour nginx sont comme ceux-ci
<Nom de l'intégration> nginx
<Configuration initiale>Vierge ou{}
<Configuration de l'instance> {"nginx_status_url": "http://%%host%%:81/nginx_status/"}
Je ne sais même pas! !! !! !! Que dois-je mettre dans <nom de l'intégration>? où? Quel est le nom du fichier? La documentation officielle est trop hostile! !! !! !!
Puisque datadog est un outil payant, il y a peu d'articles que j'ai essayés ...
Donc, ce qui suit est le fichier docker-compose.yml correct.
docker-compose.yml
version: "3.8"
services:
web:
build:
context: ./docker/nginx
ports:
- 80:80
#Supprimer les paramètres non pertinents
#Les paramètres jusqu'à présent n'ont rien à voir avec le journal de données. Il n'est pas nécessaire d'ouvrir le port 81.
#À partir de là, le réglage de la partie centrale pour se connecter avec datadog
links:
- dd-agent:dd-agent
depends_on:
- dd-agent
labels:
com.datadoghq.ad.check_names: '["nginx"]'
com.datadoghq.ad.init_configs: '[{}]'
com.datadoghq.ad.instances: '[{"nginx_status_url": "http://%%host%%:81/nginx_status"}]'
com.datadoghq.ad.logs: '[{"source": "nginx", "service": "web"}]'
#paramètres du conteneur datadog
dd-agent:
container_name: dd-agent
image: datadog/agent:7
environment:
- DD_API_KEY=Écrivez votre clé API ici
- DD_APM_ENABLED=true
- DD_LOGS_ENABLED=true
- DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true
- DD_AC_EXCLUDE="name:dd-agent"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /proc/:/host/proc/:ro
- /sys/fs/cgroup:/host/sys/fs/cgroup:ro
ports:
- "8126:8126/tcp"
Maintenant, lancez le conteneur et vérifiez l'existence avec docker ps. OK si c'est sain.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
577f6b34b971 datadog/agent:7 "/init" 39 seconds ago Up 37 seconds (healthy) 8125/udp, 0.0.0.0:8126->8126/tcp dd-agent
S'il est vivant, vérifiez l'état du datadog.
$ docker exec -it dd-agent agent status
Avec cette commande, s'il y a une chaîne de caractères nginx en échec et que quelque chose semble être fait, c'est OK. (Omis car il est long)
nginx (3.9.0)
-------------
Instance ID: nginx:[OK]
Configuration Source: docker:docker://
Total Runs: 4
Metric Samples: Last Run: 7, Total: 28
Events: Last Run: 0, Total: 0
Service Checks: Last Run: 1, Total: 4
Average Execution Time : 5ms
Last Execution Date : 2020-10-27 10:20:20.000000 UTC
Last Successful Execution Date : 2020-10-27 10:20:20.000000 UTC
metadata:
version.major: 1
version.minor: 18
version.patch: 0
version.raw: 1.18.0
version.scheme: semver
Il n'y a pas d'échantillon ou d'article d'une telle combinaison d'applications de base, il n'y a pas de datadog ... c'est difficile ...
DD_API_KEY au lieu d'API_KEY La commande d'état n'existait pas lors de l'utilisation de l'ancien agent dd, etc.
https://y-ohgi.com/2019-aws-handson/datadog/docker-compose/ https://tech.griphone.co.jp/2018/12/02/advent-calendar-20181202/ https://qiita.com/comefigo/items/4d867a39ad2fd5b9bbd2 https://qiita.com/spesnova/items/b1f2cc4e33ddf7cea285