Supervision des environnements virtuels
Pour superviser VMware®, XenServer®, MySQL®, Microsoft SQL Server®, Oracle®, DB2® et SAP R3®, Discovery PFMS® est utilisé.
RHEV
Red Hat® Enterprise Virtualization (RHEV) est l'une des technologies les plus utilisées par les entreprises basées sur le système d'exploitation Red Hat dans leur Centre de Données. Pandora FMS offre la possibilité de superviser les architectures virtuelles basées sur RHEV via le RHEV Monitoring Plugin.
Architecture à superviser
- Data Centers.
- Host Clusters.
- Storage Domains.
- Networks.
- Hosts.
- Virtual Machines.
Pandora FMS utilise l'API officielle fournie par le système de virtualisation RHEV.
Supervision avec RHEV Monitoring Plugin
Pour la supervision du système d'exploitation installé sur les machines virtuelles, il est recommandé d'utiliser un Agent Pandora FMS au lieu de l'API RHEV.
La supervision des environnements virtuels RHEV repose sur les composants suivants :
- Un plugin d'Agent qui effectue les tâches d'autodécouverte et de collecte de données. Le plugin d'Agent est chargé d'envoyer les informations à Pandora FMS.
- Un script de reconnaissance qui met à jour diverses valeurs pour les entités découvertes, nécessaire au bon fonctionnement des extensions du plugin.
- RHEV Viewer et RHEV Manager : Ce sont des extensions qui permettent de gérer l'arrêt/démarrage des machines virtuelles, le tout depuis la Console web de Pandora FMS.
Pour pouvoir utiliser le script de reconnaissance, il est nécessaire d'avoir activé le Discovery server. Pour que certaines variables de l'API reflètent la valeur réelle de la machine virtuelle associée, il est nécessaire d'installer l'Agent RHEV ; tout ce qui concerne ce sujet se trouve dans la documentation RHEV.
Fonctionnement interne du plugin RHEV
Le RHEV Monitoring Plugin extrait les informations via l'API web fournie par l'environnement de virtualisation RHEV.
Si seules les informations de supervision sont nécessaires, la seule chose à configurer est le plugin d'Agent qui effectuera cette tâche. La configuration du plugin permet de choisir quels éléments seront supervisés et la configuration de leurs Modules. Une fois les fichiers XML créés, le plugin d'Agent envoie les fichiers, soit en utilisant Tentacle, soit en les copiant dans un répertoire local, selon la méthode de transfert choisie.
Si vous allez également utiliser les extensions RHEV Viewer et RHEV Manager, vous devrez utiliser le script de reconnaissance. Le script de reconnaissance est chargé de mettre à jour des variables pour chacun des Agents détectés dans Pandora FMS selon les valeurs configurées dans RHEV. Ces variables sont nécessaires pour visualiser correctement les entités dans l'extension RHEV Viewer et gérer adéquatement les machines virtuelles avec l'extension RHEV Manager.
Conditions préalables à l'installation du plugin RHEV
Le plugin d'Agent nécessite les logiciels suivants :
curl.perl-XML-Simple.- EndPoint PFMS et
tentacle_clientde Pandora FMS.
Red Hat
Sur les systèmes basés sur Red Hat®, vous pouvez installer les dépendances avec la commande :
dnf install perl-XML-Simple curl
SLES
Sur les systèmes basés sur SUSE, vous pouvez installer les dépendances avec la commande :
zypper install perl-XML-Simple curl
Debian/Ubuntu
Sur les systèmes basés sur Debian/Ubuntu, vous pouvez installer les dépendances avec la commande :
apt-get install libxml-simple-perl curl
Téléchargement du certificat RHEV
Avant d'utiliser le plugin, il sera nécessaire de télécharger le certificat permettant la connexion HTTPS à l'API RHEV. Pour ce faire, exécutez la commande suivante :
curl -o rhevm.cer http://[RHEVM-HOST]:8080/ca.crt
Où [rhevm-host] est le nom du serveur qui fournit l'API RHEV.
Une fois le certificat téléchargé, vous pouvez vérifier que la connexion à l'API s'effectue correctement avec la commande suivante en utilisant les connecteurs de ligne \:
curl -X GET \ -H "Accept: application/xml" \ -u [USER:PASS] \ --cacert [CERT] https://[RHEVM-HOST]:8443/api
Avec les valeurs suivantes :
USER: user @domain pour se connecter à l'API.PASS: Mot de passe de l'utilisateur avec lequel vous vous connecterez à l'API.CERT: Chemin vers le certificat téléchargé à l'étape précédente.RHEVM-HOST: adresse de l'host qui fournit l'API.
Si l'exécution de la commande est positive, elle renverra une sortie au format XML avec des informations générales sur l'API RHEV.
Considérations préalables sur la configuration de RHEV
Dans l'environnement de virtualisation RHEV, il est possible que plusieurs entités aient le même nom. Cela pose un problème car, dans Pandora FMS, ces entités seront transformées en Agents où la duplicité des noms n'est pas autorisée. De plus, cela générera également des problèmes lors du parsing du résultat renvoyé par l'API au format XML, affichant une erreur similaire à la suivante :
Warning: <data_center> element has non-unique value in 'name' key attribute Default at ./plugin-rhev.pl line 199
Pour résoudre ce problème, il suffit de suivre une nomenclature de noms pour les entités de l'environnement de virtualisation RHEV dans laquelle les noms ne se répètent pas.
Installation du plugin RHEV pour Agent
Pour installer le plugin d'Agent, il vous suffit de copier le script rhev-plugin.pl et le fichier de configuration rhev-plugin.conf dans un répertoire de la machine où est installé l'Agent Pandora FMS qui exécutera le plugin. Le plugin peut être exécuté sur un Agent installé sur la même machine que le serveur Pandora FMS ou sur une autre machine.
Pour exécuter le plugin, vous devez ajouter au fichier de configuration de l'Agent (par défaut /etc/pandora/pandora_agent.conf) la ligne suivante :
module_plugin /root/rhev-plugin.pl /root/rhev-plugin.conf
En ajoutant cette ligne, le plugin d'Agent remplira ses fonctions à chaque exécution.
Supervision de l'architecture virtuelle RHEV
Pour voir le résultat de l'exécution du plugin d'Agent, utilisez le menu Operation → Monitoring → Views → Agent Detail. En cliquant sur le nom d'un Agent, vous pourrez voir les Modules de supervision créés par le plugin, ainsi que d'autres données relatives.
Le plugin crée un Agent dans Pandora FMS pour chacune des entités détectées lors de la découverte de l'architecture RHEV. Pour chaque type d'entité, une série de Modules déterminés est créée automatiquement, supervisant les informations importantes de chacune d'elles.
Si l'Agent sélectionné correspondait à un Host au lieu d'une Machine Virtuelle, les modules de supervision seraient différents.
Le plugin RHEV supervise également les événements survenus au sein de l'architecture virtuelle. Le plugin créera un Module pour chaque événement supervisé au sein de chaque entité affectée. Les données pour les Modules créés à partir d'événements sont des données de l'événement : heure de l'événement, description de l'événement.
En plus des Agents et des Modules relatifs à l'architecture RHEV proprement dite, un Module appelé, par défaut, RHEV Plugin est généré dans l'Agent qui exécute le .*plugin.
Modules d'agent de l'architecture virtuelle RHEV
Data Center
- Status: État du Data Center.
Storage Domain
- Available Space: Espace disponible dans le Storage Domain.
- Committed Space: Espace engagé dans le Storage Domain.
- Used Space: Espace utilisé dans le Storage Domain.
- Percent Free Space: Pourcentage d'espace libre dans le Storage Domain.
Network
- Status: État du réseau virtuel.
- STP Status: État de la fonctionnalité Spanning Tree Protocol.
Cluster
- Overcommit Percent: Pourcentage de sur-allocation du cluster.
- Transparent HugePages: État de la fonctionnalité Transparent HugePages.
- High threshold: Seuil élevé dans les politiques de planification.
- Low threshold: Seuil bas dans les politiques de planification.
- Threshold duration: Durée des seuils dans les politiques de planification.
Host
- Status: État de l'Host.
- Buffers size: Taille des buffers.
- Cache size: Taille du cache.
- Cached swap: Quantité de mémoire Swap caching (en octets).
- Free memory: Quantité de mémoire libre (en octets).
- Percent free memory: Pourcentage de mémoire libre.
- Swap cached percent: Pourcentage de mémoire Swap caching.
- Swap free: Quantité de mémoire Swap libre (en octets).
- Swap free percent: Pourcentage de mémoire Swap libre.
- Total Memory: Quantité totale de mémoire de l'Host (en octets).
- Total Swap: Quantité totale de mémoire Swap (en octets).
- Used memory: Quantité totale de mémoire utilisée (en octets).
- Used Swap: Quantité totale de mémoire Swap utilisée (en octets).
- Nic [x] TX et Nic [x] RX: Débit de transfert de l'interface réseau [x] (en octets/seconde). Un module est généré pour chaque interface réseau détectée.
- Nic [x] errors TX et Nic [x] errors RX: Nombre d'erreurs de transmission de l'interface réseau [x]. Un module est généré pour chaque interface réseau détectée.
- User CPU: Pourcentage de CPU utilisé par l'utilisateur.
- System CPU: Pourcentage de CPU utilisé par le système.
- CPU Idle: Pourcentage de CPU inactif.
- CPU Load: Charge moyenne du CPU au cours des 5 dernières minutes.
- KSM CPU: Pourcentage de CPU utilisé par KSM.
- Active VM: Nombre de machines virtuelles actives sur l'Host.
- Migrating VM: Nombre de machines virtuelles en cours de migration sur l'Host.
- Total VM: Nombre total de machines virtuelles de l'Host.
- Fence Status: État du fencing de l'host.
Virtual Machine
- Status: État de la machine virtuelle.
- Disk [x] read et Disk [x] write: Taux de lecture et d'écriture du disque x (octets/seconde). Un module est généré pour chaque disque (stockage) détecté.
- Disk [x] size: Taille du disque x (en octets). Un module est généré pour chaque disque détecté.
- Disk [x] status: État du disque x. Un module est généré pour chaque disque détecté.
- Nic [x] TX et Nic [x] RX: Débit de transfert et de réception pour l'interface réseau [x] (en octets/seconde). Un module est généré pour chaque interface réseau détectée.
- Nic [x] errors TX et Nic [x] errors RX: Nombre d'erreurs de transmission et de réception pour l'interface réseau [x]. Un module est généré pour chaque interface réseau détectée.
- Installed memory: Quantité de mémoire installée (en octets).
- Percent free memory: Pourcentage de mémoire libre.
- Used memory: Quantité de mémoire utilisée (en octets).
- Stateless: État de la fonctionnalité Stateless.
- HA Status: État de la fonctionnalité de HA.
- Total CPU: Pourcentage total de CPU utilisé par la machine virtuelle.
- Hypervisor CPU: Pourcentage de CPU de l'Hyperviseur utilisé par la machine virtuelle.
- Guest CPU: Pourcentage de CPU de l'Host utilisé par la machine virtuelle.
Événements
- Event [x]: Description de l'événement x survenu dans le système. Un module sera créé pour chaque événement détecté dans les Agents concernés.
Gestion et visualisation de l'architecture RHEV
Tâches de reconnaissance
Il existe la possibilité de créer des tâches de reconnaissance personnalisées grâce au Discovery server.
Installation des extensions RHEV View et RHEV Manager
Pour installer les extensions, il suffit de copier le contenu du dossier extensions, que vous trouverez en décompressant le plugin, dans le dossier extensions correspondant de la Console Pandora FMS. La commande à exécuter est la suivante :
cp -R extensions/* <pandora_console_dir>/enterprise/extensions/
À partir de ce moment, les extensions de supervision RHEV seront disponibles.
Utilisation de l'extension RHEV View
Pour utiliser l'extension RHEV View, il vous suffit de cliquer sur l'option RHEV View dans le sous-menu Monitoring.
L'extension affichera une carte avec tous les composants de l'architecture RHEV découverts par le plugin.
Utilisation de l'extension RHEV Manager
L'extension RHEV Manager est disponible dans la vue d'opération des agents Pandora FMS qui correspondent à des machines virtuelles au sein de l'architecture de virtualisation RHEV.
Cette extension utilise la commande curl, il sera donc nécessaire qu'elle soit installée et accessible pour le serveur web qui supporte la Console web de Pandora FMS.
Pour accéder à l'extension, cliquez sur le bouton avec le logo Red Hat que vous trouverez avec les autres onglets de l'agent.
L'extension permet de gérer les machines virtuelles (démarrer, arrêter et suspendre) sans avoir besoin d'ouvrir la console de gestion de RHEV. L'extension affiche l'état actuel de la machine virtuelle avec un code couleur :
- Vert = Allumée.
- Orange = Suspendue.
- Gris = Arrêtée.
Avec une liste des états disponibles vers lesquels la machine virtuelle peut être basculée en appuyant sur le bouton Change Status.
Si vous choisissez l'état Stop pour arrêter la machine virtuelle, l'extension se connectera à l'API RHEV et enverra l'ordre. Le résultat sera le changement d'état de la machine virtuelle et les options de la liste.
Le passage entre certains états n'est pas automatique, comme par exemple de l'état Stop à Start. Dans ce cas, l'extension affichera l'état de la machine virtuelle au fur et à mesure qu'il change dans l'architecture de virtualisation.
Configuration du plugin RHEV pour Agent
La configuration du plugin d'Agent s'effectue via un fichier de configuration dont le nom par défaut est rhev-plugin.conf.
Par défaut, le plugin d'Agent sélectionne toutes les entités et crée tous les Modules correspondants avec des valeurs par défaut pour le nom et la description. Tous ces aspects, ainsi que les variables générales du plugin, peuvent être configurés via le fichier de configuration.
Fichier de configuration du plugin RHEV
Le fichier de configuration comporte deux zones bien distinctes : les variables globales et la configuration de la supervision.
La section des variables globales commence par le token Configuration et contient les informations de configuration du plugin. Les paramètres autorisés dans cette section sont :
- module_name: Nom du Module de l'Agent avec l'état d'exécution du plugin.
- server: Nom de l'host qui fournit l'API RHEV.
- user: Utilisateur au format user @domain pour se connecter à l'API.
- pass: Mot de passe pour se connecter à l'API.
- cert: Chemin du certificat pour se connecter à l'API.
- temporal: Répertoire temporaire.
- logfile: Fichier journal ou log.
- transfer_mode: Mode de transfert. Peut prendre les valeurs :
localoutentacle. - tentacle_ip: Adresse IP du serveur Tentacle auquel envoyer les informations. Généralement, il sera situé sur la même machine que le serveur Pandora FMS. Cette option n'est utilisée que si
transfer_modea la valeurtentacle. - tentacle_port: Port du serveur Tentacle. Cette option n'est utilisée que si
transfer_modea la valeurtentacle. - tentacle_opts: Options d'envoi de données pour Tentacle. Cette option n'est utilisée que si
transfer_modea la valeurtentacle.
La section de configuration de la supervision est divisée en plusieurs sous-sections. La première sous-section a pour token Reject et sert à lister les entités de l'environnement de virtualisation qui seront exclues de la supervision. Pour exclure une entité, il sera nécessaire d'inscrire son nom dans cette liste :
#Dismissed entities Reject mv1 mv_Windows10 mv_WebServer1 …
Il est possible d'exclure toutes les entités d'un même type, par exemple tous les hosts, toutes les machines virtuelles, etc. Les token pour chaque entité sont : all_dc (Data Center), all_host (Hosts), all_network (Networks), all_storage (Storage Domain), all_cluster (Cluster), all_vm (Virtual Machines). Exemples :
#Dismissed entities Reject all_dc all_host all_network all_storage all_cluster all_vm
La deuxième section a pour token Rename et sert à changer les noms des entités supervisées via le plugin. Cette fonctionnalité est très utile si l'on souhaite combiner la supervision EndPoint avec des données extraites de l'API dans le même Agent Pandora FMS. La configuration de cette section s'effectue en mettant d'abord l'ancien nom, puis le nouveau, séparés par un espace :
#Rename entities Rename mv_WebServer1 WebServer1 mv_Windows10 Windows10 Test …
Les sous-sections suivantes correspondent à la configuration de la supervision pour chaque entité. Chaque entité a son propre token, les suivants : DataCenter, StorageDomain, Network, Cluster, Host, VM. Pour chacune de ces entités, il est possible de définir les Modules qui seront désactivés ou de définir des valeurs personnalisées pour le nom, la description et les plages de maximums et minimums pour les états Warning et Critical :
#VM Modules VM status disabled errors_total_tx name = Errors TX Net [%s]; desc = Total network TX errors; limits = 60 70 71 100 memory_used name = Memory in use; desc = Memory used by the virtual machine; limits = 256 1024 1025 2048 …
Chaque ligne de configuration des modules de supervision correspond à deux options disponibles :
<module> disabled: Le Module ne sera PAS créé.<module> name = <name>; desc = <description>; limits = <min_warning> <max_warning> <min_critical> <max_critical>: Le Module sera créé avec le nom et la description fournis et, de plus, les seuils pour les maximums et minimums des valeursWarningetCriticalseront définis.
Il est très important de prendre en compte la structure des lignes du fichier de configuration et surtout de voir que le caractère ; est collé au nom et à la description du module. Ces deux lignes ne sont PAS équivalentes (voir les espaces avant le caractère ; ) :
errors_total_tx name = Net TX Errors [%s]; desc = Total Network TX Errors; limits = 60 70 71 100 #Correct errors_total_tx name = Net TX Errors [%s] ; desc = Total Network TX Errors ; limits = 60 70 71 100 #Incorrect
Les Modules sont référencés par leur nom court, un nom équivalent plus simple à écrire dans la ligne de commande. Le tableau de correspondance entre noms courts et étendus se trouve dans la section suivante.
Cas pratique de configuration pour les machines virtuelles, section VM :
Pour la supervision des machines virtuelles, une série de Modules activés ou non a été définie dans la section VM du fichier de configuration. Plus précisément : le Module status a été désactivé et pour les Modules errors_total_tx et memory_used, des valeurs personnalisées ont été définies. Les autres Modules qui n'apparaissent pas dans la liste seront créés avec les valeurs par défaut. Avec cette configuration, le Module memory_used prendra les valeurs suivantes :
- Nom: Mémoire utilisée.
- Description: Mémoire utilisée par la machine virtuelle.
- Min Warning: 256.
- Max Warning: 1024.
- Min Critical: 1025.
- Max Critical: 2048.
Les Modules sont générés dynamiquement par exemple, deux relatifs aux disques ou interfaces dont un est créé pour chaque élément détecté. Ils ont une syntaxe spéciale pour le nom du Module, qui est la suivante :
errors_total_tx name = Net TX Errors [%s]; desc = Total Network TX Errors; limits = 60 70 71 100
Dans ces cas, comme le nom possède une partie dynamique, ce qui est autorisé est d'utiliser la macro %s qui sera remplacée par le plugin par la partie variable du nom du Module.
Par exemple, le Module errors_total_tx a pour nom par défaut :
Nic [nic1] errors TX
Il passera à s'appeler
Errors TX Net [nic1]
nic1 étant la partie dynamique du nom du module.
Toutes les erreurs relatives au fichier de configuration sont présentées dans le log défini dans le fichier de configuration et sont également envoyées comme un Module asynchrone à Pandora FMS qui apparaîtra comme un Module au sein de l'Agent exécutant le plugin.
En plus des sections propres à chaque élément de l'architecture, le fichier de configuration possède une section commune pour les Événements. Cette section est définie avec le token EventCodes et y seront listés les codes des événements à superviser ; par exemple :
EventCodes 30 920 980 509 956
Si vous ne définissez pas cette section, la supervision des événements ne sera pas effectuée.
Diviser la charge de la supervision entre plusieurs EndPoint
Grâce au fichier de configuration du plugin d'Agent, il est possible de diviser la charge de supervision de l'infrastructure de virtualisation RHEV.
Pour ce faire, les entités à superviser seront réparties entre les différents Agents. Supposons que vous ayez l'architecture suivante :
DC1 | |- Cluster 1.1 |- c1.1mv1 |- c1.1mv2 |- c1.1mv3 |- Cluster 1.2 |- c1.2mv1 |- c1.2mv2 |- c1.2mv3 DC2 | |- Cluster 2.1 |- c2.1mv1 |- c2.1mv2 |- c2.1mv3 |- Cluster 2.2 |- c2.2mv1 |- c2.2mv2 |- c2.2mv3
Une façon de diviser la charge serait d'assigner un Datacenter à chacun des EndPoints ; pour cela nous utiliserions la fonctionnalité pour exclure les entités à superviser (token Reject).
Le premier EndPoint supervise le Datacenter DC1 et exclut les entités de DC2.
Reject DC2 Cluster 2.1 Cluster 2.2 c2.1mv1 c2.1mv2 c2.1mv3 c2.2mv1 c2.2mv2 c2.2mv3
Le second EndPoint supervise le Datacenter DC2 et exclut les entités de DC1.
Reject DC1 Cluster 1.1 Cluster 1.2 c1.1mv1 c1.1mv2 c1.1mv3 c1.2mv1 c1.2mv2 c1.2mv3
On pourrait également diviser la charge en se basant sur les cluster. Par exemple, pour chaque cluster des deux Datacenters, on assignera un agent parmi les quatre premiers.
EndPoint 1, superviser Cluster 1.1 et exclut les autres entités.
Reject DC1 Cluster 1.2 c1.2mv1 c1.2mv2 c1.2mv3 DC2 Cluster 2.1 Cluster 2.2 c2.1mv1 c2.1mv2 c2.1mv3 c2.2mv1 c2.2mv2 c2.2mv3
EndPoint 2, superviser Cluster 1.2 et exclut les autres entités.
Reject DC1 Cluster 1.1 c1.1mv1 c1.1mv2 c1.1mv3 DC2 Cluster 2.1 Cluster 2.2 c2.1mv1 c2.1mv2 c2.1mv3 c2.2mv1 c2.2mv2 c2.2mv3
EndPoint 3, superviser Cluster 2.1 et exclut les autres entités.
Reject DC1 Cluster 1.1 Cluster 1.2 c1.1mv1 c1.1mv2 c1.1mv3 c1.2mv1 c1.2mv2 c1.2mv3 DC2 Cluster 2.2 c2.2mv1 c2.2mv2 c2.2mv3
EndPoint 4, superviser Cluster 2.2 et exclut les autres entités.
Reject DC1 Cluster 1.1 Cluster 1.2 c1.1mv1 c1.1mv2 c1.1mv3 c1.2mv1 c1.2mv2 c1.2mv3 DC2 Cluster 2.1 c2.1mv1 c2.1mv2 c2.1mv3
La configuration des entités exclues est totalement flexible et on pourrait arriver à diviser la charge en assignant plusieurs entités à chaque EndPoint.
Nutanix
Fonctionnement du plugin Nutanix
Le plugin Nutanix® est un programme écrit en Perl, qui se connectera à l'API REST de Nutanix PRISM®, récupérant les métriques nécessaires pour superviser les éléments suivants :
- Clusters Nutanix®.
- Dispositifs de stockage.
- Conteneurs.
- Machines Virtuelles.
- Hosts.
- État des processus de réplication.
Exigences du plugin Nutanix
Pour pouvoir récupérer les informations de l'API REST, il faut :
- L'adresse IP / FQDN du portail.
- Un utilisateur avec des permissions de lecture sur l'API.
- Le mot de passe dudit utilisateur.
En ce qui concerne la communication des résultats de la supervision à votre Pandora FMS, il faut :
- Le mode de transfert de l'information, qu'il soit local ou via Tentacle.
- En cas de transfert local, l'adresse du répertoire où doivent être livrés les fichiers XML avec les résultats, ainsi que des permissions d'écriture dans ledit répertoire.
- En cas de communication via Tentacle, il sera nécessaire de pouvoir se connecter à l'adresse IP ou FQDN du serveur Pandora FMS, au port utilisé par votre installation Tentacle, à l'emplacement du client Tentacle ainsi qu'à toute option extraordinaire que vous auriez définie.
Installation du plugin Nutanix
Téléchargez les fichiers requis par le plugin depuis la bibliothèque de Modules. Transférez les fichiers vers l'équipement distant depuis lequel vous souhaitez effectuer la supervision de votre infrastructure Nutanix® et extrayez les fichiers du plugin :
tar xvzf pandora_nutanix.tar.gz
Configuration du plugin Nutanix
Les champs suivants sont déclarés :
Nutanix API configuration
nx_fqdn: Adresse du serveur principal Prism.nx_port: Port sur lequel l'API REST est publiée (par défaut 9440).nx_user: Utilisateur avec des privilèges de lecture sur l'API REST.nx_pass: Mot de passe dudit utilisateur.use_https: Utiliser https (1) ou non (0)nx_rest_version: Version de l'API Rest (par défaut 'v1').
Nutanix agent configuration
agent_interval: Intervalle des Agents générés par le plugin (par défaut 300).agent_group: Groupe auquel appartiendront les Agents générés (si 'autocreate_group' est commenté dans la configuration de votre PandoraServer), par défautNutanix.module_interval: Intervalle des Modules des agents générés (facteur de multiplication, par défaut 1).module_tags: Étiquettes associées aux nouveaux modules des agents générés.module_group: Groupe auquel appartiendront les nouveaux Modules.
Configuration de la communication vers le serveur Pandora FMS
mode: Mode de transfert des données, “local” ou “tentacle”.tentacle_ip: Adresse IP du serveur Pandora FMS, s'applique uniquement en mode Tentacle.tentacle_port: Port sur lequel le service Tentacle écoute.tentacle_opts: Toute option supplémentaire que vous avez configurée dans votre service Tentacle.tentacle_client: Chemin complet vers votre client Tentacle.temp: Répertoire de travail temporaire.local_folder: Chemin de livraison pour le mode de transfert de données “local”.
Filtres
cluster_monitoring: Activer (1) ou non (0) la supervision des clusters.storage_monitoring: Activer (1) ou non (0) la supervision des dispositifs de stockage.container_monitoring: Activer (1) ou non (0) la supervision des conteneurs de stockage.vm_monitoring: Activer (1) ou non (0) la supervision des machines virtuelles.host_monitoring: Activer (1) ou non (0) la supervision des serveurs de machines virtuelles (nœuds Nutanix).pd_monitoring: Activer (1) ou non (0) la supervision des domaines de protection.
Personnalisations
cluster_agent_header: En-tête pour le nom de l'Agent des dispositifs de type cluster.storage_agent_header: En-tête pour le nom de l'Agent des dispositifs de type dispositif de stockage.host_agent_header: En-tête pour le nom de l'Agent des dispositifs de type serveur de machines virtuelles (nœuds Nutanix).container_agent_header: En-tête pour le nom de l'Agent des dispositifs de type conteneurs de stockage.vm_agent_header: En-tête pour le nom de l'Agent des dispositifs de type machine virtuelle.pd_agent_header: En-tête pour le nom de l'Agent des dispositifs de type domaine de protection.
Règles de génération de Modules
vm_stat: Règle pour l'ajout de Modules pour la supervision des machines virtuelles, par défauthypervisor_cpu_usage_ppm|hypervisor_memory_usage_ppm|.*avg.*, cela indique les Modules extraordinaires qui seront générés, lorsque le nom de la métrique correspond aux expressions régulières indiquées dans ce champ. Ajoutez la valeur.*pour superviser toutes les métriques disponibles.host_stat: Règle pour l'ajout de Modules pour la supervision des serveurs de machines virtuelles (nœuds Nutanix), par défauthypervisor_cpu_usage_ppm|hypervisor_memory_usage_ppm|.*avg.*, cela indique les Modules extraordinaires qui seront générés, lorsque le nom de la métrique correspond aux expressions régulières indiquées dans ce champ. Ajoutez la valeur.*pour superviser toutes les métriques disponibles.pd_stat: Règle pour l'ajout de Modules pour la supervision des domaines de protection, par défautreplication_transmitted_bandwidth_kBps|replication_total_transmitted_bytes, cela indique les Modules extraordinaires qui seront générés, lorsque le nom de la métrique correspond aux expressions régulières indiquées dans ce champ. Ajoutez la valeur.*pour superviser toutes les métriques disponibles.
Renommage d'entités
RENAME aaa TO bbb: Règle pour le renommage d'entités, vous pouvez définir autant de directives que d'éléments vous devez renommer.
Exclusion d'entités
REJECT aaa: Règle pour l'exclusion de la supervision d'entités, vous pouvez définir autant de directives que d'éléments vous devez exclure.
Exécution du plugin Nutanix
Il est recommandé d'exécuter le plugin à distance depuis un équipement ayant accès à la fois au serveur Pandora FMS et à votre infrastructure Nutanix® à superviser.
Exécution manuelle :
./pandora_nutanix-linux-x64 pandora_nutanix.conf
Vous pouvez automatiser l'exécution du plugin dans le cron du système en ajoutant la ligne suivante à /etc/crontab.
/5 * * * * root /path/to/plugin/pandora_nutanix-linux-x64 /path/to/plugin/pandora_nutanix.conf
XenServer
Consultez l'utilisation de DISCO Package pour XenServer dans Discovery PFMS.
OpenNebula
Fonctionnement du plugin OpenNebula
Le plugin Pandora FMS pour la supervision des environnements OpenNebula est écrit en Perl. Il s'exécute localement sur le serveur OpenNebula et récupérera toutes les informations nécessaires en utilisant les propres commandes de gestion d'OpenNebula. Il permet la supervision des types d'éléments suivants :
- Clusters.
- Hosts.
- Machines virtuelles.
- Ressources de stockage.
Exigences du plugin OpenNebula
Il est indispensable que le système qui exécute le plugin réponde aux exigences suivantes :
- Perl disponible sur l'équipement
- Utilisateur avec des privilèges pour exécuter les commandes suivantes :
onehost.onecluster.onedatastore.
Le fonctionnement du plugin a été testé avec succès sur les systèmes OpenNebula 5.X.X.
Installation du plugin OpenNebula
Téléchargez votre copie du plugin Pandora FMS pour OpenNebula depuis la bibliothèque de modules. Vous devez extraire le contenu du fichier dans un répertoire non volatil depuis lequel vous pouvez l'exécuter, soit en utilisant l'agent Pandora FMS, soit le cron du système.
unzip pandora_OpenNebula.zip
Configuration du plugin OpenNebula
Configuration de la communication vers le serveur Pandora FMS
mode: Mode de transfert des données, “local” ou “tentacle”.tentacle_ip: Adresse IP du serveur Pandora FMS, s'applique uniquement en mode tentacle.tentacle_port: Port sur lequel le service Tentacle écoute.tentacle_opts: Toute option supplémentaire que vous avez configurée dans votre service Tentacle.tentacle_client: Chemin complet vers votre client Tentacle.temp: Répertoire de travail temporaire.local_folder: Chemin de livraison pour le mode de transfert de données “local”.
Configuration de l'Agent
agent_interval: Intervalle de l'agent, par défaut 300.agent_group: Groupe de l'Agent, par défaut OpenNebula.
Personnalisation des Modules OpenNebula
MODULE_GROUP: Groupe des modules, par défaut OpenNebula.MODULE_INTERVAL: Intervalle des modules (multiplicateur), par défaut 1.MODULE_TAGS: Étiquettes pour les Modules.
Personnalisation des noms
cluster_agent_header: En-tête pour le nom de l'Agent des dispositifs de type cluster.host_agent_header: En-tête pour le nom de l'Agent des dispositifs de type serveur de machines virtuelles.storage_agent_header: En-tête pour le nom de l'Agent des dispositifs de type dispositif de stockage.vm_agent_header: En-tête pour le nom de l'Agent des dispositifs de type machine virtuelle.
Filtres
cluster_monitoring: Activer (1) ou non (0) la supervision des clusters.host_monitoring: Activer (1) ou non (0) la supervision des serveurs de machines virtuelles.storage_monitoring: Activer (1) ou non (0) la supervision des dispositifs de stockage.vm_monitoring: Activer (1) ou non (0) la supervision des machines virtuelles.
Renommage d'entités
RENAME aaa TO bbb: Règle pour le renommage d'entités, vous pouvez définir autant de directives que d'éléments vous devez renommer.
Exclusion d'entités
REJECT aaa: Règle pour l'exclusion de la supervision d'entités, vous pouvez définir autant de directives que d'éléments vous devez exclure.
Exécution du plugin OpenNebula
Pour le programmer via le cron du système, vous pouvez ajouter la ligne suivante à /etc/crontab :
/5 * * * * root "<path>/pandora_opennebula" "<path>/pandora_opennebula.conf"> /dev/null 2>&1
Si vous exécutez le plugin manuellement, la sortie doit être similaire à la suivante :
[root@valhalla ~]# ./pandora_opennebula pandora_opennebula.conf [root@valhalla ~]# echo $? 0
IBM HMC
Ce plugin permet de superviser les équipements de virtualisation IBM AIX via la console de gestion matérielle HMC. Ce plugin collectera des informations de toutes les partitions logiques créées dans un environnement AIX géré par un système HMC, créant un Agent pour chaque serveur géré, chaque partition logique et chaque serveur IO virtuel.
Pour collecter les informations via SSH, le plugin peut utiliser trois modes de fonctionnement :
- Basé sur expect en utilisant le script ssh_launcher.sh.
- Basé sur Net::SSH::Perl
- Basé sur Net::SSH::Expect
Pour compléter les informations capturées, des requêtes seront également effectuées contre l'API REST, par défaut sur :
https://fqdn:12443/rest/api/{root_element}
Exigences plugin IBM HMC
Les paramètres nécessaires que doit fournir l'entité requérant les services de supervision sont :
- Nom d'utilisateur pour s'authentifier sur le système HMC (lecture seule).
- L'utilisateur doit avoir la permission de se connecter à l'API REST et de se connecter au shell du HMC pour exécuter les commandes suivantes (au minimum) :
- lssyscfg.
- lshwres.
- Mot de passe dudit utilisateur.
- Emplacement (FQDN/IP) du HMC (tel que
myhmc.mydomain). - URL de base de l'API rest du HMC, similaire à :
https://myhmc.mydomain:12443
Modules générés par le plugin
Les paramètres supervisés par le plugin sont (groupés par type d'élément) :
Current logical partitions.Max logical partitions.Max memory available.Max memory installed.Proc pool DefaultPool current proc units.Proc pool DefaultPool max proc units.Proc pool DevelopmentPool current proc units.Proc pool DevelopmentPool max proc units.Proc pool ProductionPool current proc units.Proc pool ProductionPool max proc units.Proc pool TestPool current proc units.Proc pool TestPool max proc units.Proc pool VIOPool current proc units.Proc pool VIOPool max proc units.Processor pools configured.Processor units available.Processor units installed.State.UUID.Virtual proc units max.
LPAR :
Auto start: Configuration de l'autodémarrage des partitions logiques.LPAR type: Type de partition logique.LPAR UUID: Utilisé pour consulter les HMC API.Max memory: Mémoire maximale.Max memory: Mémoire disponible.Processor units available: Unités de traitement disponibles.Processor units current: Unités de traitement installées.RMC IP address: Adresse IP RMC.RMC state: État du RMC sur LPAR.State: État de la partition logique.Virtual proc units: Unités de traitement virtuel assignées à ce LPAR.
Virtual IO :
Auto start: Configuration de l'autodémarrage des partitions logiques.LPAR type: Type de partition logique.LPAR UUID: Utilisé pour consulter les HMC API.Max memory: Mémoire maximale.Max memory current: Mémoire disponible.Processor units available.: Unités de traitement disponibles.Processor units current: Unités de traitement installées.RMC IP address: Adresse IP RMC.RMC state RMC: État du RMC sur LPAR.State: État de la partition logique.Virtual proc units: Unités de traitement virtuel assignées à ce LPAR.
Configuration du plugin IBM HMC
Configuration de la communication IBM HMC vers le serveur Pandora FMS
mode: Mode de transfert des données, “local” ou “tentacle”.tentacle_ip: Adresse IP du serveur Pandora FMS, s'applique uniquement en mode tentacle.tentacle_port: Port sur lequel le service tentacle écoute.tentacle_opts: Toute option supplémentaire que vous avez configurée dans le service tentacle.tentacle_client: Chemin complet vers votre client tentacle.temp: Répertoire de travail temporaire.local_folder: Chemin de livraison pour le mode de transfert de données “local”.
Configuration d'accès au HMC
hmc_host: IP ou FQDN du HMC.hmc_user: Utilisateur avec permission de lecture.hmc_pass: Mot de passe.as_agent_plugin: La sortie du plugin sera renvoyée au format XML pour les exécutions programmées avec l'Agent Pandora FMS (as_agent_plugin = 1). Ou sortie standard (as_agent_plugin = 0) pour les exécutions programmées avec le cron du système ou réalisées comme plugin de serveur.
Configuration de l'agent IBM HMC
agent_name: Optionnel, indiquer un nom pour l'Agent parent, par défaut `hostname`.agent_interval: Intervalle de l'Agent, par défaut 300 secondes.agent_group: Groupe de l'Agent, par défaut IBM.
Personnalisation des modules IBM HMC
module_group: Groupe des Modules, par défaut IBM.module_interval: Intervalle des Modules (multiplicateur), par défaut 1.module_tags: Étiquettes pour les modules.
Renommage d'entités
Pour le renommage d'entités, on utilise un renommage par bloc :
rename MyLPAR_NAME TO my new name MyLPAR_NAME2 TO my second new name rename_end
Exécution du plugin IBM HMC
Le plugin Pandora FMS pour la supervision des systèmes IBM AIX via HMC se déploie de la manière suivante :
Configuration du paramètre as_agent_plugin à 1 (exécution comme plugin d'agent) :
module_plugin /usr/bin/perl pandora_hmc.pl pandora_hmc.conf
Configuration du paramètre as_agent_plugin à 0 (exécution comme plugin de serveur) :
# /etc/crontab */5 * * * * root /usr/bin/perl /root/hmc/pandora_hmc.pl /root/vmware/pandora_hmc.conf
HPVM
Fonctionnement du plugin HPVM
Ce plugin permet de superviser les équipements de virtualisation HPVM. Il est lancé comme un plugin d'Agent, générant en parallèle un agent supplémentaire pour chaque équipement virtualisé hébergé sur le système supervisé.
Des commandes locales sont utilisées pour collecter les informations.
Exigences du plugin HPVM
Vérifiez chacune des étapes suivantes :
- Déployer un Agent Pandora FMS sur l'équipement que l'on souhaite superviser.
- Disposer d'un utilisateur avec des permissions pour exécuter le plugin.
- Cet utilisateur doit disposer des permissions pour exécuter la commande
hpvmstatusafin d'interpréter la sortie :
hpvmstatus.hpvmstatus -X.hpvmstatus -r -X.
Installation du plugin HPVM
Téléchargez une copie du plugin Pandora FMS pour HPVM HP Virtualization Manager monitoring depuis la bibliothèque de modules. Vous pouvez programmer l'exécution en utilisant des collections et l'Agent Pandora FMS déployé ou bien extraire le contenu du fichier dans un répertoire non volatil depuis lequel vous pouvez l'exécuter via le cron de votre système.
unzip pandora_HPVM.zip
Configuration du plugin HPVM
Configuration de la communication HPVM vers le serveur Pandora FMS
mode: Mode de transfert des données, “local” ou “tentacle”.tentacle_ip: Adresse IP du serveur Pandora FMS, s'applique uniquement en mode tentacle.tentacle_port: Port sur lequel le service Tentacle écoute.tentacle_opts: Toute option supplémentaire que vous avez configurée dans votre service Tentacle.tentacle_client: Chemin complet vers votre client Tentacle.temp: Répertoire de travail temporaire.local_folder: Chemin de livraison pour le mode de transfert de données “local”.
Configuration de l'Agent HPVM
agent_name: Optionnel, indiquer un nom pour l'Agent parent, par défauthostname.agent_interval: Intervalle de l'Agent, par défaut 300.agent_group: Groupe auquel appartiendront les agents, par défaut HPVM.
Personnalisation des modules HPVM
module_group: Groupe des Modules.module_interval: Intervalle des Modules (multiplicateur), par défaut 1.module_tags: Étiquettes pour les Modules.
Exécution du plugin HPVM
En exécutant le plugin depuis l'Agent Pandora FMS, il apparaîtra dans le fichier de configuration de l'Agent :
module_plugin /usr/bin/perl pandora_hpvm.pl pandora_hpvm.conf
Pour un test manuel, configurez le plugin en suivant les étapes décrites, et il peut être exécuté ainsi :
perl pandora_hpvm.pl pandora_hpvm.conf


