mydocker/mktxp/README.md

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, port 8728
  • 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