Konfiguracja MikroTik — Część 76: MikroTik API — Automatyzacja zarządzania i monitoringu za pomocą skryptów i zewnętrznych aplikacji
Konfiguracja MikroTik — Część 76: MikroTik API — Automatyzacja zarządzania i monitoringu za pomocą skryptów i zewnętrznych aplikacji
Wprowadzenie
Współczesne zarządzanie siecią wymaga automatyzacji, zdalnego monitoringu i możliwości integracji z systemami zewnętrznymi. MikroTik RouterOS, oprócz tradycyjnego interfejsu CLI i Winbox, oferuje interfejs API, który pozwala na programistyczny dostęp do systemu.
Dzięki MikroTik API możliwe jest budowanie aplikacji do:
- Zdalnej zmiany konfiguracji
- Monitorowania stanu sieci i urządzeń
- Automatycznego zarządzania użytkownikami HotSpot
- Integracji z systemami CRM, ERP, monitoringiem czy automatyzacją DevOps
W tej części omówimy praktyczne aspekty użycia MikroTik API oraz pokażemy przykłady kodu w Pythonie z wykorzystaniem popularnych bibliotek.

Czym jest MikroTik API?
MikroTik API to interfejs komunikacyjny oparty na TCP, działający na porcie 8728 (lub 8729 dla SSL), umożliwiający przesyłanie komend do RouterOS w sposób strukturalny i programowalny.
API MikroTik działa w oparciu o:
- Polecenia podobne do CLI, ale w postaci pakietów
- Sesje autoryzowane loginem i hasłem użytkownika
- Możliwość odczytu, zapisu, modyfikacji i usuwania konfiguracji
Krok 1 — Aktywacja API na MikroTik
/ip service enable api
/ip service set api address=192.168.100.0/24 port=8728
Opcjonalnie dla bezpiecznej wersji:
/ip service enable api-ssl
/ip service set api-ssl certificate=server_cert
Krok 2 — Wybór biblioteki do komunikacji z API
Najpopularniejsze biblioteki dla Pythona:
- librouteros
- routeros-api
- routeros-client (mikrotik_api)
Dla przykładu użyjemy librouteros.
Instalacja:
pip install librouteros
Krok 3 — Prosty skrypt do pobrania listy interfejsów
from librouteros import connect
api = connect(username='admin', password='haslo', host='192.168.100.1')
for iface in api.path('interface'):
print(f"Nazwa: {iface['name']} — Status: {iface.get('running')}")
Krok 4 — Dodawanie nowego użytkownika HotSpot przez API
hotspot_user = api.path('ip', 'hotspot', 'user')
hotspot_user.add(name='nowyuzytkownik', password='tajnehaslo', profile='default')
Krok 5 — Automatyczne monitorowanie wykorzystania interfejsu
import time
interface = api.path('interface')
while True:
stats = interface.get(name='ether1')[0]
print(f"TX: {stats['tx-byte']}, RX: {stats['rx-byte']}")
time.sleep(5)
Krok 6 — Obsługa błędów i zabezpieczenia
- Używaj wyjątków w Pythonie
- Korzystaj z API-SSL zamiast zwykłego API
- Ustawiaj ograniczenia dostępu do API przez
address-list - Loguj operacje po stronie klienta
Praktyczne zastosowania MikroTik API
- Systemy doładowań HotSpot w kawiarniach lub hotelach
- Zautomatyzowane systemy backupu konfiguracji
- Monitoring ruchu sieciowego z powiadomieniami na Telegram lub e-mail
- Integracja z systemami SIEM lub CMDB
- Panel administracyjny dla techników w firmie ISP
Częste błędy i dobre praktyki
✅ Zawsze testuj API na środowisku testowym
✅ Używaj użytkownika z ograniczonymi uprawnieniami
✅ Monitoruj sesje i aktywne połączenia do API
✅ Twórz własne wrappery i funkcje w kodzie dla czytelności
Podsumowanie
MikroTik API otwiera drzwi do profesjonalnej automatyzacji i integracji urządzeń RouterOS z ekosystemem IT. Znajomość API pozwala nie tylko zautomatyzować powtarzalne zadania, ale również zbudować nowoczesne, dynamiczne systemy zarządzania siecią.
Dzięki dobrze napisanym skryptom i aplikacjom można zaoszczędzić setki godzin pracy administratora i ograniczyć ryzyko błędów ludzkich.






