134 lines
3.2 KiB
Markdown
134 lines
3.2 KiB
Markdown
# Grafana
|
|
|
|
|
|
|
|
```yaml
|
|
version: "3.9"
|
|
services:
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: Grafana
|
|
hostname: grafana
|
|
networks:
|
|
- grafana-net
|
|
mem_limit: 512m
|
|
cpu_shares: 512
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
user: 1026:100
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:3000/api/health
|
|
ports:
|
|
- 3340:3000
|
|
volumes:
|
|
- /volume1/docker/grafana/data:/var/lib/grafana:rw
|
|
environment:
|
|
TZ: Europe/Paris
|
|
GF_INSTALL_PLUGINS: grafana-clock-panel,grafana-simple-json-datasource,natel-discrete-panel,grafana-piechart-panel
|
|
restart: on-failure:5
|
|
|
|
prometheus:
|
|
image: prom/prometheus
|
|
command:
|
|
- '--storage.tsdb.retention.time=60d'
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
container_name: Prometheus
|
|
hostname: prometheus-server
|
|
networks:
|
|
- grafana-net
|
|
- prometheus-net
|
|
mem_limit: 1g
|
|
cpu_shares: 768
|
|
security_opt:
|
|
- no-new-privileges=true
|
|
user: 1026:100
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:9090/ || exit 1
|
|
volumes:
|
|
- /volume1/docker/grafana/prometheus:/prometheus:rw
|
|
- /volume1/docker/grafana/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
restart: on-failure:5
|
|
|
|
node-exporter:
|
|
image: prom/node-exporter:latest
|
|
command:
|
|
- --collector.disable-defaults
|
|
- --collector.stat
|
|
- --collector.time
|
|
- --collector.cpu
|
|
- --collector.loadavg
|
|
- --collector.hwmon
|
|
- --collector.meminfo
|
|
- --collector.diskstats
|
|
container_name: Prometheus-Node
|
|
hostname: prometheus-node
|
|
networks:
|
|
- prometheus-net
|
|
mem_limit: 256m
|
|
mem_reservation: 64m
|
|
cpu_shares: 512
|
|
security_opt:
|
|
- no-new-privileges=true
|
|
read_only: true
|
|
user: 1026:100
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:9100/
|
|
restart: on-failure:5
|
|
|
|
snmp-exporter:
|
|
image: prom/snmp-exporter:latest
|
|
command:
|
|
- '--config.file=/etc/snmp_exporter/snmp.yml'
|
|
container_name: Prometheus-SNMP
|
|
hostname: prometheus-snmp
|
|
networks:
|
|
- prometheus-net
|
|
mem_limit: 256m
|
|
mem_reservation: 64m
|
|
cpu_shares: 512
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
read_only: true
|
|
user: 1026:100
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:9116/ || exit 1
|
|
volumes:
|
|
- /volume1/docker/grafana/snmp:/etc/snmp_exporter/:ro
|
|
restart: on-failure:5
|
|
|
|
cadvisor:
|
|
image: gcr.io/cadvisor/cadvisor:latest
|
|
command:
|
|
- '--docker_only=true'
|
|
container_name: Prometheus-cAdvisor
|
|
hostname: prometheus-cadvisor
|
|
networks:
|
|
- prometheus-net
|
|
mem_limit: 256m
|
|
mem_reservation: 64m
|
|
cpu_shares: 512
|
|
security_opt:
|
|
- no-new-privileges=true
|
|
read_only: true
|
|
volumes:
|
|
- /:/rootfs:ro
|
|
- /var/run:/var/run:ro
|
|
- /sys:/sys:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
restart: on-failure:5
|
|
|
|
networks:
|
|
grafana-net:
|
|
name: grafana-net
|
|
ipam:
|
|
config:
|
|
- subnet: 192.168.50.0/24
|
|
prometheus-net:
|
|
name: prometheus-net
|
|
ipam:
|
|
config:
|
|
- subnet: 192.168.51.0/24
|
|
|
|
```
|
|
|