Skip to content

Instantly share code, notes, and snippets.

@ycyr
Last active September 27, 2020 17:56
Show Gist options
  • Save ycyr/0110b34878f4f49d3cce80c6be207010 to your computer and use it in GitHub Desktop.
Save ycyr/0110b34878f4f49d3cce80c6be207010 to your computer and use it in GitHub Desktop.
prometheus-consul
- job_name: 'blackbox'
metrics_path: /probe
consul_sd_configs:
- server: '192.168.0.30:8500'
relabel_configs:
- source_labels: [__meta_consul_tags]
regex: .*,blackbox,.*
action: keep
- source_labels: [__meta_consul_service]
target_label: job
- source_labels: [__meta_consul_service]
target_label: __param_module
- regex: __meta_consul_service_metadata_(.*)
replacement: '${1}'
action: labelmap
- source_labels: [__meta_consul_service_metadata_target]
target_label: __param_target
- regex: target
action: labeldrop
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.0.61:9115 # The blackbox exporter's real hostname:port.
consul agent -data-dir=/tmp/consul -bind=0.0.0.0 -enable-script-checks=true -config-dir=/etc/consul.d -client 0.0.0.0 -advertise=159.203.43.13 --join=159.89.127.232
consul agent -server -data-dir=/tmp/consul_data -enable-script-checks -config-dir=/etc/consul.d -ui -client=0.0.0.0 -bind=0.0.0.0 -advertise=159.89.127.232 -bootstrap
{
"Datacenter": "lab",
"Node": "client2",
"Address": "192.168.0.62",
"Service": {
"Service": "node-exporter",
"Tags": [
"metrics"
],
"Port": 9090
}
}
{
"service": {
"name": "node-exporter",
"tags": [
"metrics"
],
"port": 9100,
"checks": [
{
"interval" :"10s",
"timeout" : "2s",
"id": "prometheus",
"name": "Node Exporter HTTP 9100",
"http": "http://localhost:9100/metric"
}
]
}
{
"Node": "XXXXX",
"Address": "XXXX",
"Service": {
"Service": "node-exporter",
"Tags": [
"prometheus"
],
"Port": 9100,
"Meta": {
"infrastructure": "serveur",
"context": "monitoring",
"site": "XXXX",
"zone": "XXXXX",
"type": "linux"
}
}
}
{
"service": {
"name": "prometheus",
"tags": [
"metrics"
],
"port": 9090,
"checks": [
{
"interval" :"10s",
"timeout" : "2s",
"id": "prometheus",
"name": "HTTP prometheus 9090",
"http": "http://localhost:9090/targets",
"tls_skip_verify": false
}
]
}
}
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'consul'
consul_sd_configs:
- server: 'localhost:8500'
relabel_configs:
- source_labels: [__meta_consul_tags]
regex: .*,metrics,.*
action: keep
- source_labels: [__meta_consul_service]
target_label: job
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment