152 lines
3.8 KiB
YAML
152 lines
3.8 KiB
YAML
# Prometheus - Metrics database
|
|
# Port: 9090
|
|
# Time-series metrics and alerting
|
|
|
|
version: '3'
|
|
|
|
services:
|
|
prometheus:
|
|
image: prom/prometheus
|
|
command:
|
|
- '--storage.tsdb.retention.time=60d'
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
container_name: Prometheus
|
|
hostname: prometheus-docker
|
|
networks:
|
|
- 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
|
|
ports:
|
|
- 12090:9090
|
|
volumes:
|
|
- /volume1/docker/prometheus/prometheus:/prometheus:rw
|
|
- /volume1/docker/prometheus/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/prometheus/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
|
|
|
|
blackbox-exporter:
|
|
image: prom/blackbox-exporter
|
|
container_name: blackbox-exporter
|
|
networks:
|
|
- prometheus-net
|
|
ports:
|
|
- 9115:9115
|
|
restart: unless-stopped
|
|
|
|
speedtest-exporter:
|
|
image: miguelndecarvalho/speedtest-exporter
|
|
container_name: speedtest-exporter
|
|
networks:
|
|
- prometheus-net
|
|
ports:
|
|
- 9798:9798
|
|
restart: unless-stopped
|
|
|
|
watchtower:
|
|
image: containrrr/watchtower:latest
|
|
container_name: WATCHTOWER
|
|
hostname: watchtower
|
|
networks:
|
|
- prometheus-net
|
|
mem_limit: 128m
|
|
mem_reservation: 50m
|
|
cpu_shares: 256
|
|
security_opt:
|
|
- no-new-privileges=true
|
|
read_only: true
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
TZ: America/Los_Angeles
|
|
WATCHTOWER_CLEANUP: true
|
|
WATCHTOWER_REMOVE_VOLUMES: false
|
|
DOCKER_API_VERSION: 1.43
|
|
WATCHTOWER_INCLUDE_RESTARTING: true
|
|
WATCHTOWER_INCLUDE_STOPPED: false
|
|
WATCHTOWER_SCHEDULE: "0 0 */2 * * *"
|
|
WATCHTOWER_LABEL_ENABLE: false
|
|
WATCHTOWER_ROLLING_RESTART: true
|
|
WATCHTOWER_TIMEOUT: 30s
|
|
WATCHTOWER_HTTP_API_METRICS: true
|
|
WATCHTOWER_HTTP_API_TOKEN: ${WATCHTOWER_HTTP_API_TOKEN}
|
|
restart: on-failure:5
|
|
|
|
networks:
|
|
prometheus-net:
|
|
name: prometheus-net
|
|
ipam:
|
|
config:
|
|
- subnet: 192.168.51.0/24
|