So überwachen Sie nginx mit dem kostenpflichtigen Überwachungstool datadog. Beim Einrichten des Datadog-Agenten mit Docker-Compose ...
Offizielle Dokumentation (fast nutzlos) https://docs.datadoghq.com/ja/integrations/nginx/?tab=host
Schauen Sie sich das zuerst an und fügen Sie das nginx status_module ein. (Es ist noch nicht mit Docker verwandt)
Kurz gesagt, es ist in Ordnung, wenn Sie den Status bei localhost sehen können: 81.
Es gibt eine Beispieleinstellung zum Überwachen von Nginx mit Docker-Compose! !! !!
Informationen zu Containerumgebungen finden Sie im AutoDiscovery Integration Template Guide. Wenden Sie die folgenden Parameter an:
Selbst wenn ich zur geführten Seite gehe, gibt es kein Beispiel für Docker-Compose ... https://docs.datadoghq.com/ja/agent/kubernetes/integrations/?tab=kubernetes
Der Punkt ist, sollte ich eine Konfigurationsdatei .yaml erstellen und kopieren oder mounten? Beispieldatei? was ist das?
conf.d/<INTEGRATION_NAME>.d/conf.yaml
Die Einstellungen für Nginx sind also wie folgt
<Integrationsname> nginx
<Anfangskonfiguration>Leer oder{}
<Instanzkonfiguration> {"nginx_status_url": "http://%%host%%:81/nginx_status/"}
Ich weiß es nicht einmal! !! !! !! Was soll ich in
Da Datadog ein kostenpflichtiges Tool ist, habe ich nur wenige Artikel ausprobiert ...
Das Folgende ist also die richtige Datei docker-compose.yml.
docker-compose.yml
version: "3.8"
services:
web:
build:
context: ./docker/nginx
ports:
- 80:80
#Löschen Sie irrelevante Einstellungen
#Die Einstellungen bis zu diesem Punkt haben nichts mit Datadog zu tun. Port 81 muss nicht geöffnet werden.
#Von hier aus ist die Einstellung des Kernteils für die Protokollierung mit 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"}]'
#Einstellungen für Datadog-Container
dd-agent:
container_name: dd-agent
image: datadog/agent:7
environment:
- DD_API_KEY=Schreiben Sie hier Ihren API-Schlüssel
- 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"
Starten Sie nun den Container und überprüfen Sie die Existenz mit Docker ps. OK, wenn es gesund ist.
$ 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
Wenn Sie am Leben sind, überprüfen Sie den Status des Datenprotokolls.
$ docker exec -it dd-agent agent status
Mit diesem Befehl ist es in Ordnung, wenn eine Zeichenfolge nginx überprüft wird und etwas getan zu sein scheint. (Weggelassen, weil es lang ist)
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
Es gibt kein Beispiel oder Artikel einer solchen grundlegenden Anwendungskombination, es gibt keinen Datenhund ... es ist schwierig ...
DD_API_KEY anstelle von API_KEY Der Statusbefehl war bei Verwendung des alten dd-agent usw. nicht vorhanden.
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
Recommended Posts