Superviser une infrastructure TOIP Cisco avec Centreon.

Dans ce tutoriel, je vais vous détailler les sondes que j’utilise pour superviser une infrastructure TOIP Cisco à base de CUCM (Call Manager) et d’UCCX (Gestion des SVI, Système Vocal Interactif). J’utilise le langage PERL pour la création de mes sondes.

Tous les scripts sont sur mon compte Github. Vous pourrez donc les télécharger. Je ne vais pas détailler les scripts car j’utilise depuis des années toujours les mêmes modèles de scripts PERL. D’ailleurs vous pouvez les retrouver avec les explications à cette adresse : Modèles de scripts PERL pour Centreon.

Check_snmp_uccx_cpu_use

Ce script générique s’applique aussi bien au CUCM qu’au UCCX, il permet de surveiller la CPU de la VM.

script PERL Check_snmp_uccx_cpu_use.pl qui permet de superviser la CPU de la VM

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)
  • Les valeurs de Warning (-w) et de Critical (-c) pour l’utilisation de la CPU

Un graphique (compatible avec les widgets de Centreon) est disponible pour avoir un historique d’utilisation de la CPU de votre UCCX.

Graphique Centreon permettant de surveiller la CPU de la VM de l'UCCX Cisco

Check_snmp_uccx_disk_use

Ce script générique s’applique aussi bien au CUCM qu’au UCCX, il permet de superviser l’utilisation les différentes partition de la VM.

script PERL Check_snmp_uccx_disk_use.pl qui permet de superviser les partitions de la VM

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)
  • Les valeurs de Warning (-w) et de Critical (-c) pour l’utilisation de chaque partition

Un graphique (compatible avec les widgets de Centreon) est disponible pour avoir un historique d’utilisation des partitions de votre UCCX.

Graphique Centreon permettant de surveiller les partitions de la VM de l'UCCX Cisco

Check_snmp_uccx_memory_use

Ce script générique s’applique aussi bien au CUCM qu’au UCCX, il permet de surveiller l’utilisation de la mémoire de la VM. J’affiche le résultat en Gb de la mémoire utilisée ainsi qu’un pourcentage par rapport à la mémoire totale de la VM.

script PERL Check_snmp_uccx_memory_use.pl qui permet de superviser la mémoire RAM de la VM

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)
  • Les valeurs de Warning (-w) et de Critical (-c) pour l’utilisation de la mémoire RAM de la VM

Un graphique (compatible avec les widgets de Centreon) est disponible pour avoir un historique d’utilisation de la mémoire de votre UCCX.

Graphique Centreon permettant de surveiller l'utilisation de la mémoire physique de la VM de l'UCCX Cisco

Check_uptime_toip_cisco

Ce script générique s’applique aussi bien au CUCM qu’au UCCX, il permet de surveiller l’uptime de la VM. Attention, l’OID pour trouver l’uptime change par rapport aux autres matériels d’où la nécessité de faire un script spécifique pour la TOIP Cisco.

Le résultat converti les centièmes de secondes retournés par SNMP sous un format plus compréhensible JJ-HH-MM.

script PERL Check_uptime_toip_cisco.pl qui permet de superviser l'uptime de la VM

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)
  • Les valeurs de Warning (-w) et de Critical (-c) sont à indiquer en centième de secondes. Pour cet exemple je reste en critical pendant 5 heures environs puis en warning à peu près pendant 1 journée.

Un graphique (compatible avec les widgets de Centreon) est disponible pour avoir un historique de l’uptime de votre UCCX.

Graphique Centreon permettant de surveiller l'uptime de la VM de l'UCCX Cisco

Check_snmp_uccx_serviceability_status

Ce script est spécifique (ne fonctionne pas avec les CUCM) et va vérifier l’état de votre cluster UCCX entre le publisher et le subscriber. La valeur normale doit être INSERVICE, alors que la valeur PARTIALSERVICE indique un problème dans le cluster et peut perturber le fonctionnement de vos SVI.

