Przydatne serwisy:
https://github.com/srkaviani/Mikrotik-Prometheus-SNMP-Exporter
SNMP Exporter: https://sbcode.net/prometheus/snmp-exporter/
https://github.com/M0r13n/mikrotik_monitoring
MikroTik exporter fot Prometheus https://github.com/akpw/mktxp
https://github.com/somsakc/docker-observium
Monitorowanie hostów MikroTik
Monitiring przeprowadzimy na bazie konetnerów z aplikacjami Prometheus + Grafana oraz SNMP Exporter.
1. Na wybranym ROS uruchamiamy protokół SNMP (/ip/snmp)

2. Ustalamy nazwę wspólnoty np „public” dając tylko prawodoczytu, w podstawowej wersji ruch SNMP będzie nieszyfrowany

3. Jeśli mamy firewall trzeba dodać regułę zezwalającą na ruch SNMP (udp, port 161) wchodzący czy wychodzący, w zależności od naszej konfiguracji
#add action=accept chain=input dst-port=161 protocol=udp

Trzeba też pamiętać o regule dopuszczającej ruch powrotny:
#add action=accept chain=input connection-state=established,related protocol=tcp
4. Zgodnie z opisem budujemy zestaw kontenerów
Link do opisu: https://github.com/IgorKha/Grafana-Mikrotik
4a. Pobieramy kontenery
#git clone https://github.com/IgorKha/Grafana-Mikrotik.git
4b. Pojawi się katalog Grafana-Mikrotik, do którego przechodzimy
4c. W tym katalogu edytujemy plik prometheus.yml znajdujący się w katalogu prometheus, dodając do konfiguracji hosty MikroTik, które chcemy monitorować:

5. Uruchamiamy kontenery (będąc w katalogu Grafana-Mikrotik)
#sudo docker compose up -d
Pierwsze uruchomienie wymaga chwili ponieważ obrazy kontenerów muszą zostać pobrane i zainstalkowane. Po uruchomieniu można sprawdzić stan zestawu kontenerów:
#sudo docker compose stats

6. Panel Grafana
W przeglądarce odtwieramy stronę Grafany pracującej na maszynie z kontenerami. Grafana nasłuchuje domyślnie na porcie 3000, połączenie nie jest szyfrowane

Za pomcą opcji Instance możemy wybierać różne hosty, zdefiniowane wcześniej w pliku prometheus.yml.
7. Statystyki przechowywane są w w/w katalogu, który zawiera pliki konfiguracyjne całości.
8. Zestaw kontenerów możemy zatrzymać za pomocą polecenia:
#sudo docker compose stop /start
Usunąć całkowicie (pozostaną same obrazy):
#sudo docker compose down
Monitorowanie hostów MikroTik za pomocą API (Prometheus + Grafana)
Link do opisu: https://github.com/akpw/mktxp?tab=readme-ov-file
Inny pomocnik: https://github.com/M0r13n/mikrotik_monitoring
1. Na hoście, który będziemy monitorować
– tworzymy grupę np: prometheus
#/user group add name=prometheus policy=api,read,winbox,test
– tworzymy użytkownika, za pomocą którego skorzystamy a API
#/user add name=prometheus group=prometheus password=nasze-haslo
– włączamy API:
#/ip service enable api
#/ip service enable api-ssl
Jeśli chcemy skorzystać z API szyfrowanego trzeba utworzyć certyfikat, opisany w innej sekcji. Odblokować także trzeba porty TCP: 8728 i 8729 na firewall.
2. Klonujemy repozytorium pakietu
#git clone https://github.com/M0r13n/mikrotik_monitoring.git
Pojawi się katalog mikrotik_monitoring a w nim mamy podkatalog mktxp. W tym katalogu edytujemy plik mktxp.conf dodając hosty, które chcemy monitorować. Poniżej przykład:

Musimy jeszcze w tym pliku (sekcja default) ustawić dane logowania do naszych Mikrotików po API czyli port, nazwa użytkownika jak i jego hasło (ustalone wcześniej) na etapie włączania API:

Jeśli monitorujemy po API bez szyfrowania to opcje w sekcji default możemy zostawić bez zmian. Warto je przejrzec celem właczenia dodatkowych elementów, które aplikacja będzie monitorować.
3. Uruchamiamy zestaw kontenerów
#sudo docker compose up -d
Aby kontenery zatrzymać
#sudo docker compose stop
Aby je całkowicie usunąć:
#sudo docker compose down
(pozostaną ich obazy oraz dane w katalogu gdzie rozpakowaliśmy cały zastaw)
Kontenery możemy monitorować:
#sudo docker compose stats

4. Logowanie do Garafany
W tym przypadku Garafana pracuje na porcie 80 naszego hosta











