Temat: [mało znane pakiety] apinger
W repozytorium OpenWrt można znaleźć się setki pakietów. Niektóre są mało znane, choć realizują ciekawe funkcje. Jednym z nich jest apinger.
Opisywałem już pincheck, choć jego zasada działania bardziej skłania do używana go jako programu do monitorowania stanu interfejsów przez pingowanie określonego hosta. Tu mamy do czynienia z sytuacją odwrotną - pingujemy adresy IP (nie domeny!) i sprawdzamy ich dostępność (choć można także wybrać interfejs przez który to się wykonuje). Można także definiować "alarmy" bazujące na np. opóźnieniach lub braku pingów, można wysłać mejle lub wykonywać skrypt (w openwrt dzieje się to przez hotpluga)
Program został napisany w C (więc nie jest to skrypt) i zajda mało zasobów.
Dostępne są trzy elementy - sam apinger, apinger-rrd do tworzenia bazy danych i wykresów z jego działania oraz odpowiednia aplikacja dla luci - luci-app-apinger (po instalacji znajdziemy ją w menu "Usługi").
Tym razem zaczniemy "od końca" - od instalacji wersji dla LuCI
instalacja
# opkg update
# opkg install luci-app-apinger
Zainstaluje to wszystkie niezbędne zależności oraz sam program
Konfiguracja
Standardowo jest w pliku /etc/config/apinger, który jest tłumaczony na odpowiedni konfig dla programu. Wystarczy dodać nowy cel, np.
# uci set apinger.google=target
# uci set apinger.google.interface='wan'
# uci set apinger.google.address='8.8.8.8'
# uci set apinger.google.probe_interval='3'
# uci set apinger.google.rrd='1'
# uci commit apinger
# /etc/init.d/apinger restart
Żeby dany host był monitorowany. Ale uwaga - podaje się adres IP (nie adres FQDN), a sama nazwa sekcji musi być zgodna z uci (więc żadnych spacji itp).
Jeżeli utworzymy dodatkowo alarmy, mamy także informacje o wystąpieniu warunków brzegowych, które można obsłużyć we własnym zakresie np. jakimś skryptem.
LuCI
Tym razem czas na trochę obrazów. Poniżej znajduje się kilka zrzutów ekranu jak to zostało zaimplementowane w LuCI.
Definicja alarmów (tutaj - tylko definicja opóźnień)
Definicja celów wraz z oknem edycji danego celu:
Lista wszystkich zdefiniowanych celów:
Oraz same wykresy z działania programu:
Apinger robi pliki RRD w katalogu /apinger, więc uważajcie jak często aktualizowane jest rrd, żeby nie zniszczyć sobie pamięci flash. "Wadami" które mi przeszkadzają to brak możliwości nazwania tego lub wprowadzenia opisu (nazwa sekcji to za mało, oczywiście w pliku w uci można zrobić sobie dodatkową opcję i wpisać tam trochę tekstu) oraz brak możliwości pingowania po nazwie hosta (ale to już jest samo ograniczenie programu).
Warto jeszcze zaznaczyć, że apinger został napisany ponad dwie dekady temu przez naszego rodaka i znalazł zastosowanie także w innych systemach operacyjnych.