126 lines
2.7 KiB
YAML
126 lines
2.7 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
grafana:
|
|
image: portainer/template-swarm-monitoring:grafana-9.5.2
|
|
ports:
|
|
- target: 3000
|
|
published: 3000
|
|
protocol: tcp
|
|
mode: ingress
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
- node.labels.monitoring == true
|
|
volumes:
|
|
- type: volume
|
|
source: grafana-data
|
|
target: /var/lib/grafana
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=${GRAFANA_USER}
|
|
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
|
|
- GF_USERS_ALLOW_SIGN_UP=false
|
|
networks:
|
|
- net
|
|
|
|
prometheus:
|
|
image: portainer/template-swarm-monitoring:prometheus-v2.44.0
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--log.level=error'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--storage.tsdb.retention.time=7d'
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
- node.labels.monitoring == true
|
|
volumes:
|
|
- type: volume
|
|
source: prometheus-data
|
|
target: /prometheus
|
|
networks:
|
|
- net
|
|
|
|
cadvisor:
|
|
image: spcodes/cadvisor:v0.49.1
|
|
command: -logtostderr -docker_only
|
|
deploy:
|
|
mode: global
|
|
resources:
|
|
limits:
|
|
memory: 128M
|
|
reservations:
|
|
memory: 64M
|
|
volumes:
|
|
- type: bind
|
|
source: /
|
|
target: /rootfs
|
|
read_only: true
|
|
- type: bind
|
|
source: /var/run
|
|
target: /var/run
|
|
read_only: true
|
|
- type: bind
|
|
source: /sys
|
|
target: /sys
|
|
read_only: true
|
|
- type: bind
|
|
source: /var/lib/docker
|
|
target: /var/lib/docker
|
|
read_only: true
|
|
- type: bind
|
|
source: /dev/disk
|
|
target: /dev/disk
|
|
read_only: true
|
|
networks:
|
|
- net
|
|
|
|
node-exporter:
|
|
image: prom/node-exporter:v1.5.0
|
|
command:
|
|
- '--path.sysfs=/host/sys'
|
|
- '--path.procfs=/host/proc'
|
|
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
|
|
- '--no-collector.ipvs'
|
|
deploy:
|
|
mode: global
|
|
resources:
|
|
limits:
|
|
memory: 128M
|
|
reservations:
|
|
memory: 64M
|
|
volumes:
|
|
- type: bind
|
|
source: /
|
|
target: /rootfs
|
|
read_only: true
|
|
- type: bind
|
|
source: /proc
|
|
target: /host/proc
|
|
read_only: true
|
|
- type: bind
|
|
source: /sys
|
|
target: /host/sys
|
|
read_only: true
|
|
networks:
|
|
- net
|
|
|
|
volumes:
|
|
grafana-data:
|
|
prometheus-data:
|
|
|
|
networks:
|
|
net:
|
|
driver: host
|
|
|
|
|
|
|