Initial commit with mikrotik-exporter

This commit is contained in:
Leon Morten Richter 2021-07-10 14:25:37 +02:00
commit ddbb23ea60
No known key found for this signature in database
GPG key ID: 268100ABB6E5776A
6 changed files with 61 additions and 0 deletions

1
.env Normal file
View file

@ -0,0 +1 @@
CONFIG_FILE=/config/config.yml

6
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,6 @@
{
"cSpell.words": [
"grafana",
"mikrotik"
]
}

37
README.md Normal file
View file

@ -0,0 +1,37 @@
# Monitor your Mikrotik router with Prometheus and Grafana
Over the past years I replaced all my networking gear with Mikrotik devices. Nothing compares to Mikrotik in terms of price, features, performance and reliability. 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.
## Setup
- Router running RouterOS 7.x.x
- Raspberry Pi 4 with 2 gb RAM
## Installation
## Mikrotik Router
At first you need to prepare your router.
Create a group on the device that has API and read-only access:
`/user group add name=prometheus policy=api,read,winbox,test`
Create a user that is part of the group:
`/user add name=prometheus group=prometheus password=TOP_SECRET`
## Prepare Raspi
Install Python and pip:
`sudo apt install python3-dev python3 python3-pip -y`
Install Docker + Docker-compose
```bash
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker ubuntu
sudo pip3 install docker-compose
sudo systemctl enable docker
```

11
docker-compose.yml Normal file
View file

@ -0,0 +1,11 @@
version: "3.9"
services:
mikrotik_exporter:
image: nshttpd/mikrotik-exporter-linux-arm64:1.0.12-DEVEL # Change this depending on your version and/or if you built the image locally
volumes:
- './mikrotik_exporter:/config'
env_file: .env
ports:
- 9436:9436
restart: unless-stopped

View file

@ -0,0 +1,6 @@
devices:
- name: Chateau
address: 192.168.0.1
user: prometheus
password: TOP_SECRET

View file