update images & add apparmor profile
78
README.md
|
|
@ -1,12 +1,54 @@
|
||||||
# Monitor your Mikrotik router with Prometheus and Grafana
|
# Monitor your Mikrotik router with Prometheus and Grafana
|
||||||
|
|
||||||
Over the past years I replaced all my networking gear with Mikrotik devices. I absolutely love WinBox for management, but sometimes I miss some fancy charts and graphs. Luckily, RouterOS comes with a REST-API that can be used to query arbitrary data from the device. After some research I found some useful tools and blog posts that solved similar problems. Namely:
|
Use Grafana & Prometheus to monitor Mikrotik devices. This projects serves as a ready to use blueprint for monitoring based on Docker. It is designed and tested to be run on Raspberry Pis.
|
||||||
|
|
||||||
- [A blog post by Devin Smith that first got me interested](https://blog.devinsmith.co.za/home-internet-grafana-lockdown/)
|
## Features
|
||||||
- [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).
|
- System Health Monitoring
|
||||||
- [A Prometheus exporter for Mikrotik devices written in Go](https://github.com/nshttpd/mikrotik-exporter)
|
- disk usage
|
||||||
- [Smokeping](https://github.com/SuperQ/smokeping_prober)
|
- CPU load
|
||||||
|
- memory usage
|
||||||
|
- public IP address (IPv4 & IPv6)
|
||||||
|
- system uptime
|
||||||
|
- temperature
|
||||||
|
- voltage monitoring
|
||||||
|
- Interface Monitoring
|
||||||
|
- traffic (bit/s)
|
||||||
|
- traffic (packets/s)
|
||||||
|
- per interface graphs
|
||||||
|
- Latency Monitoring
|
||||||
|
- customizable ICMP and/or UDP pings
|
||||||
|
- packet loss
|
||||||
|
- DHCP Monitoring
|
||||||
|
- active leases
|
||||||
|
- MAC addresses, host names, addresses
|
||||||
|
- Network Monitoring
|
||||||
|
- routes
|
||||||
|
- interfaces errors
|
||||||
|
- interface states
|
||||||
|
- PoE states
|
||||||
|
- Firewall Monitoring
|
||||||
|
- rules traffic
|
||||||
|
- logged rules traffic
|
||||||
|
- Ipv4 & IPv6
|
||||||
|
- bandwidth
|
||||||
|
- active users
|
||||||
|
- Wireless Monitoring
|
||||||
|
- noise floor
|
||||||
|
- TxCCQ
|
||||||
|
- client devices
|
||||||
|
- number of clients
|
||||||
|
- traffic
|
||||||
|
- signal strength
|
||||||
|
- signal to noise ratio
|
||||||
|
- Netwatch
|
||||||
|
- CAPsMAN Monitoring
|
||||||
|
- remote CAPS
|
||||||
|
- registrations
|
||||||
|
- clients
|
||||||
|
- frequencies
|
||||||
|
- signal strength
|
||||||
|
- traffic
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
|
|
@ -16,10 +58,18 @@ Over the past years I replaced all my networking gear with Mikrotik devices. I a
|
||||||
|
|
||||||
## Demo pictures
|
## Demo pictures
|
||||||
|
|
||||||

|

|
||||||

|
|
||||||

|
<details><summary>Show more images</summary>
|
||||||

|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
@ -153,6 +203,14 @@ apparmor_parser -r -W /etc/apparmor.d/docker-armor
|
||||||
docker-compose -f docker-compose-armored.yml up -d
|
docker-compose -f docker-compose-armored.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- [A blog post by Devin Smith that first got me interested](https://blog.devinsmith.co.za/home-internet-grafana-lockdown/)
|
||||||
|
- [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)
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
### Why are my graphs empty?
|
### Why are my graphs empty?
|
||||||
|
|
|
||||||
BIN
doc/firewall.png
Normal file
|
After Width: | Height: | Size: 647 KiB |
BIN
doc/interfaces.png
Normal file
|
After Width: | Height: | Size: 230 KiB |
BIN
doc/latency.png
Normal file
|
After Width: | Height: | Size: 160 KiB |
BIN
doc/netwatch.png
Normal file
|
After Width: | Height: | Size: 92 KiB |
BIN
doc/network.png
Normal file
|
After Width: | Height: | Size: 200 KiB |
BIN
doc/pic_2.png
|
Before Width: | Height: | Size: 350 KiB |
BIN
doc/pic_3.png
|
Before Width: | Height: | Size: 280 KiB |
BIN
doc/pic_4.png
|
Before Width: | Height: | Size: 283 KiB |
BIN
doc/pic_5.png
|
Before Width: | Height: | Size: 522 KiB |
BIN
doc/pic_6.png
|
Before Width: | Height: | Size: 139 KiB |
BIN
doc/system.png
Normal file
|
After Width: | Height: | Size: 501 KiB |
BIN
doc/wifi.png
Normal file
|
After Width: | Height: | Size: 411 KiB |
|
|
@ -77,3 +77,16 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
restart: unless-stopped
|
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
|
||||||
|
volumes:
|
||||||
|
- ./smokeping/smokeping.yml:/etc/smokeping/smokeping.yml
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
restart: unless-stopped
|
||||||
|
|
|
||||||