MONITORING SIECI - APC UPS Smart
Tym razem zajmę się wstawieniem do systemu Nagios Core, zasilacza awaryjnego firmy APC - model Smart 3000 wyposażonego w kartę sieciową i czujnik zewnętrzny temperatury.
Karta sieciowa w UPS jest wymagana do komunikacji. Zewnętrzny czujnik temperatury może nas uchronić od awarii w wyniku uszkodzenia klimatyzacji i przegrzania sprzętu.
Wprowadzenie poniższej konfiguracji powinno utworzyć widok w Nagiosie Core:
Na koniec wyjaśnie jaką rolę pełnią ikony przy nazwie hosta i serwisie "Temp", oraz co można poprawić w tym widoku.
Krok 1 - Dodanie deklaracji hosta
Tworzymy nowy plik CFG lub dodajemy do istniejącego - np.
Dodajemy poniższy kod do pliku
use | generic-host | ; predefiniowane ustawienia | |
host_name | 01cin_ups | ; po tej nazwie Nagios będzie identyfikował urzadzenie | |
alias | 01cin_ups | ; opis urządzenia | |
display_name | 01cin_ups | ; wyświetlana nazwa hosta w Nagiosie | |
parents | 00stack | ; do jakiego urządzenia jest bezpośrednio podłaczone | |
address | 192.168.0.2 | ; adres IP pod jakim jest dostępne urządzenie | |
register | 1 | ; zarejestrowanie urządzenia | |
} |
Krok 2 - Utworzenie grupy serwisowej
Tworzymy nowy plik CFG np.
Dodajemy poniższy kod do pliku
servicegroup_name | apc | ; nazwa grupy, wg niej jest wyświetlana kolejność w oknie Service Groups | |
alias | Zasilacze APC | ||
} |
Krok 3 - Zdefiniowanie wzorca dla serwisów
Do utworzonego wcześniej pliku apc.cfg dodajemy poniższy kod
name | apc-service | ; deklarowana nazwa wzorcowej formatki do której będą się odwoływały utworzone serwisy | |
use | generic-service | ; predefiniowane ustawienia w pliku templates.cfg | |
max_check_attempts | 4 | ; wykona max 4 nieudane odpytania | |
check_interval | 60 | ; sprawdza serwis co .. minut | |
retry_interval | 1 | ; sprawdza serwis raz na minutę po serii nieudanych odpytaniach | |
register | 0 | ; wzorce nie należy rejestrować | |
servicegroups | apc | ; wszystkie serwisy utworzone na podstawie tego wzorca będą widziane w tej grupie serwisowej | |
host_name | 01cin_ups | ; wszystkie urządzenia zadeklarowane w tym miejscu będą korzystały z tego wzorca oraz powiązanych serwisów. | |
} |
Krok 4 - Zdefiniowanie serwisów odpytujących urządzenie
Do utworzonego wcześniej pliku apc.cfg dodajemy poniższy kod
use | apc-service | ; deklarowanie z jakiego wzorca ma korzystać | |
display_name | Temp | ; deklarowanie etykiety serwisu widzianej w Nagiosie | |
service_description | Temp | ; opis serwisu | |
register | 1 | ; zarejestrój serwis | |
check_command | check_snmp! -w 28 -c 38 -o iemStatusProbeCurrentTemp.1 -l "stopni" | ||
} |
use | apc-service | ; deklarowanie z jakiego wzorca ma korzystać | |
display_name | Status | ; deklarowanie etykiety serwisu widzianej w Nagiosie | |
service_description | Status | ; opis serwisu | |
register | 1 | ; zarejestrój serwis | |
check_command | check_snmp! -o mib-2.33.1.1.2.0 -l "" -o mib-2.33.1.1.2.0 -l 'Model:' -o .1.3.6.1.4.1.318.1.1.1.1.2.3.0 -l 'Serial Number:' -o .1.3.6.1.4.1.318.1.1.1.1.2.1.0 -l 'Firmware:' -o .1.3.6.1.4.1.318.1.1.1.2.1.1.0 -w 3 -c 4 -l 'UPS Status:' | ||
} |
use | apc-service | ; deklarowanie z jakiego wzorca ma korzystać | |
display_name | Power | ; deklarowanie etykiety serwisu widzianej w Nagiosie | |
service_description | Power | ; opis serwisu | |
register | 1 | ; zarejestrój serwis | |
check_command | check_snmp! -o .1.3.6.1.4.1.318.1.1.1.3.2.1.0 -l 'Input Voltage:' -u 'Volts,' -o .1.3.6.1.4.1.318.1.1.1.4.2.1.0 -l 'Output Voltage:' -u 'Volts,' -o .1.3.6.1.4.1.318.1.1.1.4.2.4.0 -l 'Output Current:' -u 'Amperes,' -o .1.3.6.1.4.1.318.1.1.1.2.2.4.0 -l 'Status Batteries:' -u '(1=OK 2=Replace Batteries),' -o .1.3.6.1.4.1.318.1.1.1.2.2.1.0 -l 'Battery Charge:' -u '%' | ||
} |
use | apc-service | ; deklarowanie z jakiego wzorca ma korzystać | |
display_name | Up Time | ; deklarowanie etykiety serwisu widzianej w Nagiosie | |
service_description | Up Time | ; opis serwisu | |
register | 1 | ; zarejestrój serwis | |
check_command | check_snmp! -o .1.3.6.1.2.1.1.3.0 -l 'UP Time:' | ||
} |
UWAGI
W tym przykładzie chciałem pokazać możliwości łączenia w jednym zapytaniu odpytywania kilku OID. Bardzo przydatna funkcja ale ..
- najlepiej używać w przypadku pobierania stałych informacji np. nazwa, lokalizacja, model, nr seryjny itp.
- trzeba sprawdzić czy wzorzec komendy ma zadeklarowaną odpowiednią ilość argumentów - w przypadku potrzeby dodać.
check_snmp -H $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ $ARG4$
#po dodaniu
check_snmp -H $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$ $ARG7$ $ARG8$
Ikonki i ich funkcje
Ikonka wykresu przy nazwie "01cin_ups"
Naciśnięcie ikony powodu otworzenie nowej zakładki przeglądarki Internetowej i połączenie z panelem zarządzającym UPS-a. Uzyskuje się to przez dodanie deklaracji "action_url" do hosta.
Ikonka "APC" przy nazwie "01cin_ups"
Naciśnięcie ikony powodu otworzenie okna ze statusem serwisu powiązanego z hostem - domyślnie jest to PING. Ikonę uzyskuje się przez dodanie deklaracji "icon_image". Zgodnie ze sztuką CSS warto jest opisać ikonę przez deklaracje "icon_image_alt".
Wszystko dodajemy do deklaracji hosta. Wstawiamy plik graficzny o rozdzielczości 40x40 pikseli do lokalizacji:
Po dodaniu powyższych deklaracji, definicja hosta przyjmuje postać:
use | generic-host | ; predefiniowane ustawienia | |
host_name | 01cin_ups | ; po tej nazwie Nagios będzie identyfikował urzadzenie | |
alias | 01cin_ups | ; opis urządzenia | |
display_name | 01cin_ups | ; wyświetlana nazwa hosta w Nagiosie | |
parents | 00stack | ; do jakiego urządzenia jest bezpośrednio podłaczone | |
address | 192.168.0.2 | ; adres IP pod jakim jest dostępne urządzenie | |
action_url | https://192.168.0.2 | ; panel www zasilacza apc | |
icon_image | apc.png | ; ikona zasilacza apc | |
icon_image_alt | APC Smart-UPS | ; opis ikony zasilacza apc | |
register | 1 | ; zarejestrowanie urządzenia | |
} |
Ikonka wykresu przy serwisie "Temp"
Naciśnięcie ikony powodu otworzenie nowego okna zakładki przeglądarki Internetowej i wyświetlenie wykresów generowanych na podstawie pobieranych temperatur w funkcji czasu. Uzyskuje się to przez dodanie deklaracji "action_url" do serwisu.
Skorzystanie z tej opcji, wymaga zainstalowania pluginu pnp4nagios
use | apc-service | ; deklarowanie z jakiego wzorca ma korzystać | |
display_name | Temp | ; deklarowanie etykiety serwisu widzianej w Nagiosie | |
service_description | Temp | ; opis serwisu | |
register | 1 | ; zarejestrój serwis | |
check_command | check_snmp! -w 28 -c 38 -o iemStatusProbeCurrentTemp.1 -l "stopni" | ||
action_url | /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ | ||
} |
Artykuły powiązane:
MONITORING SIECI | |
---|---|
Nagios | rozwiązanie do monitorowania urządzeń sieciowych |
Protokół SNMP | używany w monitoringu urządzeń |
Plugin check_snmp | najpopularniejsza wtyczka Nagios Core |
Plugin check_vpn.pl | wtyczka do monitorowania stanu kanału VPN w ruterach SonicWall |
Plugin snmpwalk | plugin do odpytywania urządzeń w celu pozyskania OID z urządzenia |
SonicWall NSA 2400 część 1 | przykład odpytywania urządzenia z poziomu wiersza poleceń |
SonicWall NSA 2400 część 2 | dodanie rutera do Nagios Core |
APC UPS Smart | dodanie UPS-a do Nagios Core |