# A example scrape configuration for running Prometheus on a Marathon # (or DC/OS) cluster. scrape_configs: # Make Prometheus scrape itself for metrics. - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] # Discover Marathon services to scrape. - job_name: "marathon" # Scrape Marathon itself to discover new services every minute. marathon_sd_configs: - servers: - http://marathon.mesos:8080 refresh_interval: 60s relabel_configs: # Only scrape targets that have a port label called 'metrics' specified on a port # in their app definitions. Example using a port mapping (container or bridge networking): # # "portMappings": [ # { # "containerPort": 9091, # "name": "prometheus", # "labels": { # "metrics": "/metrics" # } # } # ] # # Or, in case your service uses host networking, using a port definition: # # "portDefinitions" : [ # { # "port" : 9091, # "name" : "prometheus", # "labels": { # "metrics": "/metrics" # } # } # ] # Match a slash-prefixed string either in a portMapping or a portDefinition label. - source_labels: [ __meta_marathon_port_mapping_label_metrics, __meta_marathon_port_definition_label_metrics, ] regex: (\/.+;|;\/.+) action: keep # If a portMapping 'metrics' label is set, use the label value as the URI to scrape. - source_labels: [__meta_marathon_port_mapping_label_metrics] regex: (\/.+) target_label: __metrics_path__ # If a portDefinition 'metrics' label is set, use the label value as the URI to scrape. - source_labels: [__meta_marathon_port_definition_label_metrics] regex: (\/.+) target_label: __metrics_path__