script PERL Check_snmp_uccx_serviceability_status.pl qui permet de superviser l'état du cluster UCCX entre le publisher et le subscriber

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)

Pas de graphique disponible associé à cette sonde.

Check_snmp_uccx_workflow_enable

Ce script est spécifique (ne fonctionne pas avec les CUCM) et va vérifier que vos applications créées pour faire fonctionner vos SVI sont activées.
Un tri est fait sur le nom de l’application pour ne tester UNIQUEMENT les applications (=SVI) de production. Toutes les applications contenant, dans leur nom, les mots Recette, Test, Formation,… sont exclues de la sonde. Vous pouvez bien sûr modifier le plugin pour l’adapter à vos besoins.

Portin de code de la sonde PERL qui permet d'exclure certains mots dans le nom pour ne prendre que les applications de production.

Dès qu’une application est désactivée, le statut passe à Critical et vous affiche le nom de l’application qui est désactivée. Sinon le nombre de SVI est affiché.

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)

script PERL Check_snmp_uccx_serviceability_status.pl qui permet de superviser le statut des applications (=SVI) sur votre UCCX et d'afficher leur nombre

Un graphique (compatible avec les widgets de Centreon) est disponible pour avoir un historique des applications (=SVI) actif sur votre UCCX.

Graphique Centreon permettant d'afficher le nombre d'application (SVI) actif sur le serveur UCCX

Vue globale pour un UCCX

Maintenant, voici ce que cela donne lorsque toutes les sondes sont actives sur un hôte.

Surveillance d'un UCCX Cisco avec Centreon en SNMP.

 

Si vous surveiller d’autres points sur vos UCCX Cisco, n’hésitez pas à me contacter ou me laisser un commentaire.

Check_snmp_cucm_registered_phones

Avec cette sonde spécifique, vous allez pouvoir récupérer pour chaque CUCM le nombre de téléphone Registered (en état de marche) Unregistered (généralement éteint mais qui ont été allumés au moins une fois pour s’enregistrer sur le CUCM), Rejected (allumé mais non enregistré, généralement dû à un problème de configuration sur le poste).

script PERL Check_snmp_cucm_registered_phones.pl qui permet de superviser le statut des téléphones sur le CUCM

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)
  • Les valeurs de Warning (-w) et de Critical (-c) qui sont un pourcentage des téléphones Unregistered ou Rejected sur votre CUCM

Un graphique avec 3 courbes (compatible avec les widgets de Centreon) est disponible pour avoir un aperçu des téléphones Registered, Unregistered et Rejected sur votre CUCM.

Les valeurs sur le graphique sont exprimées en pourcentage afin d’améliorer la visibilité des différentes courbes.

Graphique Centreon permettant d'afficher le statut (en pourcentage) des téléphones présents sur le CUCM Cisco

Check_ssh_cucm_callinprogress

Avec cette sonde spécifique, vous allez pouvoir récupérer pour chaque CUCM le nombre d’appels en cours. A ma connaissance il n’est pas possible de récupérer directement via SNMP le nombre d’appels en cours sur un CUCM.

Il faut donc utiliser une commande directement en SSH sur le CUCM. La commande est la suivante :

show perf query counter \"Cisco CallManager\" CallsInProgress

Cette sonde se connecte en SSH sur le CUCM grâce au module CPAN Net::SSH::Expect. Le login et le mot de passe sont personnalisables pour se connecter en SSH.

script PERL Check_ssh_cucm_callinprogress.pl qui permet de superviser le nombre d'appel en cours sur le CUCM

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)
  • Les valeurs de Warning (-w) et de Critical (-c) s’applique au nombre d’appel en cours sur le CUCM
  • Le login (-u) et le mot de passe (-p) pour se connecter en SSH sur le CUCM

Un graphique (compatible avec les widgets de Centreon) est disponible pour avoir un historique des appels tout au long de la journée sur votre CUCM.

