7,540
edits
Changes
→Node Exporter Server Metrics
Importálhatunk komplett Dashboard-okat, ami előre van gyártva. A NodeExporter metrikákhoz pl több Dashboard is készült, ilyen pl a '''Node Exporter Server Metrics''', ahol az összes node-ot akár egyszerre is láthatjuk. Az a baj, hogy a Node listában nem csak a Node Exporter-ek vannak, hanem az összes hoszt, aki a '''monitor''' nevű overlay hálózatra csatlakozik.
A node exporter-hez ebből a hosszú listából csak 4 IP tartozik
=Swarm stack=
Az egész fentebb leírt architektúrát létrehozhatjuk swarm stack-ként egyetlen egy docker compose fájlal.
'''docker-compose.yml'''
<syntaxhighlight lang="C++">
version: '3'
services:
cadvisor:
image: google/cadvisor:v0.28.5
networks:
- monitor
volumes:
- "/:/rootfs"
- "/var/run:/var/run"
- "/sys:/sys"
- "/var/lib/docker:/var/lib/docker"
deploy:
mode: global
restart_policy:
condition: on-failure
node-exporter:
image: basi/node-exporter:v1.15.0
networks:
- monitor
volumes:
- "/proc:/host/proc"
- "/sys:/host/sys"
- "/:/rootfs"
- "/etc/hostname:/etc/host_hostname"
command:
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)"
- "--collector.textfile.directory=/etc/node-exporter/"
environment:
- HOST_HOSTNAME=/etc/host_hostname
deploy:
mode: global
restart_policy:
condition: on-failure
prometheus:
image: prom/prometheus:v2.3.2
ports:
- "9090:9090"
networks:
- monitor
volumes:
- "prometheus-conf:/etc/prometheus"
- "prometheus-data:/prometheus"
grafana:
image: grafana/grafana:5.2.4
ports:
- "3000:3000"
networks:
- monitor
volumes:
- "grafana-conf:/etc/grafana"
- "grafana-data:/var/lib/grafana"
networks:
monitor:
driver: overlay
volumes:
prometheus-conf:
driver: nfs
driver_opts:
share: 192.168.42.1:/home/adam/Projects/DockerCourse/persistentstore/prometheus/config
prometheus-data:
driver: nfs
driver_opts:
share: 192.168.42.1:/home/adam/Projects/DockerCourse/persistentstore/prometheus/data
grafana-conf:
driver: nfs
driver_opts:
share: 192.168.42.1:/home/adam/Projects/DockerCourse/persistentstore/grafana/config/grafana
grafana-data:
driver: nfs
driver_opts:
share: 192.168.42.1:/home/adam/Projects/DockerCourse/persistentstore/grafana/data
</syntaxhighlight>
Kiemelendők:
* A '''Netshare''' NFS volume-okat csak a globális '''volumes''' szekcióban lehet definiálni, mert csak a globális volumes szekciónak van '''driver''' és '''driver_opts''' paramétere.
* A Netshare 0.35-ös verziójában bevezették a '''share''' paraméter kezelését. Korábbi verziókat még nem lehetett swarm stack-ben (compose) használni. A globális '''volumes''' szekcióban a volume forrását elvileg nem kell megadni, az a swarm-ra van bízva, hogy hol hozza létre, ezért nincs neki src paramétere. Az egyetlen erre használható paraméter a '''driver_opts''' share paramétere, amit a korábbi verziók még nem tudtak kezelni. (Emlékezzünk vissza, hogy a swarm service definícióban ez nem okoz gondot, mert ott a forrást is meg tudtuk adni)
* Mivel a globális '''networks''' szekcióban nem adtuk meg az external paramétert, a '''monitor''' nevű overlay hálózatot minden alkalommal létre fogja hozni a swarm stack telepítése előtt, és le is fogja törölni ha töröljük a stack-et.