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, クライアント, 接続数, consumos de recursos… lo 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 ‘-h’ nos dará información con todas sus posibilidades de uso:
使い: /usr/bin/php check_unifi.php -H [コントローラ] -又は [controlleruser] -p [controllerpassword] -P [controllerport] -m [モード] -宛先 [アクセスポイント] -w [警告] -c [危うい] (-S [サイト] -s =https -C [設定ファイル]) -d =デバッグ)
モード - controller = コントローラーのバージョン, 更新がある場合に警告
site = すべてのサイトIDと名前を表示
clients = すべてのクライアントを表示 (コンソールでのみ使用)
clients_wifi ( + アクセスポイント) = 接続速度付きで全Wi-Fiクライアントを表示, 一つのアクセスポイントの場合はオプション (コンソールでのみ使用)
clients_name + アクセスポイント = アクセスポイントの全クライアントを表示
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
AP/SWのファームウェアバージョンを確認する:
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m update -a AP名 -s https
APのエクスペリエンス品質:
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m experience -a AP名 -w 90: -c 80: -s https
AP/SWのCPU
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m cpu% -a AP名 -w 80 -c 90 -s https
AP/SWのメモリ
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m mem% -a AP名 -w 80 -c 90 -s https
AP/SWの負荷
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m load -a AP名 -w 4,3,2 -c 6,5,4 -s https
SWの温度
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m temperature -a スイッチ名 -w 40 -c 50 -s https
SWまたはAPの稼働時間
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m uptime -a スイッチ名 -w 80 -c 90 -s https
APの数
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m ap -w 1 -c 0 -s https
SWの数
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u ユーザー -p パスワード -m switch -w 1 -c 0 -s https
今, 一度触って試したら, いつも通り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 Controller… con el objetivo final de añadirle los servicios que nos interesen monitorizar a cada Host.
Así que finalmente desde “構成” > “サービス” > “Services by Host” 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 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 Hardware… de 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.











































