Ponieważ uruchomione na urządzeniach Airfiber snmp zwraca niestandardowe Miby, oraz ponieważ podczas poszukiwania dokumentacji do tej wersji snmp nie udało mi się znaleźć nic konkretnego, bazując na pomyśle Jana Panocha napisałem własny template do cacti wraz z zestawem skryptów. Uzyłem wartości zwracanych przez status.cgi i status-new.cgi. Całość rozwiązania jest nieco niespójna, gdyż pomysł powstawał wraz z jego pisaniem.
Najpierw nalezy założyć na urządzeniu konto tylko do odczytu, dane do logowania nalezy zapisać do skryptu get-af-data.php. Jako, że połączenie do Airfiber odbywa się z użyciem ssl, należy je włączyć na urządzeniu w zakładce services.
get-af-data.php pobiera odpowiedź JSON z Airfiber i zapisuje ją do /tmp.
get-af-data.php uruchamiany jest z crona więc nalezy dodać linie:
*/5 * * * * root /bin/sleep 180; /path/to/php /path/to/cacti/scripts/get-af-data.php AIRFIBER_ADDRESS new
*/5 * * * * root /bin/sleep 180; /path/to/php /path/to/cacti/scripts/get-af-data.php AIRFIBER_ADDRESS old
dla każdego urządzenia airfiber. W wywołaniu jest użyty sleep, ponieważ pooler i skrypt uruchamiany jest w tym samym czasie i mogłoby dojść do sytuacji, gdy dane zostaną nadpisane.
Drugi skrypt (af-get-data.pl) jest uruchamiany przez cacti, dokonuje analizy danych i zwraca odpowiednie wartości do cacti. Nalezy nadać skryptom odpowiednie uprawnienia (+x), zaimportować template do cacti, dodać urządzenie, wykresy i można oglądać swoje nowe grafy :).
Moje urządzenia pracują w vlanie, więc dodałem odpowiedni template. Można go oczywiście dowolnie modyfikować :).
Poniżej lista wykresów:
Ruch na wirtualnym interfejsie af0:
Inne interfejsy (air0, air0.400 - myój vlan, eth0, eth0.400, br1), tu dla przykładu ruch na air0:
TX/RX capacity - mój link jest bardzo krótki, więc widać tylko jedną linię:
siła sygnału gps:
Użycie pamięci:
Signal strenght w wartościach dodatnich:
Temperatura:
Uptime:
I loadavg:
Skrypt perlowy jest zależny od modułu JSON, więc nalezy go doinstalować. Informacje przez niego zwracane są logowane, więc należy zwrócić uwagę na uprawnienia do pliku logu. Jeżeli log jest niepotrzebny, ustawiając wartość debug na 0 można go wyłączyć.
Template i skrypty można pobrać stąd. Jeżeli masz pytania lub potrzebujesz pomocy skontaktuj się z nami