跳到主內容

Grafana_Promethues docker-compose

version: '3.3'

volumes:
  prometheus_data: {}
  grafana_data: {}

networks:
  monitoring:
    driver: bridge

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./prometheus/:/etc/prometheus/
      - prometheus_data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--web.console.libraries=/usr/share/prometheus/console_libraries'
      - '--web.console.templates=/usr/share/prometheus/consoles'
    networks:
      - monitoring
    # links:
    #   - alertmanager
    #   - node_exporter
    expose:
      - '9090'
    ports:
      - 9090:9090

  # alertmanager:
  #   image: prom/alertmanager
  #   container_name: alertmanager
  #   restart: always
  #   volumes:
  #     - /etc/localtime:/etc/localtime:ro
  #     - ./alertmanager/:/etc/alertmanager/
  #   command:
  #     - '--config.file=/etc/alertmanager/config.yml'
  #     - '--storage.path=/alertmanager'
  #   networks:
  #     - monitoring
  #   expose:
  #     - '9093'
  #   ports:
  #     - 9099:9093

  # node_exporter 為了能夠采集到主機的運行指標如CPU, 內存,磁盤
  # node_exporter:
  #   image: prom/node-exporter:v0.18.0
  #   container_name: node_exporter
  #   restart: always
  #   volumes:
  #     - /etc/localtime:/etc/localtime:ro
  #     - /proc:/host/proc:ro
  #     - /sys:/host/sys:ro
  #     - /:/rootfs:ro
  #   command: 
  #     - '--path.procfs=/host/proc' 
  #     - '--path.sysfs=/host/sys'
  #     - --collector.filesystem.ignored-mount-points
  #     - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
  #   networks:
  #     - monitoring
  #   expose:
  #     - '9100'

  grafana:
    image: grafana/grafana
    user: "472"
    container_name: grafana
    restart: always
    environment:
      GF_SECURITY_ADMIN_PASSWORD: admin
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./grafana/grafana_data:/var/lib/grafana
      - ./grafana/provisioning/:/etc/grafana/provisioning/
    # env_file:
    #   - ./grafana/config.monitoring
    networks:
      - monitoring
    links:
      - prometheus
    ports:
      - 3000:3000
    depends_on:
      - prometheus


version: "3.7"
services:
    db:
        image: postgres:13.2-alpine
        restart: always
        environment:
            POSTGRES_DB: postgres
            POSTGRES_USER: postgres #postgres
            POSTGRES_PASSWORD: 12345678 #1234
            PGDATA: /var/lib/postgresql/data
        volumes:
            - ./data/db:/var/lib/postgresql/data
        ports:
            - "5432:5432"
    # pgadmin:
    #     image: dpage/pgadmin4:latest
    #     restart: always
    #     environment:
    #         PGADMIN_DEFAULT_EMAIL: admin@fmt.com.tw #xxx@gmail
    #         PGADMIN_DEFAULT_PASSWORD: 12345678 #abcd
    #         PGADMIN_LISTEN_PORT: 80
    #     ports:
    #         - "5433:80"
    #     volumes:
    #         - ./data/pgadmin-data:/var/lib/pgadmin
    #         - ./data/upload:/tmp/upload
    #     links:
    #         - "db:pgsql-server"
volumes:
    db-data:
    pgadmin-data: