Wykrywanie niedziałających urządzeń w sieci wraz z powiadomieniem na e-maila
Wstęp
W dzisiejszych czasach kiedy to praktycznie każde urządzenie można podłączyć do sieci warto jest monitorować czy działa. Nawet w małej firmie mamy do czynienia często z kilkoma urządzeniami które mają przypisany jakiś adres IP. Drukarki, komputery, kamery a nawet automatyczne szlabany posiadają często wiele modułów które współgrają ze sobą i mają przypisany swój adres IP.
Na rynku jest bardzo dużo programów w różnych cenach do monitorowania sieci. Częstą praktyką jest płacenie abonamentu za możliwość korzystania z programu. Nie ma nic w tym złego, jeżeli dysponujemy pieniędzmi warto monitorować dostępność naszych urządzeń. Często programy do monitorowania sieci wyglądają graficznie bardzo ładnie i w przejrzysty sposób przedstawiają czy dane urządzenia w sieci działają czy też nie.
Jeżeli posiadamy w swojej infrastrukturze sieciowej urządzenie Mikrotik to możemy w darmowy sposób zbudować sobie centrum monitorowania kluczowych dla nas urządzeń. Nawet jeżeli mamy bardzo drogi program do monitorowania sieci, to nic nie stoi na przeszkodzie aby podłączyć Mikrotika.
Zdarzyło mi się że zainstalowany program do monitorowania sieci na serwerze po prostu się zawiesił i nie monitorował, parę dni później okazało się że kamera IP, która była bardzo kluczowa dla firmy przestała nagrywać. Zanim zorientowałem się że kamera nic nie nagrywa minęło parę dni.
Materiał w formie video obejrzysz tutaj 🙂
Dlaczego warto monitorować?
Jeżeli pracujemy w dużej firmie to monitorowanie urządzeń czy działają uważam za absolutną podstawę. Jeżeli dodatkowo firma ma wyeksploatowany sprzęt to wręcz jest to konieczność. Przede wszystkim warto monitorować czy działają nasze serwery. Jeżeli serwer przestanie odpowiadać lub urządzenie do którego jest podłączony ulegnie awarii, a nawet zwykły brak prądu może doprowadzić do zastoju w firmie.
Kiedy dojdzie do awarii podczas pracy to najprawdopodobniej szybko się o tym dowiemy. Lecz gdy dojdzie do awarii po pracy, kiedy w firmie już nikogo nie ma to jeżeli nie monitorujemy sieci, to o awarii dowiemy się najprawdopodobniej następnego dnia kiedy przyjdziemy do pracy.

A co jeżeli serwer przestanie odpowiadać w piątek wieczorem?
No właśnie!
Jeżeli dowiemy się o tym wieczorem w piątek w firmie w której weekendy są wolne
i wcześniej skonfigurowaliśmy sobie Mikrotika tak aby przesłał do nas maila to mamy minimum 48 godzin na naprawę. Jeżeli tego nie zrobiliśmy, mamy mało stresujący weekend, ale poniedziałek może się okazać dla nas zabójczy.
Jeżeli firma udostępnia pomieszczenia biurowe, a my jesteśmy odpowiedzialni za sieć w budynku i urządzenia na zewnątrz (np. kamery, szlabany wjazdowe, itp.) to również dobrze jest je monitorować.
Jeżeli dojdzie do uszkodzenia szlabanów wjazdowych co jest często awarią w zimę, to nim nam ktoś zgłosi, że automat nie wydaje biletu wjazdowego to my już dawno o tym będziemy wiedzieli i będziemy mogli zareagować.
Często firmy korzystają z kamer, dziś kamery IP to codzienność. Duże możliwości, łatwy montaż, niska cena. Problem powstaje kiedy coś się wydarzy i nagle się okaże, że nasza kamera nie nagrywa od 2 miesięcy. Warto monitorować monitoring, chociażby dla bezpieczeństwa naszego i pracowników.

Nawet jeżeli mamy ochronę, która siedzi przed monitorami i informuje nas
o nie prawidłowościach w działaniu kamer to z doświadczenia wiem, że mimo wszystko warto wiedzieć czy coś złego się dzieje czy nie.
Nic nas to nie kosztuje, w przypadku Mikrotika możemy dodać dowolną ilość adresów całkowicie za darmo! Gdzie w przypadku darmowych programów ograniczenie często to wynosi 20 urządzeń a potem trzeba płacić.
Jak skonfigurować?
Na początek musimy skonfigurować konto pocztowe, które będziemy używać do wysyłania wiadomości. W tym celu uruchamiamy WinBox, logujemy się, a następnie klikamy w Tools potem Email