Graphique Centreon permettant d'afficher le nombre d'appel en cours sur le CUCM Cisco

Check_ssh_cucm_replication_status

Avec cette sonde spécifique, vous allez pouvoir récupérer pour chaque CUCM le statut de réplication entre les différents membres du cluster. La valeur doit être égale à 2, ce qui signifie que toutes les machines du cluster sont bien synchronisées.

A ma connaissance il n’est pas possible de récupérer directement via SNMP cette valeur, il faut donc utiliser une commande directement sur le CUCM via SSH.
La commande à utiliser est la suivante :

"show perf query class \"Number of Replicates Created and State of Replication\""

Cette sonde se connecte en SSH sur le CUCM grâce au module CPAN Net::SSH::Expect. Le login et le mot de passe sont personnalisables pour se connecter en SSH.

script PERL Check_ssh_cucm_replication_status.pl qui permet de superviser la réplication entre les CUCM

Ce script prend en argument :

  • La communauté SNMP (-C)
  • La version SNMP (-V)
  • L’adresse IP ou le nom de l’équipement (-H)
  • Le login (-u) et le mot de passe (-p) pour se connecter en SSH sur le CUCM

Pas de graphique disponible associé à cette sonde.

Vue globale pour un CUCM

Maintenant voici ce que cela donne lorsque toutes ces sondes sont actives sur un hôte.

Surveillance d'un CUCM Cisco avec Centreon en SNMP et SSH.

Vue dans Centreon MAP

Centreon MAP permet de présenter de manière graphique le résultat des sondes en mettant en forme les métriques. Ces vues permettent, pour des non-initiés, de diagnostiquer rapidement les problèmes en cours sur votre infrastructure.

Centreon MAP peut aussi être utile à votre support afin qu’il soit au courant en temps réel des incidents en cours sur votre SI. Les responsables peuvent aussi s’en servir de tableau de bords.

Voici un exemple de tableau de bord concernant l’infrastructure TOIP Cisco, réalisé avec les sondes ci-dessus et le logiciel Centreon MAP.

Tableau de bords réalisé avec Centreon MAP pour une infrastructure TOIP Cisco

Vous trouverez ci-dessous d’autres tableaux de bords, avec le détail des informations des sondes pour chaque équipement CUCM et UCCX, toujours réalisé avec Centreon MAP.

Vue centreon MAP pour la surveillance d'un CUCM

Vue centreon MAP pour la surveillance d'un UCCX

 

Tous les scripts sont sur mon compte Github. Vous pourrez donc les télécharger. Je ne vais pas détailler les scripts car j’utilise depuis des années toujours les mêmes modèles de scripts PERL. D’ailleurs vous pouvez les retrouver avec les explications à cette adresse : Modèles de scripts PERL pour Centreon.

Si vous connaissez d’autres points de contrôles d’une infrastructure TOIP Cisco, n’hésitez pas à me les communiquer via le formulaire de contact où dans les commentaires.

Source : Centreon

That’s All.

2 Potins

  1. Bonjour JOA,

    Je n’ai jamais eu ce souci. Pouvez-vous essayer d’executer le script avec l’utilisateur centreon-engine et voir le résultat.
    Sinon cette erreur peut provenir (Généralement) d’un mauvais paramétrage du plugin dans Centreon.

    Cordialement

  2. Bonjour,

    J’ai installé le module PERL CPAN Net::SSH::Expect sous root et l’exécution du script fonctionne. (le Check_ssh_cucm_callinprogress)

    Par contre sous centreon j’ai un « No output reterned from plugin »

    Je pense que mon poller Centreon execute le script avec l’utilisateur « Centreon » ou « Centreon-Engine » et que celui ci n’a pas le modules CPAN Net::SSH::Expect qui a été installé dans /root/perl5

    Quelle est la bonne pratique pour que les modules CPAN qu’on installe soit accessible à l’ensemble des utilisateurs d’un même serveur (poller) ?

    Merci pour votre aide <3

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *