MikroTik dla zaawansowanych — część 9: Automatyzacja reakcji: Self-Healing Network z MikroTik, Ansible i SOAR
MikroTik dla zaawansowanych — część 9: Automatyzacja reakcji: Self-Healing Network z MikroTik, Ansible i SOAR
Wstęp: Dlaczego warto automatyzować reakcje?
Zbieranie metryk i logów nie wystarcza, jeśli nie przekłada się na działanie. Sieć powinna być w stanie sama diagnozować i reagować na problemy, zanim użytkownicy je zauważą. Takie podejście jest fundamentem self-healing infrastructure, które dziś można wdrożyć nawet na sprzęcie klasy MikroTik.
W tej części pokażemy, jak zautomatyzować reakcję na wykryte anomalie (wysokie zużycie CPU, awarie interfejsów, przeciążenia tras, nieautoryzowany ruch itp.) przy użyciu:
- Prometheus + Alertmanager — detekcja zdarzeń i warunków krytycznych
- Cortex — silnik automatyzacji incydentów (SOAR)
- Ansible + MikroTik — wykonanie działań naprawczych na urządzeniach
1. Koncepcja self-healing z MikroTik i Alertmanager
Scenariusz: Nagły wzrost CPU powyżej 90% na routerze. Alertmanager wykrywa to i odpala webhook → Cortex → playbook Ansible → MikroTik otrzymuje polecenie wyłączenia podejrzanego interfejsu VLAN i resetuje trasę.
Automatyczna reakcja eliminuje problem w czasie rzeczywistym.

2. Prometheus Alertmanager – reguły alertów
groups:
- name: mikrotik-alerts
rules:
- alert: HighCPU
expr: avg by (instance) (rate(mikrotik_cpu_usage[2m])) > 0.90
for: 1m
labels:
severity: critical
annotations:
summary: "CPU overload on {{ $labels.instance }}"
Alertmanager konfigurowany do wysyłki webhooków:
receivers:
- name: cortex
webhook_configs:
- url: 'http://cortex.local:9000/api/alerts'
3. Cortex: centralny SOAR do orkiestracji reakcji
Cortex to silnik do uruchamiania automatycznych akcji (Analyzer/Responder) po wykryciu incydentu.
Tworzymy „Responder” w Cortexie, który uruchamia playbook Ansible w zależności od treści alertu:
{
"name": "MitigateCPUOverload",
"type": "RunAnsiblePlaybook",
"playbook_path": "/opt/ansible/mikrotik_cpu_reset.yml",
"params": {
"host": "{{alert.instance}}"
}
}
4. Ansible + RouterOS: praktyczny playbook automatyzacji
Instalacja:
pip install ansible
ansible-galaxy collection install ansible.netcommon community.routeros
Przykład mikrotik_cpu_reset.yml:
- name: Mitigate high CPU on MikroTik
hosts: mikrotik
gather_facts: no
tasks:
- name: Disable CPU-heavy interface temporarily
community.routeros.command:
commands:
- /interface disable [find where name="vlan-attacker"]
- name: Flush dynamic routes
community.routeros.command:
commands:
- /ip route remove [find dynamic=yes]
- name: Restart BGP session
community.routeros.command:
commands:
- /routing bgp peer disable [find]
- /routing bgp peer enable [find]
5. Warunki reagowania i bezpieczne ograniczniki
Automatyzacja musi zawierać:
- czasowe wyłączniki (np. interfejs tylko na 5 min)
- whitelisty — nie działaj na urządzeniach core
- logowanie zmian — Cortex, Prometheus, Grafana Loki
6. Dodatkowe scenariusze automatyzacji
| Zdarzenie | Akcja automatyczna | Technologia |
|---|---|---|
| Wzrost RTT na VPN | Reset tunelu IPSec | Ansible + MikroTik |
| Brute force SSH | Zablokuj IP w firewall | Cortex + MikroTik |
| Przeciążenie portu WAN | Zmiana routing distance | MikroTik script |
| Błąd BGP | Zrestartuj sesję | Ansible playbook |
| Brak danych SNMP | Wyślij SMS adminowi | Alertmanager + Gateway |
7. Architektura końcowa systemu reakcji
[Prometheus] ----> [Alertmanager] ---> [Cortex (SOAR)] ---> [Ansible] ---> [MikroTik]
|
--> Slack / Email / Telegram
Każdy komponent może być hostowany lokalnie lub w chmurze (np. na Raspberry Pi, K3s, edge Docker itp.).
8. Telemetria a decyzje biznesowe
Połączenie automatyzacji z telemetrią pozwala nie tylko ograniczyć downtime, ale też:
- optymalizować koszty łączy (routing na podstawie przeciążeń)
- dynamicznie skalować zasoby edge (QoS, priorytety)
- zarządzać bezpieczeństwem (auto-reagowanie na incydenty)
9. Integracja z Zero Trust i EDR
W środowiskach zbudowanych na Zero Trust, playbooki mogą zawierać:
- segmentację VLAN na żądanie
- analizę reputacji IP (np. z AbuseIPDB)
- zablokowanie portów na podstawie danych EDR
Podsumowanie
Automatyzacja reakcji w sieciach MikroTik jest możliwa i wysoce skuteczna, nawet bez dużych nakładów finansowych. W połączeniu z systemami SOAR, jak Cortex, oraz narzędziami DevOps (Ansible), można stworzyć odporną, samonaprawiającą się infrastrukturę edge, zdolną do dynamicznego działania w warunkach kryzysowych.
W następnej części skupimy się na zaawansowanej segmentacji VLAN, dynamicznym dostępie (ZTA), MikroTik w kontekście NAC oraz integracji z open-source IdP (np. Keycloak).






