在 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ón… es 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 recursos… lo mismo para los switch’es, y a la controladora lo mismo, 可用性, versionado, número de APs/SWs..
我们需要在机器上安装 PHP 以及 ‘php-curl’, 一旦安装了这些要求,我们尝试运行它:
yum install php-curl /usr/bin/php check_unifi.php
如果我们给这个脚本传递 ‘-h’’ 它会给我们显示所有使用可能的信息:
用法: /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 = 控制器版本, 如果有更新会有警告
site = 列出所有站点 ID 和名称
clients = 列出所有客户端 (仅在控制台使用)
clients_wifi ( + Accesspoints) = 列出所有具有连接速度的 WiFi 客户端, 可选用于某个接入点 (仅在控制台使用)
clients_name + Accesspoint = 列出某个接入点的所有客户端
clients_name_guest + Accesspoint = 列出某个接入点的所有客户端和访客
clients_count + Accesspoint = 计数某个接入点的客户端
clients_count_guest + Accesspoint = 计数某个接入点的客户端和访客
channels + Accesspoint = 某个接入点的 2GHz/5GHz 频道
transfer + Accesspoint = 某个接入点的接收/发送传输 (KBit/MBit)
transfer+ + 接入点 = 接入点的接收/发送传输 (千字节/兆字节)
正常运行时间 + 接入点/交换机 = 接入点/交换机的运行时间和固件
更新 + 接入点/交换机 = 接入点/交换机的固件可用更新并警告/严重 (小版本更新, 主版本, 次版本)
上行链路 + 接入点警告 严重 = 接入点的上行链路 (无线: 带连接速度和警告/严重)
体验 + 接入点警告 严重 = 接入点的无线体验,带警告/严重
利用率 + 接入点警告 严重 = 接入点的无线利用率,带警告/严重 (2千兆赫,5千兆赫)
内存 + 接入点警告/严重 = 接入点或交换机的内存使用情况输出,以兆字节显示,并带有警告/严重百分比
内存% + 接入点警告/严重 = 接入点或交换机的内存使用百分比输出,并带有警告/严重百分比
CPU + 接入点/交换机警告/严重 = 接入点或交换机的CPU和负载组合使用情况,并带有警告/严重百分比
CPU% + 接入点/交换机警告/严重 = 接入点或交换机的CPU使用情况,并带有警告/严重百分比
负载 + 接入点/交换机警告/严重 = 接入点或交换机的Linux负载使用情况,并带有警告/严重 1,5,15
温度 + 交换机 = 带有警告/严重状态的交换机温度
ap 警告 严重 = 统计接入点 (在线和离线) 带有警告和严重状态的离线接入点
交换机 警告 严重 = 统计交换机 (在线和离线) 带有警告和严重状态的离线交换机
-C - 配置文件 (默认=unifi.php) 代替控制器参数 -H,-或,-p,-P,-s -S (你可以指定任意带路径的文件)
示例:
<?php
$host='192.168.2.213'; # Unifi 控制器服务器的 IP 或主机名
$prot='https'; # 值 http 或 https
$port='8443'; # 控制器端口
$user='nagios'; # 登录用户 控制器
$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 用户名 -p 密码 -m 更新 -a AP名 -s https
AP的体验质量:
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u 用户名 -p 密码 -m 体验 -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 负载 -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. 我们将 “配置” > “命令” > “检查” > “加…”
- 命令名称: check_unifi.php
- 命令行: /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
- 命令名称: check_unifi.php_wc
- 命令行: /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
- 命令名称: check_unifi.php_a
- 命令行: /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
- 命令名称: check_unifi.php_a_wc
- 命令行: /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… 以最终目标为每个主机添加我们感兴趣的监控服务.
所以最后从 “配置” > “服务业” > “按房东提供的服务” 我们逐步添加服务, 并将每个服务关联到应使用的命令,并提供相应的参数.
如果我们想将硬件状态添加到交换机, 我们将使用 Centreon 的精彩插件包,名为 'centreon-plugins', 我们已经看到如何使用它 在这篇文章中. 而这个脚本确实使用 SNMP, 因此你需要先在 'UniFi Network' 控制台中启用它, 因为 “设置” > “高级功能” > “高级网关设置” > “SNMP (SNMP 协议)” 并为 v2 配置一个社区,或者如果我们想使用 v3,则配置凭据. 使用以下命令就轻而易举了:
perl $CENTREONPLUGINS$/centreon-plugins/centreon_plugins.pl --plugin=network::ubiquiti::edge::SNMP (简体中文)::plugin --hostname $HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --mode hardware
照常, 录制和导出设置.
如果我们按照所有步骤操作的话,会得到如上内容, 对不起,但你们也知道,如果我一个个来做,那太疯狂了. 如果你对使用 Centreon 有疑问,最好去查看最初的文档,那里面详细说明了如何创建一个服务, 一个命令… 大功告成! 我们有 CPU, 网络接口/端口, 回忆录, 负载, 无线通道, 版本和固件, 经验, 温度, 硬件状态… 我们受控的 Ubiquiti 接入点和交换机!
如果我们有一个 格拉法纳 那么我们可以制作一些很酷的可视化, 我的有点简陋, 但还可以, es que este le tengo diseñado para una pantalla pequeñita 😉 Así que más no le podía meter.












































