====== Monitorisation avec des EndPoints ======
{{indexmenu_n>2}}
===== Introduction =====
Les EndPoints [[:fr:documentation:pandorafms:installation:01_installing#ks2|sont installés]] et sont en cours d'exécution sur les systèmes d'exploitation dont ils collectent les informations, effectuant une **vérification** pour chaque **module**.
Les //directives// propres à l'EndPoint servent à collecter certaines données directement du système d'exploitation (telles que l'utilisation du processeur, la mémoire, les événements, etc.), en exécutant des **commandes propres au système d'exploitation** selon les instructions de //scripts// prédéfinis.
Le [[:fr:documentation:pandorafms:introduction:02_architecture#data_server|Dataserver Pandora FMS]] traite et stocke dans la base de données toutes les informations générées et envoyées dans un [[:fr:documentation:pandorafms:introduction:03_glossary#ficheros_de_datosxml_de_datos|fichier XML]] par les EndPoints.
==== Configuration des EndPoints ====
Toute la configuration et les paramètres sont stockés dans le fichier ''pandora_agent.conf'', lequel est également installé localement avec son EndPoint. La configuration de base est traitée dans [[:fr:documentation:pandorafms:installation:05_configuration_agents|"Configuration des EndPoints Pandora FMS"]] et, pour la monitorisation WUX, dans la section d' [[:fr:documentation:pandorafms:monitoring:13_user_monitorization#ks3_5_1|exécution manuelle en tant que plugin]]. La configuration avancée est présentée ci-dessous.
=== Configuration locale ===
Dans le fichier de configuration de l'EndPoint, les modules sont définis avec la structure de texte de base suivante :
module_begin
module_name
module_type generic_data
module_exec
module_description
module_end
* Pour l'EndPoint sous MS Windows® et l'instruction ''module_name'', si vous souhaitez ou devez utiliser des caractères ASCII étendus (''áéíóú'', entre autres), **un //plugin// ou un //script// externe doit être utilisé**. Consultez la [[#ks8|section des plugins pour EndPoints]].
* Pour l'EndPoint sous MS Windows®, on dispose en plus de ''module_exec_powershell'' pour l'exécution native de vérifications avec PowerShell®.
=== Configuration à distance ===
Pour activer la configuration à distance, on active le [[:fr:documentation:pandorafms:installation:05_configuration_agents#remote_config|paramètre]] : ''remote_config 1'' et on redémarre l'EndPoint.
Il est possible de gérer à distance les fichiers des EndPoints depuis la Console Web de Pandora FMS. La configuration de chaque EndPoint est stockée sur le serveur de Pandora FMS dans deux fichiers : ''.conf'' et ''.md5'', où '''' est le //hash// du nom de l'EndPoint. Ces fichiers sont stockés respectivement dans :
/var/spool/pandora/data_in/conf
et
/var/spool/pandora/data_in/md5
Une fois que la configuration à distance de l'EndPoint est activée, tout changement effectué localement dans le fichier de configuration sera écrasé par la configuration stockée dans la console. Pour revenir à l'administration locale de l'EndPoint, arrêtez son service, rétablissez ''remote_config'' à zéro et redémarrez le service.
=== Custom fields ===
Les **champs personnalisés** permettent d'ajouter des informations supplémentaires à l'EndPoint. Des champs personnalisés peuvent être créés avec l'API 1.0 PFMS et la commande [[:fr:documentation:pandorafms:technical_reference:02_annex_externalapi#set_create_custom_field|set create_custom_field]] ou via la Console Web dans le menu **Management → Resources → Custom fields → Create field**.
* Les options **Enabled combo**, **Password type** et **Link type** sont mutuellement exclusives, c'est-à-dire qu'une seule d'entre elles pourra être utilisée (ou aucune, valeur par défaut).
* En activant le champ **Display up front**, l'information du champ personnalisé sera affichée, //si une valeur a été établie//, dans la vue générale de l'EndPoint. **Si aucun champ personnalisé marqué n'a de valeur, la boîte des champs personnalisés restera masquée**. De plus, il sera nécessaire d'activer ce //token// pour envoyer les informations des //Custom Fields// au **[[:fr:documentation:pandorafms:command_center:05_visualization#ks1_3_2|Command Center]]**.
* **Enabled combo** : Ce paramètre permet d'activer la configuration de paramètres sélectionnables depuis un menu déroulant. Une fois activé, dans la fenêtre de configuration du **custom field** correspondant, un nouveau champ apparaîtra pour saisir les valeurs du combo séparées par des virgules.
* **Password type** : La valeur du champ (mot de passe) sera affichée au moyen d'astérisques dans la Console Web.
* **Link type** : Permet d'ajouter un champ personnalisé qui contiendra un lien web à remplir par la Console Web ou dans un [[:fr:documentation:pandorafms:technical_reference:11_pfms_plugis#xml|XML reçu par un EndPoint]]. Il est possible d'inclure des liens dans les //custom fields// d'un XML au format JSON incrustés avec des instructions CDATA ''''. Si le format JSON du lien est :
["Web name","https://example.com"]
Le XML aurait cette syntaxe :
![CDATA[web]]
![CDATA[["Web name","https://example.com"|]]]
Consultez "[[:fr:documentation:pandorafms:technical_reference:06_anexo_agent_plugins#ks3_5|Validation de XML]]", l' [[:fr:documentation:pandorafms:cybersecurity:15_security_architecture#tentacle|Architecture de Sécurité pour le protocole Tentacle]] (mécanisme chargé de livrer les données au format XML au Data server PFMS) et l' [[:fr:documentation:pandorafms:cybersecurity:15_security_architecture#ks3_1_1|Architecture de Sécurité pour le Data server PFMS]] (limiter l'autocréation d'EndPoint et établir un mot de passe pour le groupe d'EndPoints auquel chaque EndPoint appartient).
Les //custom fields// peuvent également être transmis depuis le fichier de configuration de l'EndPoint, en utilisant les //tokens// [[:fr:documentation:pandorafms:installation:05_configuration_agents#custom_fieldx_name|custom_fieldx_name]] et [[:fr:documentation:pandorafms:installation:05_configuration_agents#custom_fieldx_value|custom_fieldx_value]] :
custom_field1_name Serial Number
custom_field1_value 56446456KS7000
Le champ personnalisé nommé ''Serial Number'' est créé par défaut lors de l'installation de PFMS. On peut créer autant de champs personnalisés que nécessaire et de chaque type différent (valeur simple, lien web, type mot de passe et type liste d'options). L'ordre de l'identifiant numérique de chaque champ personnalisé est indifférent, il faut seulement s'assurer que le nom soit exactement le même :
custom_field11_name Simple custom field name
custom_field11_value Simple custom field value
custom_field12_name Custom field Link type
custom_field12_value ["Pandora FMS web site","https://pandorafms.com"]
custom_field13_name Custom field Password type
custom_field13_value My;Password;
custom_field14_name Custom field Combo type
custom_field14_value Two
Dans les champs personnalisés ''Combo type'', la valeur envoyée par l'EndPoint doit correspondre exactement à l'un de ses éléments, sinon la valeur ne sera pas modifiée.
=== Paramètres de configuration communs ===
Paramètres les plus importants pour la configuration de base des [[:fr:documentation:pandorafms:installation:05_configuration_agents#ks3|EndPoints]] :
* ''server_ip'' : Adresse IP du serveur Pandora FMS.
* ''server_path'' : Chemin du dossier d'entrée //incoming// du serveur Pandora FMS, par défaut /var/spool/pandora/data_in
* ''temporal'' : Dossier, par défaut ''/tmp''.
* ''interval'' : Intervalle d'exécution de l'EndPoint, par défaut ''300'' secondes.
* ''logfile'' : Fichier de //log// de l'EndPoint, par défaut : /var/log/pandora/pandora_agent.log
=== Groupes protégés par mot de passe ===
Menu **Management → {{:wiki:pfms-menu-resources_icon.svg?nolink&21x21}} Resources → Manage agent groups**.
Par défaut, lorsqu'un EndPoint envoie des données pour la première fois au serveur Pandora FMS, il est ajouté automatiquement au groupe défini dans le fichier de configuration de l'EndPoint.
Il est possible de [[:fr:documentation:pandorafms:management_and_operation:11_managing_and_administration#ks1_2_3|configurer un mot de passe]] (sans espaces ni symboles) pour un groupe ; de cette manière, un EndPoint ne sera pas ajouté à un groupe à moins que le mot de passe correct n'ait été spécifié dans le fichier de configuration de l'EndPoint.
Pour ajouter un nouvel EndPoint à ce groupe, modifiez son [[:fr:documentation:pandorafms:installation:05_configuration_agents#group_password|fichier de configuration]], ajoutez l'option de configuration suivante ''group_password'' et redémarrez l'EndPoint.
==== Modules dans les Agents et les EndPoints ====
=== Types de modules ===
Selon la [[:fr:documentation:pandorafms:installation:05_configuration_agents#module_type|donnée renvoyée]] :
* ''generic_data'' : Numérique.
* ''generic_data_inc'' : Incrémental.
* ''generic_data_inc_abs'' : Incrémental absolu.
* ''generic_proc'' : //Booléen//.
* ''generic_data_string'' : Alphanumérique.
* ''async_data'' : Numérique asynchrone.
* ''async_string'' : Alphanumérique asynchrone.
* ''async_proc'' : //Booléen// asynchrone.
* **Module d'image** : Ils utilisent comme base un module de type chaîne de texte (''generic_data_string'' ou ''async_string''). Si la donnée que contient le module est une image encodée en **base64** (en-tête ''data:image''), celle-ci sera identifiée comme une image et activera dans les vues un lien vers une fenêtre pour récupérer l'image. De plus, un contenu des différentes images composant les chaînes stockées sera affiché dans leur historique respectif.
=== Intervalles dans les modules locaux ===
Les modules locaux (ou d'EndPoint) ont tous comme "base" l'intervalle de leur EndPoint. Cependant, ils peuvent prendre des valeurs multiples de cette base si vous modifiez le [[:fr:documentation:pandorafms:installation:05_configuration_agents#module_interval|paramètre]] ''module_interval'' avec un multiplicateur entier supérieur à zéro.
=== Interface de création de modules ===
Menu **Management → Resources → Manage agents**, accès direct aux **Modules** de l'agent respectif, bouton **Create module → EndPoint module → Create**.
La configuration à distance de l'EndPoint respectif doit être activée.
La création de modules locaux dans la Console Web se fait au moyen d'un formulaire où, en plus de la configuration commune de tout module (seuils, type, groupe, etc.), on dispose d'une boîte de texte où sont spécifiées les données à établir dans le fichier de configuration de l'EndPoint.
{{ :wiki:pfms-local_module_editor-802_version.png }}
* En cliquant sur le bouton **Load basic**, le contenu de **Data configuration** sera effacé et remplacé par un modèle de base qui doit être modifié selon les besoins de monitorisation.
* Une fois modifié, en cliquant sur **Check**, on vérifiera que la **syntaxe** du modèle est toujours correcte (cependant, le reste des commandes ne sera **pas** vérifié).
==== Monitorisation conditionnée ====
=== Post-conditions ===
L'EndPoint supporte l'exécution de commandes et de //scripts// en mode post-conditions. Cela signifie que l'on peut **effectuer des actions en fonction de la valeur obtenue lors de l'exécution du module**. Le [[:fr:documentation:pandorafms:installation:05_configuration_agents#module_condition|paramètre]] ''module_condition'' est utilisé à cet effet.
=== Pré-conditions ===
Le [[:fr:documentation:pandorafms:installation:05_configuration_agents#module_precondition|paramètre]] ''module_precondition'' permet d'évaluer une condition **avant** l'exécution du module et de décider avec le résultat si le module doit être exécuté ou non.
==== Monitorisation intensive ====
Il existe certains modules qui ont une importance particulière, tels que des processus ou des services critiques en cours d'exécution. Pour pouvoir avoir une monitorisation plus contrôlée de ces cas, il existe la [[:fr:documentation:pandorafms:installation:05_configuration_agents#intensive_interval|monitorisation intensive]].
Elle consiste à avertir dans un intervalle plus court qu'un problème sérieux est apparu sans avoir besoin de réduire l'intervalle général de l'EndPoint.
Configuration dans l'EndPoint :
* ''interval'' : Obligatoire, temps d'échantillonnage de l'EndPoint en secondes, c'est l'intervalle général pour tous les modules locaux.
* ''intensive_interval'' : Temps durant lequel il avertira s'il y a un problème, et il s'exécutera toujours pendant cette période ; si cela coïncide avec la condition, la notification se fera pendant cette période de temps (sinon, les données seront envoyées lors de l' ''interval'').
Configuration dans le module :
* ''module_intensive_condition = '' : Si le module obtient comme résultat la valeur indiquée dans ce paramètre, il notifiera dans l'intervalle intensif défini précédemment.
* Les autres opérateurs pouvant être utilisés sont : ''<'', ''>'', ''!='', une plage de valeurs ''(m,n)'' et ''=~''.
=== Exemple ===
Le service **[[:fr:documentation:pandorafms:introduction:03_glossary#openssh|sshd]]** est très important car il est utilisé pour se connecter via //shell// à distance et son fonctionnement doit être monitoré.
Fichier de configuration de l'EndPoint :
interval 300
intensive_interval 10
Module :
module_begin
module_name SSH Daemon
module_type generic_data
module exec ps aux | grep sshd | grep -v grep | wc -l
module_intensive_condition = 0
module_end
Si le service est absent, il sera notifié dans les 10 secondes suivantes, s'il fonctionne, il notifiera toutes les 5 minutes (intervalle normal, 300 secondes).
==== Monitorisation programmée ====
L'EndPoint supporte la définition de modules programmés qui s'exécutent aux instants définis. La syntaxe utilisée est la même que celle du fichier **crontab**.
===== Vérifications à distance avec l'EndPoint =====
Un EndPoint est capable d'effectuer des vérifications à distance, remplaçant le serveur principal PFMS et même de les distribuer dans des //agents broker//.
==== Vérifications ICMP ====
Les vérifications ICMP ou **[[:fr:documentation:pandorafms:installation:05_configuration_agents#module_advanced_options|ping]]** sont très utiles pour savoir si une machine est connectée ou non à un réseau.
**Unix** :
module_exec ping -c 1 dir_IP> /dev/null 2>&1; if [ $? -eq 0 ]; then echo 1; else echo 0; fi
**MS Windows®** :
module_ping dir_IP
Note : ''[[:fr:documentation:pandorafms:installation:05_configuration_agents#module_advanced_options|module_advanced_options]]'' permet des options avancées pour ''ping.exe''.
=== Vérifications TCP ===
Les vérifications TCP sont utiles pour vérifier que les ports d'une machine restent ouverts et permettent de savoir si une application se connecte ou non au réseau.
**Unix** :
Avec la commande **nmap** et ses paramètres de configuration sur la ligne de commande, on vérifie si le port 80 est ouvert pour une adresse IP (temps d'attente de réponse de 5 secondes) :
module_begin
module_name PortOpen
module_type generic_proc
module_exec nmap 192.168.100.54 -p 80 | grep open > /dev/null 2>&1; echo $?; if [ $? == 0 ]; then echo 1; else echo 0; fi
module_timeout 5
module_end
**MS Windows®** :
Les paramètres doivent être spécifiés dans :
* ''[[:fr:documentation:pandorafms:installation:05_configuration_agents#module_tcpcheck|module_tcpcheck]]'' : Adresse IP du dispositif.
* ''module_port'' : Numéro de port.
* ''module_timeout'' : Temps d'attente pour la réponse, il doit être situé entre ''module_begin'' et ''module_end''.
Cas donné :
module_begin
module_name TcpCheck
module_type generic_proc
module_tcpcheck 192.168.100.54
module_port 80
module_timeout 5
module_end
==== Vérifications SNMP ====
Les vérifications SNMP sont courantes dans la monitorisation des dispositifs réseau pour vérifier l'état des interfaces, les octets d'entrée/sortie, etc.
**Unix®** :
module_exec snmpget dir_IP -v 1 -c public .1.3.6.1.2.1.2.2.1.1.148 | awk '{print $4}'
**MS Windows®** :
module_snmpget
module_snmpversion 1
module_snmp_community public
module_snmp_agent 192.168.100.54
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148
module_end
===== Mode Proxy =====
Pour utiliser le mode //proxy// de l'EndPoint de Pandora FMS sous Linux/Unix®, **on ne peut pas utiliser l'utilisateur //root// pour son exécution**, c'est pourquoi une installation spéciale de l'EndPoint de Pandora FMS est nécessaire. Pour cela, consultez l' [[:fr:documentation:pandorafms:technical_annexes:32_pfms_install_software_agent#ks6_2|Installation personnalisée de l'EndPoint]].
Ce mode permet de rediriger les fichiers de données générés par d'autres EndPoints vers le serveur de Pandora FMS. L'EndPoint qui agit en Mode Proxy peut également effectuer des tâches de monitorisation.
{{ :wiki:pfms-proxy_agent_mode.png?800 }}
Configuration des paramètres :
* ''server_ip'' : Adresse IP du serveur Pandora FMS.
* ''proxy_mode'' : Activé (1) ou désactivé (0).
* ''proxy_max_connection'' : Nombre de connexions simultanées du //proxy//, par défaut ''10''.
* ''proxy_timeout'' : Temps d'attente de réponse pour le //proxy//, par défaut ''1'' seconde.
* ''proxy_address'' : Adresse IP sur laquelle le //proxy// écoute.
* ''proxy_port'' : Numéro de port sur lequel le //proxy// écoute.
===== Mode Broker =====
Le Mode //Broker// des EndPoints permet à un seul EndPoint d'effectuer des vérifications et de gérer la configuration comme s'il s'agissait de plusieurs EndPoints distincts.
{{ :wiki:pfms-broker_agent_mode.png?800 }}
Lorsque le Mode //Broker// est activé dans un EndPoint, un nouveau fichier de configuration est créé. À partir de ce moment, l'EndPoint original et le nouveau //Broker// seront gérés séparément avec leurs fichiers de configuration indépendants, comme s'ils étaient deux EndPoints totalement séparés sur la même machine.
Pour créer un //Broker//, on ajoute une ou plusieurs lignes avec le paramètre ''broker_agent '' (une ligne pour chaque //Broker//).
Dans la Console Web de Pandora FMS, **les //Brokers// sont vus et gérés comme des EndPoints indépendants**.
* Les modules qui conservent des données en mémoire entre les exécutions (''module_logevent'' et ''module_regexp'' sous MS Windows®) ne fonctionnent pas lorsqu'il y a des EndPoints //broker// configurés.
* Les instances du mode //broker// ne peuvent pas utiliser de [[:fr:documentation:pandorafms:complex_environments_and_optimization:02_policy#ks5|collections]].
===== Inventaire avec EndPoint =====
Pour plus d'informations, visitez la section [[:fr:documentation:pandorafms:management_and_operation:04_inventory#ks2_3_1|Inventaire local avec EndPoints]].
===== Collecte de logs avec EndPoint =====
Pour plus d'informations, visitez le sujet [[:fr:documentation:pandorafms:monitoring:09_log_monitoring#ks3_2|Collecte et monitorisation de logs]].
===== Actions à distance par UDP =====
Un EndPoint est capable de recevoir des requêtes à distance et d'exécuter des ordres.
Gardez toujours à l'esprit que l'UDP est par nature peu sûr (mais efficace pour envoyer des messages sans compromettre une réponse certaine).
Pour permettre au serveur PFMS d'envoyer des ordres aux EndPoints sous sa responsabilité, il faut configurer :
* ''udp_server'' : Zéro ''0'' par défaut, valeur à un ''1'' pour activer cette fonctionnalité.
* ''udp_server_port'' : Numéro de port d'écoute sur l'EndPoint.
* ''udp_server_auth_address'' : Adresse IP du serveur Pandora FMS.
L'EndPoint doit être redémarré pour que les changements s'appliquent.
* Bien qu'il puisse être réglé sur ''0.0.0.0'' pour accepter toutes les origines, **cette pratique n'est pas recommandée**.
* Si vous avez plusieurs serveurs PFMS et/ou utilisez l'IPv6, vous pouvez placer différentes adresses IP séparées par des virgules.
* Dans le cas où vous avez en IPv6 l'adresse ''2001:0db8:0000:130F:0000:0000:087C:140B'', dont l'abréviation est ''2001:0db8:0:130F::87C:140B'', les deux adresses séparées par des virgules doivent être utilisées.
==== Comment demander le redémarrage du service des EndPoints ====
Le //script// situé à l'emplacement suivant doit être utilisé :
/usr/share/pandora_server/util/udp_client.pl
Il peut être exécuté depuis la ligne de commande ou bien utilisé dans une alerte, via la commande qui est [[:fr:documentation:pandorafms:management_and_operation:01_alerts#ks2_3|préconfigurée]] dans la console **Remote agent control**.
{{ :wiki:pfms-endpoint_restart_action-802_version.png }}
==== Actions à distance personnalisées ====
En plus de l'action de redémarrage du service d'EndPoint, des [[:fr:documentation:pandorafms:installation:05_configuration_agents#ks5|actions personnalisées]] de type suivant peuvent être spécifiées :
process__start command
Des ordres peuvent également être créés pour appeler des //scripts// afin d'effectuer plusieurs actions à distance en appuyant simplement sur un bouton.
===== Plugins dans les EndPoints =====
À la différence des //plugins// de serveur, exécutés par le serveur Pandora FMS, les [[:fr:documentation:pandorafms:installation:05_configuration_agents#module_plugin|plugins d'EndPoint]] rapportent un **ou plusieurs modules à la fois**.
==== Exécution sur les systèmes MS Windows® ====
Sous MS Windows®, les //plugins// enregistrés par défaut sont programmés en **VBScript**, pour les exécuter on utilise l'interpréteur ''cscript.exe''.
=== Vérifications en utilisant PowerShell ===
À partir de la version 776, on dispose de ''module_exec_powershell'' qui permet d'introduire des commandes plus complexes dans PowerShell® avec des caractères spéciaux et des instructions complexes (une instruction délivre des résultats à la suivante) qui sont impossibles via le module ''module_exec''.
# Example of Powershell execution module
module_begin
module_name Powershell
module_type generic_data_string
module_exec_powershell | | … |
module_end
Les commandes sont introduites telles quelles, sans avoir besoin de guillemets pour être traitées par l'EndPoint PFMS (les commandes PowerShell, en revanche, peuvent nécessiter des guillemets).
Si la commande n'est pas valide, une erreur est ajoutée au journal de l'EndPoint (fichier ''pandora_agent.log'').
==== Exécution sur les systèmes Unix ====
Les //plugins// Unix sont situés par défaut dans le répertoire de l'EndPoint :
/usr/share/pandora_agent/plugins
==== Gestion des plugins d'EndPoint depuis la Console ====
En ayant sa configuration à distance activée, un EndPoint disposera, dans sa vue d'administration, de l'onglet de l'éditeur de //plugins//. Bien que tous les //plugins// présentent des actions d'édition et de suppression, certains d'entre eux sont en lecture seule ([[:fr:documentation:pandorafms:management_and_operation:04_inventory|inventaire]], [[:fr:documentation:pandorafms:cybersecurity:20_hardening|sécurité]]), ils renverront donc des messages d'erreur s'ils sont manipulés.
{{ :wiki:pfms-plugin_editor-802_version.png }}
==== Gestion des plugins avancés d'EndPoint depuis la Console ====
Il est possible d'ajouter un //token// dans la configuration des //plugins// d'EndPoint qui, lorsqu'il est activé, permet l'option d'"encapsuler" les définitions de //plugins// à l'intérieur des balises ''module_begin'' et ''module_end''.
Ce //token// activé permet d'insérer des blocs de configuration comme ''module_interval'' ou ''module_crontab'', entre autres.
==== Comment créer des plugins personnalisés pour EndPoint ====
Les //plugins// peuvent être créés dans n'importe quel langage de programmation. Il faut seulement tenir compte des [[:fr:documentation:pandorafms:technical_reference:04_anexo_plugins_considerations|règles générales]] et des [[:fr:documentation:pandorafms:technical_reference:06_anexo_agent_plugins|règles spécifiques]] pour leur développement.
Assurez-vous de terminer la sortie du nouveau //plugin// (si c'est un //script//) avec un ''errorlevel 0'' ou l'EndPoint interprétera que le //plugin// a rencontré une erreur et n'a pas pu exécuter le travail.
==== Utilisation des plugins Nagios® depuis l'EndPoint ====
Nagios possède un grand nombre de //plugins// qui peuvent être utilisés avec Pandora FMS. Une façon de le faire est d'utiliser les //plugins// distants avec le [[:fr:documentation:pandorafms:introduction:02_architecture#heavy_server|Heavy Server]], en utilisant la [[:fr:documentation:pandorafms:technical_reference:05_anexo_server_plugins_development#ks3|compatibilité de Nagios]].
===== Monitorisation avec KeepAlive =====
Un module singulier dans Pandora FMS est le type appelé ''keep_alive'', utilisé pour alerter si un EndPoint a cessé d'envoyer des informations.
Le module KeepAlive ne peut être créé que depuis la Console Web, **même si la configuration à distance n'est pas activée**, et il ne laisse aucune trace dans le fichier ''pandora_agent.conf''.
Il faut aller dans le menu d'administration des agents dans **Management → Resources → Manage agents** et cliquer sur **Modules** d'un agent.
Une fois que la liste des modules de l'agent sélectionné est visible, il faut appuyer sur le bouton **Create module** et sélectionner **Endpoint module** dans la liste **Select module type** et appuyer sur **Create**. Le module doit être créé de la manière suivante :
{{ :wiki:pfms-endpoint_keep_alive.png }}
===== Monitorisation des captures de commandes (vue Command Snapshot) =====
Les commandes qui présentent des sorties étendues, comme ''top'' ou ''netstat -n'', peuvent être capturées entièrement par un module et reproduites telles quelles. Le module doit être configuré comme type texte dans la configuration à distance d'une manière similaire au code suivant :
module_begin
module_name process_table
module_type generic_data_string
module_exec ps aux
module_description Command snapshot of running processes
module_group System
module_end
* Pour que cela fonctionne ainsi, il faut configurer correctement tant la console de Pandora (//setup//) que l'EndPoint qui recueille cette information, en s'assurant qu'il s'agit de //texte brut//.
* Dans la [[:fr:documentation:pandorafms:management_and_operation:12_console_setup#ks1_1|configuration de la Console Web]], l'option **Command line snapshot** doit être activée.
Dans la vue principale d'édition de l'agent, section inférieure des modules, la colonne **Data** présentera une icône avec la description **Command Snapshot view** où, en cliquant, une nouvelle fenêtre s'ouvrira :
{{ :wiki:pfms-command_snapshot-802_version.png }}
===== Monitorisation et visualisation d'images =====
Cette méthode permet de définir des modules de type chaîne (''generic_data_string'' ou ''async_string'') contenant des images au format texte avec un encodage base64, pouvant afficher ladite image au lieu d'un résultat concret.
On crée un fichier //script// tel que :
#!/bin/bash
echo ""
echo "Actual leader"
echo "async_string"
echo ""
echo ""
On enregistre ce contenu dans un fichier sur l'EndPoint (ou distribuez-le par [[:fr:documentation:pandorafms:complex_environments_and_optimization:02_policy#ks5|collections]]) et on l'exécute ainsi :
module_plugin
===== Monitorisation spécifique pour MS Windows® =====
* Si le nom du processus contient des espaces vides, **n'utilisez pas** **''“ ”'' **.
* Le nom du processus doit être le même que celui affiché par le Gestionnaire des Tâches ( ''taskmngr'' ) de MS Windows®, incluant l'extension ''.exe''.
* Il est important de **respecter les majuscules et les minuscules**.
==== Monitorisation de processus et watchdog de processus ====
=== Monitorisation de processus ===
Le paramètre ''[[:fr:documentation:pandorafms:installation:05_configuration_agents#module_proc|module_proc]]'' vérifie si un nom de processus déterminé fonctionne sur cette machine. Il doit être configuré de manière similaire :
module_begin
module_name CMDProcess
module_type generic_proc
module_proc cmd.exe
module_description Process Command line
module_end
Le paramètre ''[[#ks12_1_2|module_async yes]]'' doit être ajouté :
module_begin
module_name CMDProcess
module_type generic_proc
module_proc cmd.exe
module_async yes
module_description Process Command line
module_end
=== Watchdog sur processus ===
La fonctionnalité de Watchdog pour MS Windows® permet de redémarrer un processus interrompu.
Dans le code suivant, on configure le programme **Bloc-notes** pour qu'il s'exécute //de manière persistante// via l'EndPoint installé :
module_begin
module_name Notepad
module_type generic_data
module_proc notepad.exe
module_description Notepad
module_async yes
module_watchdog yes
module_user_session yes
module_start_command "%SystemRoot%\notepad.exe"
module_startdelay 3000
module_retrydelay 2000
module_retries 5
module_end
==== Monitorisation de services et Watchdog de services ====
=== Monitorisation de services ===
Le paramètre ''module_service'' vérifie si un service déterminé est en cours d'exécution sur la machine. La définition d'un module utilisant ce paramètre serait :
module_begin
module_name Service_Dhcp
module_type generic_proc
module_service Dhcp
module_description Service DHCP Client
module_end
Le paramètre ''[[:fr:documentation:pandorafms:installation:05_configuration_agents#module_proc|module_async yes]]'' doit être ajouté pour qu'il avertisse **immédiatement** lorsqu'un processus cesse de fonctionner :
module_begin
module_name Service_Dhcp
module_type generic_proc
module_service Dhcp
module_description Service DHCP Client
module_async yes
module_end
=== Watchdog de services ===
Fonctionne de manière similaire au [[#ks12_1_2|Watchdog de processus]] :
module_begin
module_name ServiceSched
module_type generic_proc
module_service Schedule
module_description Service Task scheduler
module_async yes
module_watchdog yes
module_end
La définition du Watchdog pour les services ne nécessite aucun paramètre supplémentaire comme celui des processus //car cette information est déjà à l'intérieur de la définition du service//.
==== Monitorisation des ressources de base ====
Lors de l'installation de l'EndPoint PFMS pour MS Windows®, les modules de base nécessaires sont inclus.
Certains modules sont déjà actifs et d'autres doivent être activés par la **Remote Configuration** (ou en éditant localement le fichier ''.conf'' de l'EndPoint).
[[:fr:documentation:pandorafms:start|← Retour à l'index de la documentation de Pandora FMS]]