在 Centreon 监控 Ubiquiti UniFi

¡Y llega la hora de gobernar los APs y los switches de Ubiquiti! Así que si tienes algún dispositivo de este tipo en tu organizaciónes hora de centralizarlo y controlarlo desde Centreon. Con el mero hecho de tener todo supervisado y anticipándonos a posibles problemas, 开始! 😛

 

井, 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, 客户, 连接, consumos de recursoslo mismo para los switch’es, y a la controladora lo mismo, disponibilidad, 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 (2千兆赫,5千兆赫)
       内存 + 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 “配置” > “服务业” > “按房东提供的服务” vamos 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 在这篇文章中. 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 (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, 回忆录, Cargas, 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, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!