Monitorowanie urządzeń airfiber za pomocą cacti

Dodano: 2014-03-18

img

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:

af0 throughput

af0 packets

Inne interfejsy (air0, air0.400 - myój vlan, eth0, eth0.400, br1), tu dla przykładu ruch na air0:

air0 traffic

air0 unicast packets

TX/RX capacity - mój link jest bardzo krótki, więc widać tylko jedną linię:

airfiber capacity

siła sygnału gps:

airfiber gps signal

Użycie pamięci:

airfiber  memory usage

Signal strenght w wartościach dodatnich:

airfiber  signal strenght

Temperatura:

airfiber  temperature

Uptime:

airfiber  uptime

I loadavg:

airfiber  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

 

 

Spodobał Ci się wpis? Podziel się ze znajomymi!

Zobacz wszystkie wpisy na blogu