Merge pull request #4785 from ti-mo/master

Add documentation for new marathon-sd functionality
This commit is contained in:
Frederic Branczyk 2018-10-26 17:30:23 +02:00 committed by GitHub
commit 4800401eec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 66 additions and 2 deletions

View File

@ -874,8 +874,12 @@ tls_config:
By default every app listed in Marathon will be scraped by Prometheus. If not all By default every app listed in Marathon will be scraped by Prometheus. If not all
of your services provide Prometheus metrics, you can use a Marathon label and of your services provide Prometheus metrics, you can use a Marathon label and
Prometheus relabeling to control which instances will actually be scraped. Also Prometheus relabeling to control which instances will actually be scraped.
by default all apps will show up as a single job in Prometheus (the one specified See [the Prometheus marathon-sd configuration file](/documentation/examples/prometheus-marathon.yml)
for a practical example on how to set up your Marathon app and your Prometheus
configuration.
By default, all apps will show up as a single job in Prometheus (the one specified
in the configuration file), which can also be changed using relabeling. in the configuration file), which can also be changed using relabeling.
### `<nerve_sd_config>` ### `<nerve_sd_config>`

View File

@ -0,0 +1,60 @@
# 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__