2.0 KiB
2.0 KiB
mktxp - MikroTik Prometheus Exporter
Exporter for MikroTik RouterOS metrics. Connects via RouterOS API and exposes metrics for Prometheus scraping.
Access
| Endpoint | Details |
|---|---|
| Metrics | http://localhost:49090/metrics (internal, no Traefik) |
| Router API | 192.168.1.1:8728 (RouterOS API, plaintext) |
Configuration
Files in ./mktxp/:
| File | Purpose |
|---|---|
mktxp.conf |
Router credentials, collection toggles |
_mktxp.conf |
Global exporter parameters |
Router Connection
- Host:
192.168.1.1, port8728 - API user:
prometheus(dedicated read-only account on router) - SSL: disabled (plaintext login)
Enabled Collections
| Collection | Metrics |
|---|---|
dhcp + dhcp_lease |
DHCP leases, active clients |
connections |
Active TCP/UDP connections |
interface |
Interface statistics (tx/rx bytes, pps, errors) |
monitor |
Ethernet port monitoring |
public_ip |
External IP address |
route |
Routing table |
queue |
QoS queues |
wireguard + wireguard_peers |
WireGuard VPN peers, transfer, last handshake |
Global Parameters (_mktxp.conf)
- Listen:
0.0.0.0:49090 - Timeout: 8s, max 5 worker threads
- Bandwidth test: disabled
- Min interval: 5s, max scrape time: 15s
Dependencies
| Service | Role |
|---|---|
| MikroTik 192.168.1.1 | Data source (RouterOS API :8728) |
| Prometheus | Scrapes metrics from :49090 every 30s |
| VictoriaMetrics | Long-term archive (via Prometheus remote_write) |
| Grafana | Router metrics visualization |
Router Account Setup
Create a read-only prometheus account on MikroTik:
/user add name=prometheus group=read password=<secure_password>
/ip service enable api
Useful Commands
# Restart
docker compose restart mktxp
# Follow logs
docker compose logs -f mktxp
# Check metrics manually
curl http://localhost:49090/metrics | grep mktxp_
# Upgrade
./upgrade-container-by-name.sh mktxp