1

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ń)
https://eko.one.pl/files/images/apinger/apinger-alarm.png

Definicja celów wraz z oknem edycji danego celu:

https://eko.one.pl/files/images/apinger/apinger-targets.png

https://eko.one.pl/files/images/apinger/apinger-target-edit.png

Lista wszystkich zdefiniowanych celów:

https://eko.one.pl/files/images/apinger/apinger-target-info.png

Oraz same wykresy z działania programu:

https://eko.one.pl/files/images/apinger/apinger-graph1.png
https://eko.one.pl/files/images/apinger/apinger-graph2.png


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.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.