Skip to content

Instantly share code, notes, and snippets.

@cgarjun
Created January 7, 2023 11:08
Show Gist options
  • Select an option

  • Save cgarjun/a7048d6edc46c4dc0c9bbc7552685bb6 to your computer and use it in GitHub Desktop.

Select an option

Save cgarjun/a7048d6edc46c4dc0c9bbc7552685bb6 to your computer and use it in GitHub Desktop.

Revisions

  1. cgarjun created this gist Jan 7, 2023.
    60 changes: 60 additions & 0 deletions docker-prometheus.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,60 @@
    # docker-compose.yml
    version: "3"
    services:
    prometheus:
    image: prom/prometheus

    test-service: # <- this
    image: nginx
    deploy:
    replicas: 3
    ---
    # prometheus.yml
    scrape_configs:
    - job_name: test
    dns_sd_configs:
    - names:
    - test-service # goes here
    type: A
    port: 80


    # A example scrape configuration for running Prometheus with Docker.

    scrape_configs:
    # Make Prometheus scrape itself for metrics.
    - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]

    # Create a job for Docker daemon.
    #
    # This example requires Docker daemon to be configured to expose
    # Prometheus metrics, as documented here:
    # https://docs.docker.com/config/daemon/prometheus/
    - job_name: "docker"
    static_configs:
    - targets: ["localhost:9323"]

    # Create a job for Docker Swarm containers.
    #
    # This example works with cadvisor running using:
    # docker run --detach --name cadvisor -l prometheus-job=cadvisor
    # --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock,ro
    # --mount type=bind,src=/,dst=/rootfs,ro
    # --mount type=bind,src=/var/run,dst=/var/run
    # --mount type=bind,src=/sys,dst=/sys,ro
    # --mount type=bind,src=/var/lib/docker,dst=/var/lib/docker,ro
    # google/cadvisor -docker_only
    - job_name: "docker-containers"
    docker_sd_configs:
    - host: unix:///var/run/docker.sock # You can also use http/https to connect to the Docker daemon.
    relabel_configs:
    # Only keep containers that have a `prometheus-job` label.
    - source_labels: [__meta_docker_container_label_prometheus_job]
    regex: .+
    action: keep
    # Use the task labels that are prefixed by `prometheus-`.
    - regex: __meta_docker_container_label_prometheus_(.+)
    action: labelmap
    replacement: $1