
Monitoring Ubiquiti UniFi chez Centreon
Et il est temps de régner sur les points d’accès et les commutateurs d’Ubiquiti! Donc, si vous avez un tel appareil dans votre organisation… il est temps de le centraliser et de le contrôler depuis Centreon. Avec le simple fait d’avoir tout sous surveillance et d’anticiper d’éventuels problèmes, Commencé! 😛
Puits, Pour la plupart des services que nous allons surveiller, nous nous appuierons sur le merveilleux Script check_unifi.php par Jörg Hörter; alors téléchargez-le et comme toujours sauvegardez-le dans le répertoire des scripts Centreon. Avec ce script, nous pourrons obtenir beaucoup d’informations de la partie UniFi d’Ubiquiti, quelle est la santé de chaque adjoint au médecin, Votre trafic, Maîtres d’ouvrage, Connexions, Consommation des ressources… Idem pour les interrupteurs, Et il en va de même pour la manette, disponibilité, Gestion des versions, nombre de points d’accès/logiciels..
Nous devons avoir php installé sur la machine et 'php-curl', Une fois les exigences installées, nous essayons de l’exécuter:
yum install php-curl /usr/bin/php check_unifi.php
Cette écriture si nous passons '-h’ Il nous donnera des informations avec toutes ses possibilités d’utilisation:
Usage: /usr/bin/php check_unifi.php -H [Contrôleur] -ou [contrôleurutilisateur] -p [contrôleurmot de passe] -P [de contrôleurde port] -m [mode] -À [Point d’accès] -w [Avertissement] -c [Critique] (-S [Site] -s =https -C [fichier de configuration]) -d = déboguer) mode - contrôleur = Version du contrôleur, avertissement s’il existe une mise à jour site = liste de tous les ID de site et Nom clients = liste de tous les clients (Utilisation uniquement dans la console) clients_wifi ( + Points d’accès) = Lister tous les clients wifi avec vitesse de connexion, Facultatif pour un point d’accès (Utilisation uniquement dans la console) clients_name + Accesspoint = liste de tous les clients d’un point d’accès clients_name_guest + Point d’accès = liste de tous les clients et invités d’un point d’accès clients_count + Point d’accès = compter les clients d’un point d’accès clients_count_guest + Point d’accès = compter les clients et les invités d’un canal de point d’accès + Point d’accès = canaux 2 GHz/5 GHz d’un transfert de point d’accès + Point d’accès = transfert rx/tx d’un point d’accès (KBit/MBit) Transfert+ + Point d’accès = transfert rx/tx d’un point d’accès (KByte/MByte) Disponibilité + Point d’accès/commutateur = temps de fonctionnement et mise à jour du micrologiciel d’un point d’accès/commutateur + Point d’accès/commutateur = mise à jour du micrologiciel d’un point d’accès/commutateur et avertissement/critique (libération ponctuelle, Version majeure, Version mineure) liaison montante + Point d’accès warn crit = liaison montante d’un point d’accès (sans fil: avec vitesse de connexion et avertissement/critique) expérience + Point d’accès warn crit = expérience sans fil d’un point d’accès avec avertissement/utilisation critique + Point d’accès warn crit = utilisation sans fil d’un point d’accès avec warn/critical (2Ghz,5Ghz) Mem + Point d’accès warn crit = sortie d’utilisation de la mémoire Mb d’un point d’accès ou d’un commutateur avec warn/critical percent mem% + Point d’accès warn crit = pourcentage d’utilisation de la mémoire d’un point d’accès ou d’un commutateur avec pourcentage d’avertissement/critique CPU + Point d’accès/Commutateur warn crit = combinaison de processeur et de charge utilisation d’un point d’accès ou d’un commutateur avec pourcentage d’avertissement/critique cpu% + Point d’accès/Commutateur warn crit = utilisation du processeur d’un point d’accès ou d’un commutateur avec avertissement/pourcentage de charge critique + Accesspoint/Switch warn crit = utilisation de la charge linux d’un point d’accès ou d’un commutateur avec warn/critical 1,5,15 température + Switch = température d’un interrupteur avec warn/critical ap warn crit = count Accesspoint (En ligne et hors ligne) avec warn et critique hors ligne Points d’accès switch warn crit = count Switch (En ligne et hors ligne) avec avertissement et critique hors ligne Switch -C - Fichier de configuration (default=unifi.php) au lieu des paramètres du contrôleur -H,-ou,-p,-P,-s -s (Vous pouvez spécifier n’importe quel fichier avec un chemin d’accès) exemple: <?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=''; # Annuaire unifi_client.php ?>
Puits, si queréis cacharrear en shell y ver cómo va/probarlo, os dejo unos ejemplos, no son todas las posibilidades, mais ceux que j’ai jugés les plus utiles (Pour moi):
Vérifiez la version du contrôleur et avertissez s’il y a une mise à jour:
/usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u UTILISATEUR -p MOT DE PASSE -M contrôleur -s https
Clients par point d’accès:
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M clients_count -a NOMBRE_AP -s https
Canaux 2 GHz/5 GHz de chaque point d’accès:
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u UTILISATEUR -p MOT DE PASSE -M canaux -a NOMBRE_AP -s https
Vérifier la version du firmware AP/SW:
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M MISE À JOUR -A NOMBRE_AP -s https
Qualité de l’expérience AP:
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u UTILISATEUR -p MOT DE PASSE -M EXPÉRIENCE -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 NOM D’UTILISATEUR -P MOT DE PASSE -M cpu% -a NOMBRE_AP -w 80 -c 90 -s https
Mémoire AP/SW
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M mem% -a NOMBRE_AP -w 80 -c 90 -s https
Charge AP/SW
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u UTILISATEUR -p MOT DE PASSE -M LOAD -A NOMBRE_AP -w 4,3,2 -c 6,5,4 -s https
Température SW
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M température -a NOMBRE_SWITCH -w 40 -c 50 -s https
Disponibilité du logiciel ou du point d’accès
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M disponibilité -a NOMBRE_SWITCH -w 80 -c 90 -s https
Nombre de points d’accès
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u UTILISATEUR -p MOT DE PASSE -M AP -W 1 -c 0 -s https
Nombre de logiciels
/usr/bin/php ./check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u UTILISATEUR -p MOT DE PASSE -M SWITCH -W 1 -c 0 -s https
Maintenant, Une fois que vous avez bricolé et goûté, il est temps de l’emmener comme d’habitude chez Centreon, comme d'habitude, dans un premier temps, nous définirons les commandes dont nous aurons besoin pour créer ensuite les services qui nous intéressent. Dans mon cas, j’ai créé ces 4 Commandes, Je vous les laisse au cas où vous voudriez les copier, certains vont avec plus ou moins d’arguments et la possibilité de mettre Avertissement / Critique si cela nous intéressait. Nous allons “Configuration” > “Commandes” > “Contrôles” > “Ajouter…”
- Nom de la commande: check_unifi.php
- Ligne de commande: /usr/bin/php $CENTREONPLUGINS$/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M $ARG 1$ -s https
- Nom de la commande: check_unifi.php_wc
- Ligne de commande: /usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M $ARG 1$ -w $ARG 2$ -c $ARG 3$ -s https
- Nom de la commande: check_unifi.php_a
- Ligne de commande: /usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M $ARG 1$ -a $ARG 2$ -s https
- Nom de la commande: check_unifi.php_un_wc
- Ligne de commande: /usr/bin/php /usr/lib/centreon/plugins/check_unifi.php/check_unifi.php -H DIRECCION_IP_CONTROLLER -P 8443 -u NOM D’UTILISATEUR -P MOT DE PASSE -M $ARG 1$ -a $ARG 2$ -w $ARG 3$ -c $ARG 4$ -s https
Et puis de “Configuration” > “Hôtes” > “Ajouter…” nous devons enregistrer les AM comme d’habitude, SW, machine avec contrôleur… dans le but ultime d’ajouter les services que nous souhaitons surveiller chaque Hôte.
Donc, enfin, de “Configuration” > “Services” > “Services par hôte” Nous ajoutons les Services, et nous associons chacun à la Commande qui doit être portée et nous les alimentons avec les Arguments correspondants.
Si nous voulons mettre l’état du matériel sur les commutateurs, nous utiliserons le merveilleux pack de plugins Centreon appelé 'centreon-plugins', que nous avons déjà vu comment l’utiliser et l’utiliser Dans cet article. Et ce script utilise SNMP, vous devrez donc l’activer au préalable dans la console 'UniFi Network', depuis “Paramètres” > “Fonctionnalités avancées” > “Paramètres avancés de la passerelle” > “SNMP” et mettre en place une communauté pour la v2 ou si nous voulons la v3, des informations d’identification. Et avec la commande suivante, nous l’aurions aspiré:
perl $CENTREONPLUGINS$/centreon-plugins/centreon_plugins.pl --plugin=réseau::Ubiquiti::Bord::Snmp::plugin --hostname $HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --mode matériel
Comme d'habitude, Paramètres d’enregistrement et d’exportation.
Si nous avons suivi toutes les étapes, nous aurons quelque chose comme ça ci-dessus, Excusez-moi mais vous savez que c’est fou si je fais un par un. Si vous avez des doutes sur l’utilisation de Centreon, il est préférable de vous référer aux documents initiaux où il est donné plus de détails sur la façon de créer un Service, un commando… Vous avez donc terminé! Nous avons les processeurs, Interfaces/ports réseau, Mémoires, Charges, Chaînes Wifi, Versioning et micrologiciels, Expériences, Températures, État du matériel… de nos points d’accès et commutateurs Ubiquiti contrôlés!
Et si nous avons un Grafana Eh bien, nous pouvons faire quelques visualisations sympas, Le mien est un peu merdique, mais acceptable, J’ai conçu celui-ci pour un petit 😉 écran, donc je ne pouvais pas y mettre plus.