Monitoring Sieci - Mikrotik

Monitoring Sieci skrypty w Mikrotiku

Monitoring Sieci skrypty w Mikrotiku

Routery, switche, stacje robocze, serwery, nawet w małej firmie ich ilość może przekroczyć lekko ponad 10 sztuk, a jak do tego doliczymy także inne urządzenia IP typu drukarki, telefony, kamery, to wychodzi całkiem spora ilość urządzeń. Nie możemy dopuścić do sytuacji, w której ręcznie musielibyśmy sprawdzać czy urządzenia działają prawidłowo, albo czekać na informacje z innych działów, że np. nie mają Internetu. Jako dobry administrator musisz być zawsze o jeden krok do przodu, dlatego warto zautomatyzować monitoring sieci. Mikrotik oferuje oprogramowanie The Dude, jednak jest ono dostępne w droższych rozwiązaniach. Na potrzeby małej infrastruktury wystarczy nam praktycznie dowolny model Mikrotika do wdrożenia system monitorowania sieci.

Ogólna koncepcja

Nasz router będzie miał za zadanie pilnować czy urządzenia żyją(odpowiadają na pingi). Do tego celu utworzymy dwa skrypty. Jeden będzie sprawdzał czy na 5 wysłanych pingów żaden nie powrócił, czyli urządzenie nie żyje. W następstwie tego zostanie wysłany mail z informacją o nie działającej maszynie, oraz zostanie uruchomiony drugi skrypt. Skrypt będzie sprawdzał czy na 5 wysłanych pingów 5 wróciło, i podobnie jak we wcześniejszej sytuacji zostanie wysłany mail z informacją o powrocie maszyny oraz przełączy się na 1 skrypt. Interwał wykonywanych wynosi 5 min. Dzięki temu będziemy otrzymamy tylko maile o zmianach statusu urządzenia, a nie z ciągłą informacją, że urządzenie nie żyje, tak jakby było to w przypadku zwykłego netwatcha

Konfigurowanie Mikrotika – email

Przejdźmy do konfiguracji routera, tak aby mógł wysyłać e-maile. Do tego potrzebujemy jaką dowolne konto pocztowe. Przechodzimy na zakładkę Tools->Email
Monitoring Sieci skrypty w Mikrotiku
W nowym oknie uzupełniamy:
Monitoring Sieci skrypty w Mikrotiku

  • Server: adres smtp konto pocztowego
  • Port: port serwera smtp. Najczęściej 25, 587, 465
  • Start TLS: czy serwer wspiera szyfrowanie. Informacje znajdziecie u waszego operatora poczty
  • From: adres konta pocztowego z którego mają być wysyłane powiadomienia
  • User i Password: login i hasło do konta pocztowego

Przygotowanie skryptów

W celu ułatwienia pisania skryptów zalecam korzystanie z terminala ponieważ możemy skorzystać z uzupełniania komend wciskając przycisk TAB. Uruchamiamy terminal klikając w New Terminal i przechodzimy do skryptów wpisując:
[code] /system scripts [/code]
Monitoring Sieci skrypty w Mikrotiku
Teraz poleceniem
[code]add name=server1_up source={}[/code]
tworzymy nowy skrypt, gdzie

  • name: wpisujemy dowolną nazwę, bez spacji
  • source={}: wpisujemy sam nawias klamrowy

Monitoring Sieci skrypty w Mikrotiku
Stworzyliśmy nowy pusty skrypt, teraz musimy wypełnić go kodem, tak aby był nam posłuszny:)
Wpisujemy:
[code]edit value-name=source server1_up[/code]
Monitoring Sieci skrypty w Mikrotiku
W edytorze wpisujemy:
[code]
:if ([/ping 192.168.0.200 count=5] > 4) do={
/tool e-mail send [email protected] server=smtp.grzegorzkowalik.com [email protected] subject="Server WWW działa." body="Serwer WWW powrócił"
/system scheduler disable ping_server1_up
/system scheduler enable ping_server1_down
}
[/code]
Monitoring Sieci skrypty w Mikrotiku
Opis:

  • /tool e-mail: definiujemy parametry wysyłanego maila
  • /system scheduler: przestawiamy harmonogram zadań, tak aby zawsze działał tylko jeden skrypt sprawdzający

