Überwachung von Ubiquiti UniFi in Centreon

Und es ist Zeit, Ubiquiti-APs und -Switches zu regieren!! Wenn Sie also ein solches Gerät in Ihrer Organisation haben… Es ist Zeit, es von Centreon aus zu zentralisieren und zu steuern. Mit der bloßen Tatsache, alles überwachen zu lassen und mögliche Probleme zu antizipieren, Wir fingen an! 😛

 

gut, para muchos de los servicios que vamos a monitorizar nos apoyaremos en el maravilloso script check_unifi.php de Jörg Hörter; así que descárgalo y como siempre guardarlo en el directorio de los scripts de Centreon. Con este script vamos a poder sacar un montón de información de la parte UniFi de Ubiquiti, lo que es la salud de cada AP, sus tráficos, Kundschaft, conexiones, consumos de recursoslo mismo para los switch’es, y a la controladora lo mismo, Verfügbarkeit, versionado, número de APs/SWs..

Necesitamos disponer de php instalado en la máquina y de ‘php-curl’, una vez instalador los requisitos probamos a ejecutarlo:

yum install php-curl
/usr/bin/php check_unifi.php

 

 

Este script si le pasamos ‘-hnos dará información con todas sus posibilidades de uso:

Verwendung: /usr / bin / php check_unifi.php -H [Regler] -in [ControllerBenutzer] -p [Controller-Passwort] -P [controllerport] -m [Modus] -ein [Zugangspunkt] -w [Warnung] -c [Kritisch] (-S [Seite? ˅] -s = https -C [Konfigurationsdatei]) -d = Debug)

Modus - controller = Controller-Version, Warnung, wenn ein Update vorliegt
       site = Alle Site-IDs und -Namen auflisten
       Kunden = Alle Kunden auflisten (Nur in der Konsole verwenden)
       clients_wifi ( + Zugangspunkte)            = Alle WLAN-Clients mit Verbindungsgeschwindigkeit auflisten, optional für einen Zugangspunkt (Nur in der Konsole verwenden)
       clients_name + Accesspoint = Alle Clients eines Accesspoints auflisten
       clients_name_guest + Accesspoint = Alle Clients und Gäste eines Accesspoints auflisten
       clients_count + Accesspoint = Anzahl der Clients eines Accesspoints
       clients_count_guest + Accesspoint = Anzahl der Clients und Gäste eines Accesspoints
       Kanäle + Accesspoint = Kanäle 2GHz / 5GHz eines Accesspoints
       Transfer + Accesspoint = RX / TX-Übertragung eines Accesspoints (KBit / MBit)
       transfer + + Accesspoint = RX / TX-Übertragung eines Accesspoints (KByte / MByte)
       Betriebszeit + Accesspoint / Switch = Betriebszeit und Firmware eines Accesspoints / Switch
       aktualisieren + Accesspoint / Switch = Firmware aktualisieren ist für einen Accesspoint / Switch verfügbar und warnt / kritisch (Punktfreigabe, Hauptversion, Nebenversion)
       Uplink + Accesspoint warn Crit = Uplink eines Accesspoints (kabellos: mit Verbindungsgeschwindigkeit und warnen / kritisch)
       Erfahrung + Accesspoint warn Crit = drahtlose Erfahrung eines Accesspoints mit warn / Critical
       Verwertung + Accesspoint warn Crit = drahtlose Nutzung eines Accesspoints mit warn / Critical (2GHz,5GHz)
       Mem + Accesspoint warn Crit = Speicherauslastung Mb eines Accesspoints oder eines Switches mit warn / Critical Prozent
       mem% + Accesspoint warn Crit = Speicherauslastung in Prozent eines Accesspoints oder eines Switches mit warn / Critical-Prozentsatz
       Zentralprozessor + Accesspoint / Switch-Warnkritik = CPU- und Lastkombinationsnutzung eines Accesspoints oder eines Switches mit Warn- / kritischem Prozentsatz
       Zentralprozessor% + Accesspoint / Switch-Warnkritik = CPU-Auslastung eines Accesspoints oder eines Switches mit Warn- / kritischem Prozentsatz
       Belastung + Accesspoint / Switch warn Crit = Linux-Load-Nutzung eines Accesspoints oder eines Switches mit warn / Critical 1,5,15
       Temperatur + Schalter = Temperatur eines Schalters mit Warnung / kritisch
       ap warn Crit = Anzahl Accesspoint (Online und offline) mit warnenden und kritischen Offline-Accesspoints
       switch warn Crit = count Schalter (Online und offline) mit Warnung und kritischem Offline-Switch


-C   - Konfigurationsdatei (default = unifi.php) anstelle der Reglerparameter -H,-in,-p,-P,-s -S (Sie können jede Datei mit Pfad angeben)
       Beispiel:

       <?php
       $ host = '192.168.2.213';    # IP- oder Hostname-Unifi-Controller-Server
       $ prot = 'https';            # Wert http oder https
       $ port = '8443';             # Controller-Port
       $ user = 'nagios';           # Loginuser Controller
       $pass='nagios';           # Password Loginuser
       $siteid='default';        # Site ID
       $dir_unifi_client='';     # Directory unifi_client.php
       ?>

 

gut, si queréis cacharrear en shell y ver cómo va/probarlo, os dejo unos ejemplos, no son todas las posibilidades, pero sí los que consideré más útiles (für mich):

Comprobar versión del Controller y da Warning si hay update:

/usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m controller -s https

 

Clientes por cada AP:

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m clients_count -a NOMBRE_AP -s https

 

Canales 2GHz/5GHz de cada AP:

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m channels -a NOMBRE_AP -s https

 

Überprüfen Sie die Firmware-Version von AP / SW:

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m Update -a AP_NAME -s https

 

Qualität der AP-Erfahrung:

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m Erfahrung -a AP_NAME -w 90: -c 80: -s https

 

CPU del AP / SW

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m CPU% -a AP_NAME -w 80 -c 90 -s https

 

AP / SW-Speicher

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m mem% -a AP_NAME -w 80 -c 90 -s https

 

AP / SW-Last

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m load -a AP_NAME -w 4,3,2 -c 6,5,4 -s https

 

SW-Temperatur

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m Temperatur -a SWITCH_NAME -w 40 -c 50 -s https

 

Betriebszeit von SW oder AP

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m Betriebszeit -a SWITCH_NAME -w 80 -c 90 -s https

 

Anzahl der APs

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m ap -w 1 -c 0 -s https

 

Anzahl der SWs
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m Schalter -w 1 -c 0 -s https

 

jetzt, Sobald Sie geknackt und getestet haben, Es ist Zeit, es wie gewohnt nach Centreon zu bringen, wie immer, Zunächst definieren wir die Befehle, die wir benötigen, um später die Dienste zu erstellen, die uns interessieren. In meinem Fall habe ich diese erstellt 4 Befehle, Ich überlasse sie Ihnen, falls Sie sie kopieren möchten, Einige gehen mit mehr oder weniger Argumenten und der Möglichkeit, Warnung zu setzen / Kritisch, wenn wir interessiert waren. lassen Sie uns “Aufbau” > “Befehle” > “Schecks” > “Hinzufügen…”

  • Befehlsname: check_unifi.php
  • Befehlszeile: /usr / bin / php $ CENTREONPLUGINS $ / check_unifi.php / check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m $ ARG1 $ -s https

 

  • Befehlsname: check_unifi.php_wc
  • Befehlszeile: /usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m $ ARG1 $ -w $ ARG2 $ -c $ ARG3 $ -s https

 

  • Befehlsname: check_unifi.php_a
  • Befehlszeile: /usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USER -p PASSWORT -m $ ARG1 $ -a $ ARG2 $ -s https

 

  • Befehlsname: check_unifi.php_a_wc
  • Befehlszeile: /usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m $ ARG1 $ -a $ ARG2 $ -w $ ARG3 $ -c $ ARG4 $ -s https

 

Und dann schon ab “Aufbau” > “Gastgeber” > “Hinzufügen…” Wir müssen die APs wie gewohnt registrieren, los SW, die Maschine mit dem Controller… mit dem Endziel, die Dienste hinzuzufügen, die uns interessieren, um jeden Host zu überwachen.

Also endlich ab “Aufbau” > “Dienstleistungen” > “Dienstleistungen nach Host” Wir fügen die Dienste hinzu, und wir ordnen jedem den Befehl zu, den sie tragen müssen, und wir füttern sie mit den entsprechenden Argumenten.

Wenn wir den Hardwarestatus auf die Switches setzen wollen, Wir werden das wunderbare Paket von Centreon-Plugins verwenden, die als "Centreon-Plugins" bezeichnet werden., Wir haben bereits gesehen, wie man es benutzt und benutzt in diesem Beitrag. Und dieses Skript verwendet SNMP, Sie müssen es daher zuvor in der Konsole "UniFi-Netzwerk" aktivieren., von “die Einstellungen” > “Erweiterte Funktionen” > “Erweiterte Gateway-Einstellungen” > “SNMP” und konfigurieren Sie eine Community für v2 oder wenn wir v3 möchten, einige Anmeldeinformationen. Und mit dem folgenden Befehl hätten wir es gelutscht:

perl $ CENTREONPLUGINS $ / centreon-plugins / centreon_plugins.pl --plugin = network::Ubiquiti::Kante::snmp::Plugin --hostname $ HOSTADDRESS $ --snmp-community = $ _ HOSTSNMPCOMMUNITY $ --mode Hardware

 

wie immer, Einstellungen Aufzeichnung und Export.

 

Wenn wir alle Schritte befolgt haben, haben wir oben so etwas, Entschuldigung, aber Sie wissen, dass es verrückt ist, wenn ich eins nach dem anderen mache. Wenn Sie Zweifel an der Verwendung von Centreon haben, ist es besser, zu den ersten Dokumenten zu gehen, in denen weitere Informationen zum Erstellen eines Dienstes enthalten sind, Ein Kommando… so klug! Wir haben die CPUs, Netzwerkschnittstellen / Ports, Erinnerungen, Lasten, Wifi-Kanäle, Versionierung und Firmware, Erfahrungen, Temperaturen, Hardwarestatus… unserer kontrollierten Ubiquiti Access Points und Switches!

 

Und wenn wir eine haben Grafana Nun, wir können einige coole Visualisierungen machen, meins ein bisschen schäbig, aber akzeptabel, ist, dass ich es für einen kleinen Bildschirm entworfen habe más Also konnte ich nicht mehr setzen.

Letzte Artikel von Hector Herrero (Alle anzeigen)