first implement of blackbox

This commit is contained in:
Ludovic Cartier
2021-11-02 15:51:47 +01:00
parent 6e060e5ab0
commit 2214426937
6 changed files with 164 additions and 0 deletions

View File

@ -0,0 +1,37 @@
modules:
http_2xx:
prober: http
timeout: 30s
http:
preferred_ip_protocol: "ipv4"
http_post_2xx:
prober: http
http:
preferred_ip_protocol: "ipv4"
method: POST
tcp_connect:
prober: tcp
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
tls_config:
insecure_skip_verify: false
ssh_banner:
prober: tcp
tcp:
query_response:
- expect: "^SSH-2.0-"
irc_banner:
prober: tcp
tcp:
query_response:
- send: "NICK prober"
- send: "USER prober prober prober :prober"
- expect: "PING :([^ ]+)"
send: "PONG ${1}"
- expect: "^:[^ ]+ 001"
icmp:
prober: icmp

View File

@ -32,6 +32,7 @@ scrape_configs:
- targets: ['localhost:9090']
{% if prometheus_node_exporter_targets is defined %}
# node exporter #
- job_name: node
scrape_interval: 30s
scrape_timeout: 10s
@ -43,6 +44,7 @@ scrape_configs:
{% endif %}
{% if prometheus_mysqld_exporter_targets is defined %}
# mysql exporter #
- job_name: mysql
scrape_interval: 30s
scrape_timeout: 10s
@ -65,6 +67,7 @@ scrape_configs:
{% endif %}
{% if prometheus_mongodb_exporter_targets is defined %}
# mongoDB exporter #
- job_name: mongodb
scrape_interval: 30s
scrape_timeout: 10s
@ -87,6 +90,7 @@ scrape_configs:
{% endif %}
{% if prometheus_postgres_exporter_targets is defined %}
# postgresql exporter #
- job_name: postgresql
scrape_interval: 30s
scrape_timeout: 10s
@ -109,6 +113,7 @@ scrape_configs:
{% endif %}
{% if prometheus_phpfpm_exporter_targets is defined %}
# PHP-FPM exporter #
- job_name: phpfpm
scrape_interval: 30s
scrape_timeout: 10s
@ -120,6 +125,7 @@ scrape_configs:
{% endif %}
{% if prometheus_apache_exporter_targets is defined %}
# apache exporter #
- job_name: apache
scrape_interval: 30s
scrape_timeout: 10s
@ -131,6 +137,7 @@ scrape_configs:
{% endif %}
{% if prometheus_haproxy_exporter_targets is defined %}
# haproxy exporter #
- job_name: haproxy
scrape_interval: 30s
scrape_timeout: 10s
@ -151,3 +158,45 @@ scrape_configs:
- {{ target }}:9131
{% endfor %}
{% endif %}
//
{% if prometheus_blackbox_exporter_targets is defined %}
# blacbox #
{% for target in prometheus_blackbox_exporter_http.values() %}
## http check ##
- job_name: blackbox - url {{ target.name }}
scrape_interval: 30s
scrape_timeout: 10s
metrics_path: {{ target.metrics_path }}
params:
module: [http_2xx]
static_configs:
- targets:
- {{target.host }}
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: localhost:9115
{% endfor %}
{% for target in prometheus_blackbox_exporter_ping.values() %}
## ping ##
- job_name: blackbox - ping {{ target.name }}
scrape_interval: 30s
scrape_timeout: 10s
params:
module: [icmp]
static_configs:
- targets:
- {{ target.host }}
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: localhost:9115
{% endfor %}
{% endif %}

View File

@ -0,0 +1,10 @@
[Unit]
Description=Prometheus Blacbox Exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/prometheus-blackbox-exporter --config.file /etc/prometheus/prometheus-blackbox-exporter.yml
[Install]
WantedBy=multi-user.target