Ctrl K
ComunidadGuías…

docker-compose.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
version: '3.9'

services:

  prometheus:
    image: prom/prometheus:v2.45.0
    container_name: prometheus
    volumes:
      - ./prometheus:/etc/prometheus
      - ./prometheus_data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--web.console.libraries=/etc/prometheus/console_libraries'
      - '--web.console.templates=/etc/prometheus/consoles'
      - '--storage.tsdb.retention.time=200h'
      - '--web.enable-lifecycle'
    restart: unless-stopped
    ports:
      - 9090:9000
    labels:
      org.label-schema.group: "monitoring"
    networks:
      - monitor-net

  influxdb:
    image: influxdb:1.8.1
    container_name: influxdb
    restart: always
    environment:
      - INFLUXDB_DB=influx
      - INFLUXDB_ADMIN_USER=${INFLUX_ADMIN_USER:-admin}
      - INFLUXDB_ADMIN_PASSWORD=${INFLUX_ADMIN_PASSWORD:-admin}
    ports:
      - '8086:8086'
    volumes:
      - ./influxdb/data:/var/lib/influxdb
      - ./influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
    labels:
      org.label-schema.group: "monitoring"
    networks:
      - monitor-net


  alertmanager:
    image: prom/alertmanager:v0.25.0
    container_name: alertmanager
    volumes:
      - ./prometheus/config:/etc/prometheus
      - ./prometheus/data:/prometheus
    command:
      - '--config.file=/etc/alertmanager/config.yml'
      - '--storage.path=/alertmanager'
    restart: unless-stopped
    ports:
      - 9093:9093
    labels:
      org.label-schema.group: "monitoring"
    networks:
      - monitor-net

  nodeexporter:
    image: prom/node-exporter:v1.6.0
    container_name: nodeexporter
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - '--path.procfs=/host/proc'
      - '--path.rootfs=/rootfs'
      - '--path.sysfs=/host/sys'
      - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
    restart: unless-stopped
    ports:
      - 9100:9100
    labels:
      org.label-schema.group: "monitoring"
    networks:
      - monitor-net

      
  cadvisor:
    image: gcr.io/cadvisor/cadvisor:v0.47.1
    container_name: cadvisor
    privileged: true
    devices:
      - /dev/kmsg:/dev/kmsg
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:ro
      - /sys:/sys:ro
      - /var/lib/docker:/var/lib/docker:ro
      #- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
    restart: unless-stopped
    ports:
      - 8080:8080
    labels:
      org.label-schema.group: "monitoring"
    networks:
      - monitor-net
      
  grafana:
    image: grafana/grafana:10.0.1
    container_name: grafana
    volumes:
      - ./grafana/data:/var/lib/grafana
      - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
      - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
    environment:
      - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
      - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
      - GF_USERS_ALLOW_SIGN_UP=false
    restart: unless-stopped
    ports:
      - 3000:3000
    labels:
      org.label-schema.group: "monitoring"
    networks:
      - monitor-net
      
  pushgateway:
    image: prom/pushgateway:v1.6.0
    container_name: pushgateway
    restart: unless-stopped
    ports:
      - 9091:9091
    labels:
      org.label-schema.group: "monitoring"
    networks:
      - monitor-net
      
networks:
  monitor-net:
    driver: bridge