Cel zadania (~20 min)
Napisz skrypt analizujący logi systemowe RouterOS. Nauczysz się filtrować wpisy według kategorii (critical, error, warning), zliczać je za pomocą /log find oraz wyświetlać szczegóły ostatnich zdarzeń krytycznych.
Wymagania
- Pobierz czas pracy systemu:
/system resource get uptime.
- Dla każdej kategorii policz wpisy używając
[:len [/log find where topics=critical]].
- Kategorie:
critical, error, warning, info.
- Wyświetl statystyki w czytelnej formie.
- Wyświetl ostatnie 3 wpisy krytyczne:
/log print where topics=critical.
Wskazówka
Zamiast /log print count-only (które wyświetla liczbę bezpośrednio), lepiej użyć [:len [/log find where topics=...]] – zwraca liczbę bez efektów ubocznych na ekranie.
Efekt działania
Skrypt generuje statystyki logów i pokazuje szczegóły zdarzeń krytycznych.
# logs.rsc - analiza logow systemowych
:local uptimeStr [/system resource get uptime]
:put ""
:put "================================="
:put " ANALIZA LOGOW SYSTEMOWYCH"
:put "================================="
:put ("Czas pracy systemu: " . $uptimeStr)
:put ""
:local critCount [:len [/log find where topics=critical]]
:local errCount [:len [/log find where topics=error]]
:local warnCount [:len [/log find where topics=warning]]
:put "--- STATYSTYKI LOGOW ---"
:put " KRYTYCZNE: " . $critCount
:put " BLEDY: " . $errCount
:put " OSTRZEZENIA: " . $warnCount
:put ""
:put "--- OSTATNIE LOGI KRYTYCZNE ---"
/log print where topics=critical
:put ""
:put "--- OSTATNIE LOGI Z BLEDAMI ---"
/log print where topics=error
:put ""
:put "================================="
:put "Analiza zakonczona."
:put "================================="