mirror of
https://github.com/M0r13n/mikrotik_monitoring.git
synced 2025-12-06 10:09:31 +00:00
Merge pull request #19 from M0r13n/use-blackbox-exporter
replace smokeping with blackbox
This commit is contained in:
commit
41149e4296
7 changed files with 629 additions and 483 deletions
|
|
@ -149,13 +149,13 @@ Done. You should now be able to open the Grafana dashboard on Port 3000 of your
|
|||
|
||||
## Latency Monitoring
|
||||
|
||||
This projects uses a [smokeping prober](https://github.com/SuperQ/smokeping_prober) to measure network latency and packet loss. By default three targets are configured:
|
||||
This projects uses the Prometheus Blackbox exporter to measure network latency. By default three targets are configured:
|
||||
|
||||
- 1.1.1.1 (Cloudflare)
|
||||
- 8.8.8.8 (Google)
|
||||
- 9.9.9.9 (IBM)
|
||||
|
||||
You may adjust **smokeping/smokeping.yml** according to your needs.
|
||||
You may adjust **blackbox/blackbox.yml** according to your needs.
|
||||
|
||||
## Multiple Nodes
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ docker-compose -f docker-compose-armored.yml up -d
|
|||
- [A somewhat useable Grafana Dashboard](https://grafana.com/grafana/dashboards/10950)
|
||||
- [A Prometheus exporter for Mikrotik devices written in Python](https://github.com/akpw/mktxp).
|
||||
- [A Prometheus exporter for Mikrotik devices written in Go](https://github.com/nshttpd/mikrotik-exporter)
|
||||
- [Smokeping](https://github.com/SuperQ/smokeping_prober)
|
||||
- [Prometheus Blackbox exporter](https://github.com/prometheus/blackbox_exporter/blob/master/example.yml)
|
||||
|
||||
## FAQ
|
||||
|
||||
|
|
|
|||
6
blackbox/blackbox.yml
Normal file
6
blackbox/blackbox.yml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
modules:
|
||||
icmp_ttl5:
|
||||
prober: icmp
|
||||
timeout: 5s
|
||||
icmp:
|
||||
ttl: 10
|
||||
|
|
@ -78,15 +78,14 @@ services:
|
|||
- default
|
||||
restart: unless-stopped
|
||||
|
||||
# https://github.com/SuperQ/smokeping_prober
|
||||
smokeping:
|
||||
image: quay.io/superq/smokeping-prober:latest
|
||||
container_name: mikrotik-smokeping-prober
|
||||
security_opt:
|
||||
- apparmor:docker-mikrotik-monitoring
|
||||
command: --config.file=/etc/smokeping/smokeping.yml
|
||||
blackbox:
|
||||
image: quay.io/prometheus/blackbox-exporter:latest
|
||||
container_name: mikrotik-blackbox-exporter
|
||||
command: --config.file=/config/blackbox.yml
|
||||
volumes:
|
||||
- ./smokeping/smokeping.yml:/etc/smokeping/smokeping.yml
|
||||
- ./blackbox/blackbox.yml:/config/blackbox.yml
|
||||
networks:
|
||||
- default
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- apparmor:docker-mikrotik-monitoring
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ services:
|
|||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
- '--storage.tsdb.path=/prometheus'
|
||||
- '--storage.tsdb.retention.time=1y' # <= adjust the storage retention period of Prometheus
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- default
|
||||
|
|
@ -71,13 +72,13 @@ services:
|
|||
- default
|
||||
restart: unless-stopped
|
||||
|
||||
# https://github.com/SuperQ/smokeping_prober
|
||||
smokeping:
|
||||
image: quay.io/superq/smokeping-prober:latest
|
||||
container_name: mikrotik-smokeping-prober
|
||||
command: --config.file=/etc/smokeping/smokeping.yml
|
||||
# https://github.com/prometheus/blackbox_exporter/blob/master/example.yml
|
||||
blackbox:
|
||||
image: quay.io/prometheus/blackbox-exporter:latest
|
||||
container_name: mikrotik-blackbox-exporter
|
||||
command: --config.file=/config/blackbox.yml
|
||||
volumes:
|
||||
- ./smokeping/smokeping.yml:/etc/smokeping/smokeping.yml
|
||||
- ./blackbox/blackbox.yml:/config/blackbox.yml
|
||||
networks:
|
||||
- default
|
||||
restart: unless-stopped
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -19,7 +19,7 @@ rule_files:
|
|||
# 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: 'prometheus'
|
||||
- job_name: 'mikrotik'
|
||||
|
||||
# Override the global default and scrape targets from this job every 5 seconds.
|
||||
scrape_interval: 15s
|
||||
|
|
@ -31,4 +31,21 @@ scrape_configs:
|
|||
- targets:
|
||||
- 'mikrotik_exporter:9436'
|
||||
- 'mktxp:49090'
|
||||
- 'smokeping:9374'
|
||||
|
||||
- job_name: 'blackbox'
|
||||
scrape_interval: 1s
|
||||
metrics_path: /probe
|
||||
params:
|
||||
module: [icmp_ttl5] # use ICMP as the ping protocol
|
||||
static_configs:
|
||||
- targets:
|
||||
- 1.1.1.1
|
||||
- 8.8.8.8
|
||||
- 9.9.9.9
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- target_label: __address__
|
||||
replacement: blackbox:9115 # The blackbox exporter's real hostname:port.
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
targets:
|
||||
- hosts:
|
||||
- 1.1.1.1
|
||||
- 8.8.8.8
|
||||
- 9.9.9.9
|
||||
interval: 10s # Duration, Default 1s.
|
||||
network: ip4 # One of ip, ip4, ip6. Default: ip (automatic IPv4/IPv6)
|
||||
protocol: icmp # One of icmp, udp. Default: icmp (Requires privileged operation)
|
||||
size: 56 # Packet data size in bytes. Default 56 (Range: 24 - 65535)
|
||||
Loading…
Add table
Add a link
Reference in a new issue