Skip to content

Instantly share code, notes, and snippets.

@131
Created May 14, 2021 13:14
Show Gist options
  • Save 131/673350efbc89103fb3d2d7327e58ef6c to your computer and use it in GitHub Desktop.
Save 131/673350efbc89103fb3d2d7327e58ef6c to your computer and use it in GitHub Desktop.
remote_read:
- url: https://prometheus.gra1.metrics.ovh.net/remote_read
basic_auth:
username: ''
password: '<redacted>'
remote_write:
- url: https://prometheus.gra1.metrics.ovh.net/remote_write
basic_auth:
username: ''
password: '<redacted>'
scrape_configs:
- job_name: 'dockerswarm'
dockerswarm_sd_configs:
- host: unix:///var/run/docker.sock
role: tasks
relabel_configs:
- &keep_state
source_labels: [__meta_dockerswarm_task_desired_state]
regex: running
action: keep
- &keep_prometheus_job
source_labels: [__meta_dockerswarm_service_label_prometheus_job]
regex: .+
action: keep
- &keep_namespace
source_labels: [__meta_dockerswarm_network_label_com_docker_stack_namespace]
regex: web-monitor
action: keep
- &remap_job
source_labels: [__meta_dockerswarm_service_label_prometheus_job]
target_label: job
- &remap_path
source_labels: [__meta_dockerswarm_service_label_prometheus_path]
target_label: __metrics_path__
- &remap_port
source_labels: [__address__, __meta_dockerswarm_service_label_prometheus_port]
target_label: __address__
regex: (.*?):.*;(.*)
replacement: $1:$2
- source_labels: [__meta_dockerswarm_service_label_prometheus_job]
action: drop
regex: cadvisor
metric_relabel_configs:
- source_labels: [__name__]
regex: "go_.*"
action: drop
- job_name: 'cadvisor'
# preserve ovh quotas, keep only 5k metrics for services
sample_limit: 2000
dockerswarm_sd_configs:
- host: unix:///var/run/docker.sock
role: tasks
relabel_configs:
- <<: *keep_state
- <<: *keep_prometheus_job
- <<: *keep_namespace
- <<: *remap_job
- <<: *remap_path
- <<: *remap_port
- source_labels: [__meta_dockerswarm_service_label_prometheus_job]
action: keep
regex: cadvisor
metric_relabel_configs:
- source_labels: [__name__]
regex: "container_tasks_state"
action: drop
- source_labels: [__name__]
regex: "go_.*"
action: drop
# drop meta cadvisor services stats
- source_labels: [container_label_com_docker_swarm_service_name]
regex: "web-monitor_cadvisor"
action: drop
# drop NON stack metrics
- source_labels: [container_label_com_docker_stack_namespace]
regex: "web-monitor"
action: keep
# Keep only labels
# cpu is for cpu tasks / interface for network & device for fs stats
- regex: "job|__name__|container_label_com_docker_swarm_task_name|container_label_com_docker_stack_namespace|image|container_label_org_opencontainers_image_version|container_label_com_docker_swarm_service_name|cpu|device|interface"
action: labelkeep
- source_labels: [container_label_com_docker_swarm_task_name]
regex: '(.*)\.[^.]+'
replacement: '$1'
target_label: container_label_com_docker_swarm_task_name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment