CentreonでのUbiquiti UniFiの監視

そして、ユビキティのAPとスイッチを支配する時が来ました! したがって、組織内にそのようなデバイスがある場合… Centreonから一元化し、制御する時が来ました. すべてが監督され、起こりうる問題を予測しているという事実だけで, 開始! 😛

 

まぁ, 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, クライアント, conexiones, consumos de recursoslo mismo para los switch’es, y a la controladora lo mismo, 可用性, 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:

使い: /usr/bin/php check_unifi.php -H [コントローラ] -又は [controlleruser] -p [controllerpassword] -P [controllerport] -m [モード] -宛先 [Accesspoint] -w [警告] -c [危うい] (-S [site] -s =https -C [configfile]) -d =debug)

モード - controller                                = Controller Version, warning if there is an update
       site                                      = list all Site ID and Name
       clients                                   = list all clients (only use in console)
       clients_wifi ( + Accesspoints)            = list all wifi clients with connection speed, optional for one accesspoint (only use in console)
       clients_name + Accesspoint                = list all clients of an accesspoint
       clients_name_guest + Accesspoint          = list all clients and guests of an accesspoint
       clients_count + Accesspoint               = count clients of an accesspoint
       clients_count_guest + Accesspoint         = count clients and guests of an accesspoint
       channels + Accesspoint                    = channels 2GHz/5GHz of an accesspoint
       transfer + Accesspoint                    = rx/tx transfer of an accesspoint (KBit/MBit)
       transfer+ + Accesspoint                   = rx/tx transfer of an accesspoint (KByte/MByte)
       アップタイム + Accesspoint/Switch               = uptime and firmware of an accesspoint/switch
       update + Accesspoint/Switch               = update firmware is available of an accesspoint/switch and warn/critical (point release, major version, minor version)
       uplink + Accesspoint warn crit            = uplink of an accesspoint (wireless: with connection speed and warn/critical)
       experience + Accesspoint warn crit        = wireless experience of an accesspoint with warn/critical
       utilisation + Accesspoint warn crit       = wireless utilisation of an accesspoint with warn/critical (2GHz帯,5GHz帯)
       メム + Accesspoint warn crit               = memory usage output Mb of an accesspoint or a switch with warn/critical percent
       mem% + Accesspoint warn crit              = memory usage output percent of an accesspoint or a switch with warn/critical percent
       cpu + Accesspoint/Switch warn crit        = cpu and load combination usage of an accesspoint or a switch with warn/critical percent
       cpu% + Accesspoint/Switch warn crit       = cpu usage of an accesspoint or a switch with warn/critical percent
       load + Accesspoint/Switch warn crit       = linux load usage of an accesspoint or a switch with warn/critical 1,5,15
       温度 + Switch                      = temperature of a switch with warn/critical
       ap warn crit                              = count Accesspoint (Online and Offline) with warn and critical offline Accesspoints
       switch warn crit                          = count Switch (Online and Offline) with warn and critical offline Switch


-C   - config file (default=unifi.php) instead of the controller parameters -H,-又は,-p,-P,-s -S (you can specify any file with path)
       example:

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

 

まぁ, 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 (私のために):

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

 

Comprobar versión de firmware de los AP/SW:

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

 

Calidad de la experiencia del AP:

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m experience -a NOMBRE_AP -w 90: -c 80: -s https

 

CPU del AP/SW

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m cpu% -a NOMBRE_AP -w 80 -c 90 -s https

 

Memoria del AP/SW

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m mem% -a NOMBRE_AP -w 80 -c 90 -s https

 

Carga del AP/SW

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m load -a NOMBRE_AP -w 4,3,2 -c 6,5,4 -s https

 

Temperatura del SW

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m temperature -a NOMBRE_SWITCH -w 40 -c 50 -s https

 

Uptime del SW o del AP

/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m uptime -a NOMBRE_SWITCH -w 80 -c 90 -s https

 

Número de APs

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

 

Número de SWs
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m switch -w 1 -c 0 -s https

 

今, una vez que hayas cacharreado y probado, es hora de llevarlo como siempre a Centreon, いつも通り, inicialmente definiremos los Comandos que necesitaremos para crear luego los Servicios que nos interesen. En mi caso he creado estos 4 コマンド, os los dejo por si queréis copiarlos, unos van con más o menos argumentos y la posibilidad de meterle Warning / Critical si nos interesase. 私たちは、 “構成” > “コマンド” > “チェック” > “足す…”

  • Nombre del comando: check_unifi.php
  • Línea de comandos: /usr/bin/php $CENTREONPLUGINS$/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u USUARIO -p CONTRASEÑA -m $ARG1$ -s https

 

  • Nombre del comando: check_unifi.php_wc
  • Línea de comandos: /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

 

  • Nombre del comando: check_unifi.php_a
  • Línea de comandos: /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$ -s https

 

  • Nombre del comando: check_unifi.php_a_wc
  • Línea de comandos: /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

 

Y luego ya desde “構成” > “ホスト” > “足す…” deberemos dar de alta como es habitual las APs, los SW, la máquina con el Controllercon el objetivo final de añadirle los servicios que nos interesen monitorizar a cada Host.

Así que finalmente desde “構成” > “サービス” > “Services by Hostvamos añadiendo los Servicios, y les vamos asociando a cada uno el Comando que debe llevar y le alimentamos con los Argumentos correspondientes.

Si queremos meter el estado del Hardware a los Switches, utilizaremos el maravilloso pack de plugins de Centreon llamado ‘centreon-plugins’, que ya vimos cómo usarlo y utilizarlo en este post. Y este script sí utiliza SNMP, por lo que tendrás que habilitarlo previamente en la consola de ‘UniFi Network’, から “設定” > “Advanced Features” > “Advanced Gateway Settings” > “SNMP” y configurar una Comunidad para v2 o si queremos v3 unos credenciales. Y con el siguiente Comando lo tendríamos chupado:

perl $CENTREONPLUGINS$/centreon-plugins/centreon_plugins.pl --plugin=network::ubiquiti::edge::SNMP の::plugin --hostname $HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --mode hardware

 

いつも通り, 記録とエクスポートの設定.

 

Sí hemos seguido todos los pasos tendremos algo como esto de arriba, disculparme pero sabéis que es una locura si hago uno a uno. Si tienes dudas del uso de Centreon es mejor que vayas a documentos iniciales donde daba más detalle de cómo crear un Servicio, un Comando… これで完了です! Tenemos las CPU, Interfaces de red/puertos, 回顧録, 負荷, Canales Wifi, Versionado y firmwares, Experiencias, Temperaturas, Estado del Hardwarede nuestros Access Point y Switches de Ubiquiti controlados!

 

Y si tenemos un グラファナ pues podemos hacer unas visualizaciones chulas, el mio un poco cutre, pero aceptable, es que este le tengo diseñado para una pantalla pequeñita 😉 Así que más no le podía meter.

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!