Teraz musimy poprawnie wypełnić pola.
• Server: tutaj wpisujemy adres naszego serwera poczty wychodzącej
• Port: najczęściej jest to 465 (TLS/SSL) lub 587 (Non-TLS/SSL)
• Start TLS: jeżeli daliśmy [no] użyjmy portu 587
• From: z jakiego adresu mailowego będziemy wysyłać
• User: login do naszego maila
• Password: hasło do naszego maila
UWAGA! Niektóre serwery pocztowe np. google.pl mają zablokowaną możliwość wysyłania wiadomości, trzeba wtedy wejść w konfigurację i odblokować. Warto wcześniej sprawdzić konfigurację naszego serwera pocztowego.
Przechodzimy teraz do stworzenia skryptów. W tym celu klikamy System a następnie Scripts.

Tworzymy skrypt który wykryje awarię.

Omówmy każdą linijkę tak aby zrozumieć co tu się dzieje.
:if ([/ping 192.168.40.75 count=5] = 0) do={
Jeżeli pukamy pod adres 192.168.40.75 i na 5 prób uzyskamy 0 udanych odpowiedzi to wykonujemy dalszą część skryptu.
/tool e-mail send to=alert@netadminpro.pl="NetAdminPro SVR1 ERROR"
Wyślemy na adres mailowy alert@netadminpro.pl wiadomość której tematem będzie „NetAdminPro SVR1 ERROR”
/system scheduler enable serwer1_error
Włączamy w harmonogramie zadań zadanie o nazwie serwer1_error
/system scheduler disable serwer1_ok
Wyłączamy w harmonogramie zadań zadanie o nazwie serwer1_ok
Czas napisać skrypt który wykryje urządzenie jeżeli zostanie one naprawione.

Tworzymy teraz skrypt który wykryję poprawną pracę urządzenia.
:if ([/ping 192.168.40.75 count=5] > 4) do={
Jeżeli pukamy pod adres 192.168.40.75 i uzyskamy więcej niż 4 odpowiedzi to wykonujemy dalszą cześć skryptu.
/tool e-mail send to=alert@netadminpro.pl="NetAdminPro SVR1 OK"
Wyślemy na adres mailowy alert@netadminpro.pl wiadomość która w temacie będzie miała wpis „NetAdminPro SVR1 OK”
/system scheduler disable serwer1_error
Wyłączamy w harmonogramie zadań zadanie o nazwie serwer1_error
/system scheduler enable serwer1_ok
Włączamy w harmonogramie zadań zadanie o nazwie serwer1_ok
Czas na ustawienie harmonogramu zadań.
Klikamy System a następnie Scheduler

Teraz wystarczy stworzyć dwa zadania.
Pierwsze zadanie w naszym harmonogramie zadań uruchamia skrypt który monitoruje czy urządzenie działa.

• Name: wpisujemy nazwę zadania
• Start Date: podajemy datę startu
• Start Time: podajemy czas, w przypadku zadania do wykrywania nieprawidłowości warto dać tutaj startup
• Interval: 00:00:15 czyli uruchamiamy zadanie co 15 sekund
• On Event: wpisujemy tutaj nazwę skryptu który ma być uruchomiony
Teraz tworzymy drugie zadanie, które uruchomi się kiedy urządzenie przestanie działać. Zadanie uruchamia skrypt który monitoruje czy urządzenie odpowiada.

• Name: wpisujemy nazwę zadania
• Start Date: podajemy datę startu
• Start Time: podajemy czas startu
• Interval: 00:00:15 czyli uruchamiamy zadanie co 15 sekund
• On Event: wpisujemy tutaj nazwę skryptu który ma być uruchomiony
Jak to działa?
Zaczynamy od uruchomienia w harmonogramie (Scheduler) zadanie, które uruchamia nasz kod (Scripts) do monitorowania urządzenia czy jest dostępne w sieci. Czyli uruchamia nasz skrypt, który puka pod zdefiniowany przez nas adres i nie wykona się do puki ilość odpowiedzi będzie wynosić 0
:if ([/ping 192.168.40.75 count=5] = 0) do={
Następnie jeżeli okaże się że urządzenie nie odpowiada wykona się kod, który przełączy nam zadania oraz wyślę wiadomość e-mail. Od tej chwilo będziemy wykonywać skrypt który wykona się tylko wtedy kiedy urządzenie odpowie na nasze pukanie.
:if ([/ping 192.168.40.75 count=5] > 4) do={