Drugi skrypt tworzymy analogicznie przy czym zmieniamy jego nazwę na server1_down
[code]
:if ([/ping 192.168.0.200 count=5] = 0) do={
/tool e-mail send [email protected] server=smtp.grzegorzkowalik.com [email protected] subject="Awaria! Server WWW nie działa." body="Serwer WWW nie działa"
/system scheduler enable ping_server1_up
/system scheduler disable ping_server1_down
}
[/code]
Monitoring Sieci skrypty w Mikrotiku

Harmonogram – Scheduler

Przechodzimy do harmonogramu zadań, dzięki któremu ustawimy włączanie i wyłączanie skryptów z zależności od sytuacji. Przechodzimy na System->Scheduler
Monitoring Sieci skrypty w Mikrotiku

Dodajemy dwa nowe zadania. Pierwsze wywołuje skrypt server1_down drugie server1_up. Klimamy na niebieski znak plusa i tworzymy zadania.
Monitoring Sieci skrypty w Mikrotiku
Uzupełniamy:

  • Name: nazwa skryptu, musi być taka sama jak wpisaliśmy przy tworzeniu skryptu. W tym przypadku ping_server1_down albo ping_server1_up
  • Start Date: data pierwszego uruchomienia skryptu
  • Start Time: godzina pierwszego uruchomienia. Przy ustawieniach ping_server1_down ustawiamy na 15 sekund później. Nie chcemy, aby skrypty wykonywały się w tym samym czasie
  • Interval: czas po upływie, której skrypt wykona się ponownie.
  • On Event: nazwa naszego skryptu, który ma zostać uruchomiony

Ustawienia startowe

Pozostaje nam jeszcze wymusić ustawienia startowe skryptów w przypadku ponownego uruchomienia routera. Nie chcemy dostać masę maili z informacją, że urządzenia działa, za każdym razem gdy uruchomimy ponownie router. W tym celu przygotujemy dodatkowy skrypt i ustawimy iż, na starcie ma działać tylko skrypt sprawdzający ping_server1_down. Wracamy do terminala i wpisujemy:
[code]
/system script
add name=ustawienia_startowe source={}
edit value-name=source ustawienia_startowe
[/code]
w edytorze wpisujemy komendy:
[code]
/system scheduler enable ping_server1_down
/system scheduler disable ping_server1_up
[/code]
Monitoring Sieci skrypty w Mikrotiku

Ponownie przechodzimy na zakładkę Systems->Scheduler i dodajmy nowy wpis.
Monitoring Sieci skrypty w Mikrotiku

Wartości uzupełniamy analogicznie do wcześniejszy z tą różnicą, iż Start Time zmieniamy na startup

Podsumowanie

Przy większej ilości urządzeń powyższe rozwiązanie staje się ciężkie do opanowania. Trzeba pamiętać, aby na bieżąco dodawać nowe wpisy w ustawieniach_startowych. Rozwiązanie jest stosunkowe tanie, nie potrzebujemy zewnętrznego serwera. Możemy wdrożyć system monitoringu na routerze za 100 zł. W przygotowaniu mam całą serię odnośnie monitoring, także zapraszam polajkowania fanpage, czy subskrybowania mojego kanału na Youtube. Jeżeli chciałbyś się dowiedzieć czegoś o pracy administratora sieci, to ten kanał na pewno jest dla Ciebie:)

Materiał Video: Monitoring Sieci skrypty w Mikrotiku

Moje artykuł praktycznie zawsze dodatkowo posiadają materiał video, dlatego zapraszam do oglądania.

4 Comments

  1. BArt

    Witam,
    Czy jest możliwość utworzenia skryptu który monitorowałby ruch na określonym porcie portu WAN (np: 80.55.23.6:8000) i po wykryciu ruchu przesyłałby maila do administratora?

    • Artur

      Nie wiem czy aktualne jest pytanie kolegi BART ale wydaje mi się że najlepiej było by zrobić w Firewall’u filtr który będzie rejestrował ruch na konkretnym adresie i porcie a skrypt będzie sprawdzał ilość pakietów w tej regule. Jeżeli będzie większa od 0 to znaczy że jakiś ruch tam był i wysyła mail-a.

  2. Artur

    A nie dałoby się zautomatyzować tego w pętli dla następujących po sobie adresów ip? Ja wydzielam osobne pule dla kamer zewnętrznych i wewnętrznych, a te jeszcze w razie konieczności dzielę na mniejsze (np pietra). Tak że ma do sprawdzania parę grup urządzeń o kolejnych adresach ip.

    • Przy większej ilości lepiej zastosować jakieś dedykowane rozwiązania, takie jak: smokeping, zabbix, librenms

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *