Configuration des EndPoints
Qu'est-ce qu'un EndPoint
Il s'agit de petits logiciels qui s'installent sur les systèmes d'exploitation et continuent à fonctionner pour extraire des informations de surveillance et les envoyer régulièrement au Pandora FMS Data Server, qui les traite et les stocke dans la base de données.
Introduction à la configuration de l'EndPoint
Le fonctionnement de l'EndPoint (paramètres de fonctionnement et modules) est déterminé par son fichier de configuration.
- Sous MS Windows® :
%ProgramFiles%\pandora_agent\pandora_agent.conf
- Sur les systèmes Linux® :
/etc/pandora/pandora_agent.conf
Paramètres généraux de l'agent
La plupart des paramètres sont communs aux systèmes MS Windows® et Linux®. Après avoir modifié un paramètre général, vous devez redémarrer l'EndPoint.
Le codage du fichier de configuration de l'EndPoint est UTF-8 aussi bien sur les systèmes Linux® que MS Windows®.
La première fois que des données sont reçues de l'EndPoint, toutes les informations sont enregistrées dans la base de données. Pour les envois d'informations suivants (et selon que le mode apprentissage est activé ou non), seuls les champs suivants du XML: version, timestamp (date) et os_version (version du système d'exploitation), ainsi que les paramètres suivants du fichier de configuration gis_exec, latitude, longitude, altitude, parent_agent_name, timezone_offset, address, custom_field.
server_ip
Adresse IP ou nom du serveur Pandora FMS auquel les données seront envoyées.
server_path
Route du serveur où il reçoit les fichiers de données envoyés par les agents. Par défaut :
/var/spool/pandora/data_in
temporal
Chemin où l'EndPoint stocke les fichiers de données avant qu'ils ne soient envoyés au serveur et supprimés localement.
description
Il envoie la description de l'EndPoint dans le XML, et Pandora FMS importe cette description lorsqu'il crée l'Agent Logique.
group
S'il existe un groupe portant le nom indiqué dans ce paramètre, l'Agent sera créé au sein de ce groupe sauf si le serveur force la création de tous les agents d'un groupe donné.
Voir aussi group_password.
temporal_min_size
Si l'espace libre (en mégaoctets) de la partition sur laquelle se trouve le répertoire temporaire est inférieur à cette valeur (par défaut un mégaoctet), la génération des paquets de données est arrêtée.
temporal_max_size
Taille maximale (en mégaoctets) autorisée pour le buffer XML, valeur par défaut 1024.
Voir également temporal_min_size .
temporal_max_files
Nombre maximum de fichiers autorisés pour le buffer XML, valeur par défaut 1024.
Voir également temporal_min_size.
logfile
Chemin d'accès au log de l'agent Pandora FMS.
interval
En secondes, temps d'échantillonnage de l'agent. Chaque fois que cet intervalle est terminé, l'Agent collecte des informations et les envoie au serveur Pandora FMS.
disable_logfile
Pour MS Windows® uniquement : Il désactive l'écriture dans pandora_agent.log .
debug
S'il est actif (1), une copie du fichier XML envoyé par l'agent au serveur sera sauvegardée dans le répertoire temporaire et ceux-ci seront stockés, afin que les fichiers XML puissent être ouverts et leur contenu analysé.
Dans les EndPoints pour MS Windows®, un fichier appelé pandora_debug.log sera créé avec le résultat des exécutions de l'agent et l'envoi XML.
Dans les EndPoints pour Linux®, les informations décrites ci-dessus seront ajoutées au fichier log de l'agent (pandora_agent.log).
- Un EndPoint dont la configuration à distance est active et dont le mode
debugest actif ne prendra pas en compte les changements effectués dans le fichier de configuration de l'agent dans la console Pandora FMS. - Il est recommandé d'utiliser le mode “débogage” actif pendant une courte période, car le fichier XML reste stocké et occupe rapidement de l'espace.
agent_name
Il vous permet de définir un nom personnalisé. S'il n'est pas activé, le nom de l'agent sera le hostname de la machine.
agent_name_cmd
Il définit le nom de l'agent à l'aide d'une commande externe. Si agent_name_cmd est défini, agent_name est ignoré. La commande doit retourner le nom de l'agent par STDOUT. S'il renvoie plus d'une ligne, seule la première sera utilisée.
agent_alias_cmd
Il définit le nom de l'agent à l'aide d'une commande externe. Si agent_name_cmd est défini, agent_alias est ignoré. La commande doit retourner le nom de l'agent par STDOUT. S'il renvoie plus d'une ligne, seule la première sera utilisée.
address
Il s'agit de l'adresse IP associée à l'EndPoint. Il peut s'agir d'un IPv4 au format X.X.X.X , d'un nom de domaine comme localhost ou auto. S'il s'agit d'une adresse IP ou d'un nom de domaine, il sera ajouté à la collection d'adresses de l'agent et défini comme principal. S'il est auto, l'adresse IP de la machine sera obtenue et ajoutée à l'agent de la même manière que dans le cas précédent.
encoding
Il installe le type de codage du système local, tel que ISO-8859-15 ou UTF-8 .
server_port
Port sur lequel le serveur Pandora FMS Tentacle écoute pour recevoir les fichiers de données, 41121 par défaut.
transfer_mode
Mode de transfert des fichiers de données vers le serveur Pandora FMS. Valeur par défaut tentacle .
transfer_timeout
Délai d'expiration ( timeout ) pour le transfert de fichiers ; Si le nombre de secondes indiqué est dépassé sans terminer le transfert, celui-ci sera annulé.
server_pwd
Mot de passe du serveur pour l’authentification : Spécifique pour Windows® FTP et le mode de transfert Tentacle, bien que le mot de passe dans ce dernier soit facultatif.
server_ssl
Spécifique au mode de transfert Tentacle. Il permet d'activer ( yes ) ou désactiver ( no ) le chiffrement des connexions à l’aide de SSL. Vous pouvez en savoir plus sur la communication sécurisée avec Tentacle dans cette section.
server_opts
Pour ajouter des options supplémentaires lors de l’exécution du client Tentacle dans le transfert de fichiers. Utilisé pour les configurations avancées de Tentacle avec options de sécurité.
Depuis la version 3.2 des agents, le client Tentacle prend en charge une option permettant d’utiliser un proxy HTTP pour envoyer les données au serveur. La méthode CONNECT doit être activée sur ce proxy HTTP. Pour pouvoir utiliser la sortie via un proxy, utilisez l’option suivante (par exemple) :
server_opts -y user:[email protected]:8080
Cette option force le client Tentacle à envoyer les données via un proxy situé sur proxy.inet et utilisant le port 8080, en utilisant le nom d’utilisateur user et le mot de passe pass pour s’authentifier auprès de ce proxy. Si, par exemple, vous devez utiliser un proxy sans authentification, sur un serveur sur 192.168.1.2 et avec le port 9000, l’option serait la suivante :
server_opts -y 192.168.1.2:9000
Vous pouvez en savoir plus sur la communication sécurisée avec Tentacle dans cette section.
delayed_startup
Désactivé par défaut. Délai d’attente (secondes ou minutes) jusqu’à ce que l’agent commence à fonctionner une fois démarré. Pour tous les EndPoints à l’exception de MS Windows®.
startup_delay
Désactivé par défaut. Délai d’attente en secondes jusqu’à ce que l’agent commence à fonctionner une fois démarré. Pour MS Windows® uniquement.
pandora_nice
Il n’est disponible que pour les agents Unix/Linux. Ce paramètre vous permet de spécifier la priorité que le processus Pandora FMS Agent aura sur le système.
autotime
Si activé ( 1 ) il envoie un horodatage d’exécution spécial (AUTO) qui oblige le serveur à utiliser la date et l’heure locales du serveur pour définir l’heure des données, ignorant l’heure envoyée par l’agent. Ceci est nécessaire dans les agents qui, pour une raison quelconque, ont un temps incorrect ou très différent de celui du serveur.
cron_mode
Avec ce paramètre, il est possible de faire en sorte que l’agent utilise le crontab Linux® pour s’exécuter à un certain intervalle au lieu d’utiliser le propre système interne de l’agent pour s’exécuter de temps en temps. Désactivé par défaut ( 0 ).
remote_config
Il active ( 1 ) ou désactive ( 0 ) la configuration de l’agent distant. Son fonctionnement n’est autorisé qu’avec le mode de transfert Tentacle.
En activant la configuration à distance, toute modification qui n'est pas effectuée à partir de la Console Pandora FMS sera rejetée et écrasée.
xml_buffer
S’il est activé ( 1 ), l’EndPoint enregistrera dans son répertoire temporaire les fichiers XML qu’il n’a pas pu envoyer au serveur en cas de problème de connectivité. Ils seront envoyés lorsque les communications seront rétablies.
timezone_offset
L’EndPoint peut très bien installer son fuseau horaire décalé avec le serveur. Cela permet au serveur d’effectuer un décalage de l’heure collectée par l’agent, de sorte qu’elle corresponde à l’heure locale du serveur.
# Timezone offset: Difference with the server timezone timezone_offset 3
Il est calculé en soustrayant le fuseau horaire de l'EndPoint au fuseau horaire du serveur.
parent_agent_name
Il indique le parent de l’EndPoint. Il doit s’agir du nom d’un agent existant dans Pandora FMS.
agent_threads
Il n’est disponible que pour les agents Unix/Linux : Nombre de threads que l’agent lancera pour exécuter des modules en parallèle. Par défaut, les modules s’exécutent les uns après les autres sans lancer de threads supplémentaires. Exemple :
# Number of threads to execute modules in parallel agent_threads 4
include
include <file>
Il permet d’inclure un fichier (file) de configuration supplémentaire. Ce fichier peut inclure des modules et des collections supplémentaires à ceux du fichier principal. Le fichier peut être téléchargé par les utilisateurs qui ont des autorisations d’écriture sur les agents (« AW »).
broker_agent
broker_agent <broker_name>
Il active la fonctionnalité Broker Agent. Pour l’activer, il suffit de supprimer le paramètre des commentaires et d’indiquer le nom (<broker_name>) qui sera attribué à l’agent broker.
pandora_user
pandora_user <user>
Ce paramètre est facultatif et vous permettra d’exécuter l’agent avec l’utilisateur système ( <user> ) que vous spécifiez. Cet utilisateur doit disposer des autorisations nécessaires pour exécuter l’agent et ses ressources associées.
custom_id
Identificateur personnalisé de l’agent pour les applications externes.
url_address
URL personnalisée à ouvrir à partir de l’agent dans la console.
custom_fieldX_name
Nom d’un champ personnalisé Agents qui existe déjà dans le système. S’il n’existe pas, il sera ignoré.
custom_field1_name Model
custom_fieldX_value
Valeur du champ personnalisé custom_fieldX_name définie dans le paramètre précédent. Exemple :
custom_field1_value C1700
module_macro
EndPoint pour Unix/Linux®.
macro<macro> <value>
Il définit une macro d’exécution locale qui peut être utilisée dans la définition d’un module. Ces macros sont utilisées dans le système Metaconsole et dans le système de composants Module local pour « abstraire » la difficulté d’utiliser un Module en éditant directement le code, en présentant à un utilisateur moins avancé une interface locale qui permet de « remplir » les valeurs. Ces valeurs sont utilisées ci-dessous, en utilisant un système de macro, relativement similaire au système de macro des plugins locaux.
Les macros d’exécution locale commencent par _fieldx_.
group_password
group_password <password>
Mot de passe (password) du groupe de l'Agent. Si le groupe n’est pas protégé par mot de passe, vous devez laisser cette ligne sous forme de commentaire.
ehorus_conf
ehorus_conf <path>
Chemin absolue (path) à un fichier de configuration valide d’un agent Pandora RC. L’agent crée un champ personnalisé appelé eHorusID qui contient la clé d’identification de l’agent Pandora RC.
transfer_mode_user
transfer_mode_user <user>
Utilisateur (user) des fichiers copiés en mode de transfert local. Dans les dossiers de la console, cet utilisateur doit disposer d’autorisations de lecture et d’écriture pour que la configuration à distance fonctionne correctement. Par défaut, il s’agit d'apache.
secondary_groups
secondary_groups <group name1>, <group name2>, ... <group nameN>
Nom des groupes secondaires (group name) attribués à l’agent. Vous pouvez spécifier plusieurs groupes enfants séparés par des virgules. Si l’un des groupes n’existe pas sur le serveur auquel les informations sont envoyées, ce groupe ne sera pas attribué, mais la création de l’agent ne sera pas affectée.
standby
standby <1|0>
Si un agent a le mode veille activé (standby 1), l’agent n’effectue aucune vérification et n’envoie ni ne génère de code XML. Par conséquent, vous pouvez désactiver un agent à volonté en le désactivant simplement.
débogage
Le mode de debug remplace cette fonctionnalité et l’agent s’exécute normalement.
module_absoluteinterval
module_absoluteinterval <interval>[s,m,h,d]
module_absoluteinterval once
Il spécifie l'intervalle d'exécution du module, mais contrairement à l'option module_interval:
- Il se souvient de la date de la dernière exécution lorsque l'agent est redémarré. Le module ne s'exécutera pas tant que l'intervalle spécifié ne sera pas écoulé.
- Il permet de spécifier l'intervalle en secondes, minutes, heures ou jours (e.g.,
30s,5m,1h,7d). - Il est possible de configurer les modules pour qu'ils ne s'exécutent qu'une seule fois en spécifiant
oncecomme valeur d'intervalle.
module_absoluteinterval a besoin de module_name pour générer le fichier .ref correspondant. Ce n'est qu'ainsi que le module sera créé. En fonction du système d'exploitation contrôlé, ce fichier sera créé dans:
Linux® :
/usr/share/pandora_agent/ref/
MS Windows®:
C:\Program Files\pandora_agent\ref\
Serveur Secondaire
Il est possible de définir un serveur secondaire auquel les données seront envoyées dans deux situations possibles en fonction de l'activation de la configuration du token secondary_mode :
on_error: Envoie les données au serveur secondaire uniquement si elles ne peuvent pas être envoyées au serveur principal.always: Envoie toujours les données au serveur secondaire, indépendamment de la possibilité de contacter le serveur principal.
Il est également nécessaire de décommenter et de configurer les tokens suivants, selon le cas de chacun d'eux :
#secondary_server_ip localhost #secondary_server_path /var/spool/pandora/data_in #secondary_server_port 41121 #secondary_transfer_mode tentacle #secondary_transfer_timeout 30 #secondary_server_pwd mypassword #secondary_server_ssl no #secondary_server_opts
Serveur UDP
Gardez à l’esprit que UDP est par nature non sécurisé (mais efficace pour envoyer des messages sans compromettre une certaine réponse).
L’EndPoint Pandora FMS peut être configuré pour écouter les commandes à distance. Ce serveur écoute sur un port UDP spécifié par l’utilisateur et vous permet de recevoir des commandes d’un système distant, généralement à partir de la console Pandora FMS, en exécutant des alertes sur le serveur.
Pour configurer le serveur distant UDP, les options suivantes existent dans votre fichier de configuration pandora_agent.conf
udp_server: Pour activer le serveur UDP, définissez la valeur sur1. Par défaut, il est désactivé.udp_server_port: Numéro de port d’écoute.udp_server_auth_address: Adresses IP autorisées à envoyer des commandes. Pour spécifier plusieurs adresses, séparez-les par des virgules. S’il est configuré avec0.0.0.0, il accepte les commandes de n’importe quelle adresse.
Bien qu’il puisse être réglé sur 0.0.0.0 pour accepter de toutes les sources, cette pratique n’est pas recommandée. Si vous avez plusieurs serveurs Pandora FMS et/ou si vous utilisez IPv6, vous pouvez placer différentes adresses IP séparées par des virgules. Si vous avez dans IPv6 2001:0db8:0000:130F:0000:0000:087C:140B et son abréviation est 2001:0db8:0:130F::87C:140B utilisez les deux séparés par des virgules.
process_<name>_start <command>: Commande qui démarre un processus défini par l’utilisateur.process_<name>_stop <command>: Commande qui arrêtera le processus.service_<name> 1: Il permet d’arrêter le service <name> qu'il soit arrêté ou démarré à distance à partir du serveur UDP.
Il existe un script sur le serveur, dans /util/udp_client.pl qui est utilisé par Pandora FMS Server comme commande pour une alerte, pour démarrer des processus ou des services. Syntaxe :
./udp_client.pl <address> <port> <command>
Définition des modules
Les modules d'exécution locale sont définis dans le fichier de configuration pandora_agent.conf. La syntaxe générale est la suivante :
module_begin module_name module_type generic_data module_exec module_end
Éléments communs de tous les modules
Les champs du module (à l’exception des données du module, de la description et des informations étendues) ne sont mis à jour que lors de la création du module, ils ne seront jamais mis à jour une fois que le module existe déjà.
module_begin
Étiquette de démarrage d’un module.
Cette balise, tout comme module_end, est obligatoire.
module_name
module_name <name>
Nom (<name>) du module. Ce nom doit être unique et singulier dans l’agent. Obligatoire.
module_type
module_type
Type (type) de données que le module renverra. Obligatoire. Les types disponibles sont les suivants:
- Numérique (
generic_data): Données numériques simples, virgule flottante ou entiers. - Incremental (
generic_data_inc): Données numériques égales à la différence entre la valeur actuelle et la valeur précédente divisée par le nombre de secondes écoulées. Lorsque cette différence est négative, la valeur est réinitialisée, ce qui signifie que lorsque la différence est à nouveau positive, la valeur précédente sera prise chaque fois que l’augmentation revient pour donner une valeur positive. - Absolute incremental (
generic_data_inc_abs): Données numériques égales à la différence entre la valeur actuelle et la valeur précédente, sans être divisées par le nombre de secondes écoulées, pour mesurer l’incrément total au lieu de l’incrément par seconde. Lorsque cette différence est négative, la valeur est réinitialisée, ce qui signifie que lorsque la différence est à nouveau positive, la dernière valeur à partir de laquelle l’augmentation actuelle obtenue est positive sera utilisée. - Alphanumérique (
generic_data): Il collecte les chaînes de texte alphanumériques. - Booléens (
generic_proc): Pour les valeurs qui ne peuvent être correctes ou affirmatives (1) ou incorrectes ou négatives (0). Utile pour vérifier si un ordinateur est actif ou si un processus ou un service est en cours d’exécution. Une valeur négative (0) apporte l’état critique pré affecté, tandis que toute valeur supérieure sera considérée comme correcte. - Alphanumérique asynchrone (
async_string): Pour les chaînes de texte de type asynchrone. La supervision asynchrone dépend d’événements ou de modifications qui peuvent ou non se produire, de sorte que ces types de modules ne sont jamais dans un état inconnu. - Booléen asynchrone (
async_proc): Pour les valeurs booléennes de type asynchrone. - Numérique asynchrone (
async_data): Pour les valeurs numériques de type asynchrone. - Logs (
log): Voir Collecte et suivi des journaux.
module_min
module_min <value>
Valeur (<value>) minimale que le Module doit retourner pour être accepté. Sinon, il sera ignoré par le serveur.
module_max
module_max <value>
Valeur (<value>) maximale que le Module doit retourner pour être accepté. Sinon, il sera ignoré par le serveur.
module_min_warning
module_min_warning <value>
Valeur (<value>) minimale du seuil d’avertissement warning.
module_max_warning
module_max_warning <value>
Valeur (<value>) maximale du seuil d’avertissement warning.
module_min_critical
module_min_critical <value>
Valeur (<value>) minimale du seuil critique critical.
module_max_critical
module_max_critical <value>
Valeur (<value>) maximale du seuil critique critical.
module_disabled
module_disabled <0|1>
Il indique si le module est activé ( 0 ) ou désactivé ( 1 ).
module_min_ff_event
module_min_ff_event <value>
Valeur (value) de la protection Flip Flop pour les faux positifs. Le nombre de changements d’état indiqués dans cette valeur sera requis pour que le module puisse modifier visuellement son état dans la console Web.
module_each_ff
module_each_ff <0|1>
Si cette option est activée ( 1 ), au lieu d’utiliser module_min_ff_event les seuils de bascule seront utilisés par état :
module_min_ff_event_normal.module_min_ff_event_warning.module_min_ff_event_critical.
module_min_ff_event_normal
module_min_ff_event_normal <value>
Valeur (value) de la protection Flip Flop pour entrer en état normal.
module_min_ff_event_warning
module_min_ff_event_warning <value>
Valeur (value) de la protection Flip Flop pour entrer en état warning.
module_min_ff_event_critical
module_min_ff_event_critical <value>
Valeur (value) de la protection Flip Flop pour entrer en état critical.
module_ff_timeout
module_ff_timeout <seconds>
Redémarrez le compteur de de seuil Flip Flop après le nombre de secondes donné. Cela implique que le nombre de changements d’état déterminés dans module_min_ff_event doit se produire dans un intervalle de module_ff_timeout quelques secondes avant que l’état ne change dans la console au niveau visuel.
module_ff_type
module_ff_type <value>
Il indique si Keep counters est activé (1) ou désactivé (0).
Il s’agit d’une option avancée du Flip Flop pour le contrôle de l’état d’un module. Par le biais de Keep counters définissez des valeurs de compteur pour passer d’un état à un autre en fonction, au lieu de la valeur, de l’état du module avec la valeur reçue.
module_ff_event
module_ff_event X
Il s'agit du seuil d'exécution Flip Flop du module (en secondes).
module_description
module_description
Texte libre avec des informations sur le module.
module_interval
module_interval <factor>
Intervalle individuel du module. Cette valeur est un facteur multiplicateur de l'intervalle de l'EndPoint, et non un temps libre.
Pour que l’agent module_interval travaille dans Broker Agents, il doit avoir le même intervalle que l’agent d’où il provient. Sinon, il risque de ne pas fonctionner. À partir de la version 776, le champ de l'intervalle de courtage dans la console Web a été supprimé.
module_timeout
module_timeout <seconds>
En secondes, durée maximale autorisée pour l’exécution du Module. Si ce délai est dépassé avant que son exécution ne soit terminée, il sera interrompu. Cette instruction doit être placée entre les instructions module_begin et module_end.
module_postprocess
module_postprocess <factor>
Valeur numérique par laquelle les données renvoyées par le module seront multipliées. Utile pour les conversions d’unités.
module_save
module_save <variable_name>
Stocke la valeur renvoyée par le module dans une variable dont le nom est indiqué dans ce paramètre (<variable_name>). Cette valeur pourra être utilisée ultérieurement dans d'autres modules.
Étude de cas sous Unix®/Linux® :
module_begin module_name echo_1 module_type generic_data module_exec echo 41121 module_save ECHO_1 module_end
Il stockera la valeur 41121 dans la variable ECHO_1 :
module_begin module_name echo_2 module_type generic_data module_exec echo $ECHO_1 module_end
Ce deuxième module affichera le contenu de la variable $ECHO_1, qui est 41121.
Dans les EndPoints pour MS Windows®, la syntaxe du module doit être formée en encadrant la variable entre des symboles de pourcentage :
module_begin module_name echo_2 module_type generic_data module_exec echo %ECHO_1% module_end
module_crontab
Les modules peuvent être programmés pour s'exécuter à des dates spécifiques selon le format suivant :
module_crontab <minute> <heure> <día> <moise> <jour de la semaine>
À savoir :
- Minute 0-59.
- Heure 0-23 .
- Jour du mois 1-31
- Mois 1-12 .
- Jour de la semaine 0-6 (0 est dimanche).
module_condition
module_condition <opération> <commande>
Il vous permet de définir les actions qui seront exécutées par l’agent en fonction de la valeur renvoyée par le module. Disponible uniquement pour les valeurs numériques. La syntaxe générale est la suivante :
- > [valeur]: Il exécute la commande lorsque la valeur du module est supérieure à la valeur donnée.
- < [valeur]: Il exécute la commande lorsque la valeur du module est mineure à la valeur donnée.
- = [valeur]: Il exécute la commande lorsque la valeur du module est égale à la valeur donnée.
- != [valeur]: Il exécute la commande lorsque la valeur du module est différente à la valeur donnée.
- =~ [expression régulière]: Il exécute la commande lorsque la valeur du module correspond à l’expression régulière donnée.
- (valeur, valeur): Il exécute la commande lorsque la valeur du module figure parmi les valeurs données.
Plusieurs conditions peuvent être spécifiées pour un même module.
Dans le système d’exploitation Windows®, il est conseillé de mettre cmd.exe /c avant la commande pour s’assurer qu’elle fonctionne correctement.
module_precondition
Permet de déterminer si le module doit être exécuté ou non en fonction du résultat d'une exécution donnée. La syntaxe est identique à celle de module_condition.
module_unit
module_unit <string>
Unités exprimées dans une chaîne de texte à afficher à côté de la valeur obtenue par le module, telle que le pourcentage (module_unit %), etc.
module_group
module_group <value>
Il permet d’indiquer le groupe de modules auquel le module sera affecté.
module_custom_id
module_custom_id <value>
Cette stratégie est un identificateur personnalisé pour le module.
module_str_warning
module_str_warning <value>
Il permet d'indiquer une expression régulière pour définir le seuil d’avertissement warning dans Modules alphanumériques (string).
module_str_critical
module_str_critical <value>
Il permet d'indiquer une expression régulière pour définir le seuil critique warning dans des Modules alphanumériques (string).
module_warning_instructions
module_warning_instructions <value>
Au niveau des informations, il indique les instructions qui seront affichées dans l’événement généré par le module lorsque passe à l’état d’avertissement warning.
module_critical_instructions
module_critical_instructions <value>
Au niveau des informations, il indique les instructions qui seront affichées dans l’événement généré par le module lorsque passe à l’état d’avertissement critical.
module_unknown_instructions
module_unknown_instructions <value>
Au niveau des informations, il indique les instructions qui seront affichées dans l’événement généré par le module lorsqu’il passe à l’état inconnu unknown.
module_tags
module_tags <value>
Étiquettes ou tags que vous souhaitez affecter au module, séparées par des virgules.
module_warning_inverse
module_warning_inverse <value>
Il permet d'activer (1) la plage inverse du seuil d’avertissement warning.
module_critical_inverse
module_critical_inverse <value>
Il permet d'activer ( 1) l’intervalle inverse pour le seuil critique critical.
module_native_encoding
Uniquement sur Win32.
module_native_encoding <value>
Ce token de configuration affecte uniquement les modules exécutés à l’aide d’une stratégie de commande, c’est-à-dire qu’il existe un module_exec présent.
MS Windows® gère trois codages pour ses processus: le codage en ligne de commande (OEM), l’encodage système (ANSI) et UTF-16. Ces codages coïncident dans les caractères de base, mais diffèrent dans ceux moins courants, tels que les accents. Avec ce token, l’agent Pandora FMS convertit la sortie de la commande en encodage spécifié dans le encoding du fichier de configuration.
module_native_encoding a quatre valeurs valides :
module_native_encoding OEM: Pour l’encodage en ligne de commande.module_native_encoding OEM: Pour le codage système.module_native_encoding UTFLE: Pour UTF-16 little-endian.module_native_encoding UTFBE: Pour UTF-16 little-endian.
Si module_native_encoding n’apparaît pas, aucun recodage ne sera effectué.
module_quiet
module_quiet <value>
S’il est activé ( 1) le module sera en mode silencieux : il ne générera pas d’événements ni ne déclenchera d’alertes, ni ne stockera de données historiques.
module_ff_interval
module_ff_interval <value>
Il permet d'indiquer un seuil Flip Flop dans le Module.
module_macro
module_macro<macro> <value>
Applicable uniquement aux composants locaux depuis la console Web. Sans utilité dans le fichier de configuration.
module_alert_template
module_alert_template
Cette macro affecte au Module créé le modèle d'alerte correspondant au nom saisi en paramètre (voir Modèles d'alerte ).
intensive_interval
Intervalle de supervision intensive. Les modules utilisant module_intensive_monitorig peuvent signaler si leur état est incorrect dans cette plage.
module_intensive_condition
Condition pour la supervision intensive. Lorsqu'un module de supervision intensive atteint la valeur configurée dans ce paramètre, il doit notifier dans le intervalle intensif définie.
module_end
Directives spécifiques pour l'obtention d'informations
Dans chaque module un seul de ces types peut être utilisé.
module_exec
module_exec <command>
Ligne générale d'exécution des commandes. L'exécution souhaitée doit être précisée pour obtenir les informations sur une seule ligne.
Sous Linux®, la commande sera exécutée via le shell par défaut. L'interpréteur par défaut est déterminé par le lien symbolique de /bin/sh. Normalement, le lien pointe vers bash, mais sur des systèmes comme Ubuntu®, ce n'est pas le cas. Une solution qui fonctionnera dans la plupart des cas sera de forcer l'exécution de la commande bash de la manière suivante :
module_exec bash -c "<command>"
Si l'exécution de la commande renvoie un code d'erreur (return code) différent de 0, la commande sera interprétée comme donnant une erreur et les données obtenues seront rejetées.
Pour un agent sous Windows®, il existe d'autres directives pour obtenir des données.
module_exec_powershell
Pour MS Windows® uniquement.
module_exec_powershell <commands>
Il permet d'effectuer vérifications natives avec PowerShell®.
module_service
module_service <service>
Il vérifie si un certain service est en cours d'exécution sur la machine.
Sur MS Windows®
Si le nom du service contient des espaces, vous devez utiliser des guillemets " ".
module_begin module_name Service_DHCP module_type generic_proc module_service Dhcp module_description Service DHCP Client module_end
Le service est identifié par le nom abrégé du service (Service name), tel qu'il apparaît dans le Gestionnaire de services Windows.
Mode asynchrone
Ajoutez la directive:
module_async yes
Cette fonctionnalité n'est pas prise en charge sur les agents Broker.
Dans les versions MS Windows Home Edition®, cette fonctionnalité asynchrone n'est pas prise en charge et, uniquement dans ces versions, l'Endpoint Pandora FMS effectue une requête périodique pour savoir si le service est en cours d'exécution ou non. Cela peut consommer beaucoup de ressources, il est donc recommandé d'utiliser la version synchrone si vous surveillez un grand nombre de services.
Watchdog de services
Il existe un mode de vigilance ou watchdog pour les services, afin que l'agent puisse les redémarrer s'ils s'arrêtent. Dans ce cas, le service redémarré ne nécessite aucun paramètre car Windows® sait déjà le faire. Ajoutez la directive:
module_watchdog yes
Sur Unix
Sous Unix, cela fonctionne de la même manière que sous MS Windows®, sauf que sous Unix, processus et service sont deux concepts identiques.
Le mode watchdog et la détection asynchrone ne sont pas possibles sur l'EndPoint Unix®.
Pour module_service, vous devez indiquer le chemin complet tel qu'il apparaît avec la commande ps aux. Par exemple, pour rechercher le service SSH :
ps aux | grep ssh
Il faut configurer :
module_service /usr/sbin/sshd -D
module_proc
module_proc <processus>
Vérifiez si un certain nom de processus est en cours d'exécution sur cette machine.
Sur MS Windows®
Les guillemets pour le nom du processus sont inutiles. Notez que le nom du processus doit avoir l'extension .exe. Le module renverra le nombre de processus en cours d'exécution avec ce nom.
Ce serait un exemple de la supervision du processus cmd.exe >
module_begin module_name CMDProcess module_type generic_proc module_proc cmd.exe module_description Process Command line module_end
Mode asynchrone
Comme pour les services, les processus de supervision peuvent être critiques dans certains cas. L'EndPoint pour Windows® prend désormais en charge les vérifications asynchrones du paramètre module_proc. Dans ce cas, l'Agent avertit immédiatement lorsque le processus change d'état, sans attendre l'expiration de l'intervalle d'exécution de l'Agent. De cette façon, vous pouvez être au courant des temps d'arrêt des processus critiques presque dès qu'ils se produisent. Exemple de supervision de processus asynchrone :
module_begin module_name Notepad module_type generic_proc module_proc notepad.exe module_description Notepad module_async yes module_end
La différence réside dans le token de configuration module_async yes.
Cette fonctionnalité n'est pas prise en charge sur les agents Broker.
Watchdog de processus
Un Watchdog est un système qui vous permet d'agir immédiatement lorsqu'un processus plante, généralement en levant le processus qui a planté. L'EndPoint Pandora FMS pour Windows® peut agir en tant que watchdog lorsqu'un processus se bloque.
Étant donné que l'exécution d'un processus peut nécessiter certains paramètres, il existe des options de configuration supplémentaires pour ces types de modules.
Il est important de noter que le mode Watchdog ne fonctionne que lorsque le type de module est asynchrone.
Exemple de configuration d'un module_proc avec watchdog :
module_begin module_name Notepad module_type generic_proc module_proc notepad.exe module_description Notepad module_async yes module_watchdog yes module_start_command c:\windows\notepad.exe module_startdelay 3000 module_retrydelay 2000 module_retries 5 module_end
Voici la définition des paramètres supplémentaires pour module_proc avec Watchdog :
module_retries
Nombre de tentatives consécutives que le Module essaiera de lancer le processus avant de désactiver le Watchdog . Si la limite est atteinte, le mécanisme Watchdog de ce Module sera désactivé et ne tentera plus de relancer le processus tant que l'Agent n'aura pas redémarré. Valeur par défaut : Illimitée.
module_startdelay
Nombre de millisecondes que le module attendra avant de lancer le processus pour la première fois.
module_retrydelay
Nombre de millisecondes que le module attendra avant de lancer le processus pour la première fois.
module_user_session
Contrôle dans quelle session vous voulez que le processus se lance. S'il est défini sur no, le processus démarrera dans la session de services et, par conséquent, restera en arrière-plan (option par défaut). Sinon, s'il est défini sur yes, le processus sera lancé dans la session de l'utilisateur et sera visible depuis le bureau du PC.
Pour les versions antérieures à Windows Vista®, le jeton module_user_session peut être configuré de manière générale en activant la case « Accès interactif avec le bureau » dans les propriétés du service Pandora FMS :
Pandora FMS, en tant que service, s'exécute sous le compte SYSTEM et que le processus exécuté le fera sous cet utilisateur et avec cet environnement, de sorte que si vous devez exécuter un processus spécifique qui doit être utilisé avec un utilisateur spécifique, vous devez encapsuler dans un script ( .bat ou similaire) les processus précédents pour initialiser l'environnement, les variables d'environnement, etc.), et exécuter ce script en tant qu'action Watchdog.
Sur Unix
Sous Unix, cela fonctionne exactement de la même manière que module_service . Il ne prend pas non plus en charge le mode asynchrone ou watchdog.
module_cpuproc
Unix uniquement
module_cpuproc
Il renvoie l'utilisation spécifique du processeur d'un processus. Exemple.
module_begin module_name myserver_cpu module_type generic_data module_cpuproc myserver module_description Process Command line module_end
module_memproc
module_memproc
Unix uniquement. Il renvoie la consommation de mémoire spécifique d'un processus.
module_begin module_name myserver_mem module_type generic_data module_memproc myserver module_description Process Command line module_end
module_freedisk
module_freedisk <disk_letter:>|<vol>
Il vérifie l'espace libre sur l'unité.
Sous Windows®
Vous devez mettre : après la lettre du lecteur (<disk_letter:>).
module_begin module_name freedisk module_type generic_data module_freedisk C: module_end
Sous Unix®
Le volume à vérifier, tel que /var .
module_begin module_name disk_var module_type generic_data module_freedisk /var module_end
module_freepercentdisk
module_freepercentdisk <disk_letter:>|<vol>
Ce module renvoie le pourcentage de disque libre dans un lecteur logique.
Sous Windows
Vous devez mettre : après la lettre du lecteur (<disk_letter:>).
module_begin module_name freepercentdisk module_type generic_data module_freepercentdisk C: module_end
Sur Unix
Le volume à vérifier, tel que /var .
module_begin module_name disk_var module_type generic_data module_freepercentdisk /var module_end
module_occupiedpercentdisk
module_occupiedpercentdisk <vol>
Pour Unix uniquement. Ce module renvoie le pourcentage de disque occupé, par exemple :
module_begin module_name disk_var module_type generic_data module_occupiedpercentdisk /var module_end
module_cpuusage
module_cpuusage [<cpu id>|all]
Il renvoie l'utilisation du processeur dans un certain numéro d'UCT. S'il n'y a qu'un seul processeur, ne définissez aucune valeur ou utilisez la valeur all. Pour Windows® et Unix.
Il est également possible d'obtenir l'utilisation moyenne de tous les processeurs d'un système multiprocesseur :
module_begin module_name CPU_use module_type generic_data module_cpuusage all module_description CPU average use module_end
Pour vérifier l'utilisation de l'UCT #1 :
module_begin module_name CPU_1 module_type generic_data module_cpuusage 1 module_description CPU #1 average use module_end
module_freememory
Il fonctionne à la fois sur Unix et Windows®. Il renvoie la mémoire libre sur l'ensemble du système.
module_begin module_name FreeMemory module_type generic_data module_freememory module_description Non-used memory on system module_end
module_freepercentmemory
Il fonctionne à la fois sur Unix et Windows®. Ce module renvoie le pourcentage de mémoire libre sur un système :
module_begin module_name freepercentmemory module_type generic_data module_freepercentmemory module_end
module_tcpcheck
MS Windows® uniquement. Ce module initie la connexion avec l'adresse IP et le port spécifiés. Il renvoie 1 en cas de succès et 0 sinon. Un délai d'expiration doit être spécifié avec module_timeout. Exemple :
module_begin module_name tcpcheck module_type generic_proc module_tcpcheck www.pandorafms.com module_port 80 module_timeout 5 module_end
module_regexp
Il s'agit d'un module de surveillance et de collecte de logs à partir de texte brut, sous Microsoft Windows® et Linux. Utilisé en conjonction avec module_pattern et module_pattern_exclude. Si vous voulez capturer des événements sur Windows, vous devez utiliser une autre méthode pour les capturer (module_logchannel).
module_begin module_name Syslog module_description Sample log collection of syslog messages file module_type log module_regexp /var/log/messages module_pattern .* module_pattern_exclude <regexp to exclude> module_end
Ce type de module surveille un log à la recherche de correspondances à l'aide d'expressions régulières, en écartant les lignes existantes au début de la surveillance. Les données renvoyées par le module dépendent du type de module:
generic_data_string,async_string: Renvoie toutes les lignes correspondant à l'expression régulière.generic_data: Renvoie le nombre de lignes correspondant à l'expression régulière.generic_proc: Renvoie1s'il y a une correspondance,0sinon.module_noseekeof: Par défaut inactif,0. Avec cette configuration token active (1) à chaque exécution, indépendamment des modifications dans le fichier log, le module recommence sa vérification sans chercher la fin du fichier (flagEOF). De cette manière, il obtiendra toujours dans le XML toutes les lignes qui correspondent au motif de recherche.log: Utilisé pour la collecte des logs (qui est différente de la supervision). Voir plus de détails dans la section Collecte de logs. Si vous souhaitez capturer toutes les informations log, vous devez inclure:
module_pattern .*
- Ce module fonctionne légèrement différemment sous Windows et Linux, car
module_pattern_excluden'est supporté que sous Linux. Pour le reste, le fonctionnement est identique. module_pattern_excludeest optionnel et peut ne pas exister dans la définition du module.
module_wmiquery
Windows® uniquement. Les modules WMI vous permettent d'exécuter n'importe quelle query WMI localement sans utiliser d'outil externe. Il est configuré au moyen de deux paramètres :
- module_wmiquery : WQL query employée. Plusieurs lignes peuvent ainsi être obtenues, qui seront insérées comme plusieurs données.
- module_wmicolumn : Nom de la colonne à utiliser comme source de données.
Par exemple, pour une liste des services installés :
module_begin module_name Services module_type generic_data_string module_wmiquery Select Name from Win32_Service module_wmicolumn Name module_end
Pour obtenir la charge de l'UCT actuelle :
module_begin module_name CPU_speed module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_end
module_perfcounter
Uniquement pour MS Windows®.
Obtenez des données de compteur de performances via l'interface PDH. La bibliothèque pdh.dll doit être installée sur le système. PDH.DLL est une bibliothèque Windows, si elle n'est pas disponible, vous devez installer l'outil d'analyse des performances de Windows®, qui est généralement fourni par défaut.
module_begin module_name perfcounter module_type generic_data module_perfcounter \Memory\Pages/sec module_end
Le moniteur de performance Windows® est un outil très puissant avec des centaines de paramètres qui peuvent être utilisés pour le monitorage. De plus, chaque constructeur intègre ses propres compteurs.
Vous pouvez observer les compteurs de performance à l'aide de l'outil Performance :
De nouveaux compteurs de performances peuvent être ajoutés à l'aide de l'outil système. Sa configuration a une structure hiérarchique avec des éléments et des sous-éléments. Dans ce cas Processeur , % de temps de processeur et _Total :
La configuration du module pour ce contrôle particulier est la suivante :
module_begin module_name Processor_Time module_type generic_data_inc module_perfcounter \Processeur(_Total)\% Temps processeur module_end
Par défaut la valeur brute du compteur est affichée, pour obtenir la valeur cuite vous pouvez ajouter le paramètre module_cooked 1 :
module_begin module_name Disk_E/S_Seg module_type generic_data module_cooked 1 module_perfcounter \PhysicalDisk(_Total)\I/O divisé par sec. module_end
Une grande partie des données qu'il renvoie sont des compteurs, vous devrez donc utiliser generic_data_inc comme type de données. Il peut également renvoyer des valeurs à des échelles de données très élevées (plusieurs millions), vous pouvez donc réduire ces valeurs à l'aide du post-traitement du module, avec des valeurs telles que 0,000001 ou similaire.
module_inventory
Actuellement, cette fonctionnalité a été remplacée par l' inventaire des plugins Agent sur les systèmes Windows® et Linux/Unix®.
module_logevent
Actuellement, module_logchannel est l'option recommandée, car module_logevent a été supprimé et est conservé pour des raisons de compatibilité ascendante.
module_logchannel
Il est utilisé pour collecter les événements natifs de Microsoft Windows® et les transformer en informations en texte clair, avec des attributs étendus stockés en JSON, collectés en tant que log par le collecteur logs de Pandora FMS. Auparavant, il devra être activé et configuré, comme décrit dans la section Collecte des logs.
La syntaxe de base est décrite en détail dans ce chapitre, voici une référence de base à la syntaxe de ce module:
module_begin module_name MyEvent module_type log module_logchannel module_source <source> module_eventtype <event_type/level> module_eventcode <event_id> module_application <application> module_pattern <regexp to match> module_source_type <log type, only SIEM> module_end
Où module_source est le seul champ obligatoire spécifique à ce type de module.
Le module_name est plus pertinent qu'il n'y paraît car de nombreuses règles SIEM sont déclenchées sur un nom d'application spécifique, et ce nom est défini dans le module_name. En fait, pour les événements de type SysMon, le nom doit être concret, et il en va de même pour de nombreuses règles SIEM.
module_plugin
Pour exécuter les plugins de l'Agent . C'est un cas particulier puisqu'il ne nécessite aucune autre étiquette de type module_begin ou module_end, ni d'indiquer le type de Module.
Syntaxe avec leurs paramètres respectifs :
module_plugin plugin_filename parameter_1 parameter_2 (...) parameter_X
Cependant, il est également possible de l'utiliser entre les étiquettes des Modules habituelles pour ajouter des options supplémentaires telles que des conditions ou un intervalle :
module_begin module_plugin plugin_filename parameter_1 parameter_2 (...) parameter_X module_interval 2 module_condition (0, 1) script.sh module_end
Les paramètres à utiliser seront différents pour chaque plugin, il faudra donc se référer à sa documentation particulière. Pour décrire le fonctionnement d'un des plugins livrés par défaut avec l'Agent, le plugin grep_log sert d'exemple pour rechercher des correspondances dans un fichier :
module_plugin grep_log /var/log/syslog Syslog ssh
Dans cet exemple, le nom du plugin s'appelle « grep_log » et il cherchera dans le fichier « /var/log/syslog » l'expression régulière « ssh » et l'enregistrera dans un module appelé « Syslog ».
Exemple d'appel de plugin dans un Agent Windows :
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df_percent.vbs"
module_ping
Pour Windows® uniquement .
module_ping
Ce module ping le ou les hôtes spécifiés et renvoie 1 s'il est en ligne.
Réglages :
- module_ping_count x : Nombre de paquets ECHO_REQUEST à envoyer (1 par défaut).
- module_ping_timeout x : Délai d'attente en millisecondes pour chaque réponse (1 000 par défaut).
- module_advanced_options : Options avancées pour
ping.exe.
Exemple :
module_begin module_name Ping module_type generic_proc module_ping 192.168.1.1 module_ping_count 2 module_ping_timeout 500 module_end
module_snmpget
Pour MS Windows® uniquement.
module_snmpget
Ce module exécute une requête SNMP get et renvoie la valeur demandée. Les paramètres de configuration doivent être spécifiés sur les lignes suivantes comme ceci :
- module_snmpversion [1_2c_3] : Version SNMP (1 par défaut).
- module_snmp_community : Communauté SNMP ( public par défaut).
- module_snmp_agent : Agent SNMP cible.
- module_snmp_oid : OID cible.
- module_advanced_options : Options avancées pour
snmpget.exe.
Exemple :
module_begin module_name SNMP get module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.1.1 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148 module_end
module_wait_timeout
Pour MS Windows® uniquement.
Délai d'expiration à utiliser lors du contrôle de la sortie des modules module_exec et module_plugin.
module_wait_timeout X
Valeur par défaut : 500 millisecondes.
Lors de la collecte d'un grand nombre de données (plus de deux millions d'octets), cette valeur peut être diminuée à 10 millisecondes afin que les remplissages et les traitements des tampons (blocs de seize mille octets) soient gérés rapidement, augmentant ainsi les performances du serveur PFMS. À utiliser à la discrétion de l'utilisateur ; dans les autres cas, il faut éviter de modifier cette valeur par défaut.
module_advanced_options
Seulement pour MS Windows®.
module_advanced_options <parameter>
Pour module_pinget module_snmpgetlet, utilisez des paramètres supplémentaires. Par exemple, pour ping, il peut spécifier une taille de paquet de 512 octets :
module_advanced_options -l 512
module_pattern
Voir module_regexp.
module_pattern_exclude
Voir module_regexp.
Configuration automatique des agents
Introduction
Version NG 725 ou supérieure.
Dans le processus de configuration automatique de l'agent, vous pouvez établir une série de règles afin qu'elles soient configurées automatiquement et cela fonctionne comme suit :
- Préparez les configurations automatiques dans votre Console Pandora FMS ou Métaconsole Pandora FMS.
- Installez les agents qui rapportent à votre Pandora FMS (si vous avez une Métaconsole avec le système de provisionnement automatique configuré, définissez la Métaconsole elle-même comme serveur).
- Le serveur Pandora FMS recevra un XML (
.data) avec les données de l'agent pour la première fois. - Les règles seront évaluées pour déterminer la configuration automatique à appliquer.
- L'agent récupérera la nouvelle configuration et signalera au cycle suivant la configuration mise à jour.
Création/modification de la configuration automatique
Console
Accédez à la gestion des configurations automatiques via Configuration → Manage agent autoconfiguration:
Métaconsole
Accédez à Centralised management → Agent management → icône de configuration automatique des agents:
Une fois que vous accédez à la page d'administration, vous pouvez créer de nouvelles configurations automatiques en cliquant sur « Créer une configuration automatique » (Add new configuration definition). Vous devrez choisir un nom et une description pour votre configuration automatique.
Version 764 ou supérieure:
Elle permet d'exécuter périodiquement la tâche d'autoconfiguration en fonction du fuseau horaire du serveur PFMS.
Une fois la nouvelle configuration automatique créée, vous pouvez afficher les formulaires de configuration en cliquant sur la section dont vous avez besoin:
Règles
Pour définir les Agents sur lesquels la configuration automatique sera appliquée, vous pouvez d'abord ajouter des règles pour les identifier.
Déployez la section des règles dans votre configuration automatique et sélectionnez « Ajouter une nouvelle règle » (Add new rule). Vous pouvez choisir une série d'options dans le sélecteur de règles pour identifier les agents qui vont être configurés.
Server name
Correspondance sur le nom du serveur.
Group name
Correspondance sur le nom du groupe.
OS
Correspondance du nom du système d'exploitation à l'aide d'expressions régulières.
Custom field
Correspondance par clé/valeur basée sur un champ personnalisé signalé par l'agent. Indiquez le nom du champ personnalisé et la valeur qu'il doit avoir.
IP range
Correspondance par plage d'adresses IP (réseau), utilisez la notation IP/masque, par exemple :
192.168.1.0/24
Script output (> 0)
Destiné à exécuter un script dont le résultat d'exécution est évalué comme valide lorsque la sortie standard est supérieure à 0.
Appelle au script de règles
Il prend en charge les macros suivantes dans le champ « arguments » (vous pouvez choisir entre les opérateurs AND et OR pour modifier la logique des règles) :
- _agent_ : Il sera remplacé par le nom de l'Agent.
- _agentalias_ : Il sera remplacé par l'alias de l'Agent.
- _address_ : Il sera remplacée par l'adresse IP principale communiquée par l'Agent.
- _agentgroup_ : Il sera remplacé par le nom du groupe rapporté par l'Agent.
- _agentos_ : Il sera remplacé par le système d'exploitation de l'Agent.
Si vous n'ajoutez aucune règle, les paramètres automatiques ne seront pas appliqués. Si vous avez besoin d'une configuration unique pour tous les agents, vous pouvez utiliser l'expression régulière suivante pour faire correspondre n'importe quel alias : .*
Configurations
- Groupe d'agents : Vous pouvez le laisser inchangé ou le forcer à être un groupe spécifique.
- Groupes secondaires : Les groupes sélectionnés ici seront ajoutés en tant que groupes secondaires à l'agent.
- Bloc de configuration : Il ajoute la configuration brute supplémentaire au fichier de configuration de l'agent.
- Politiques : Vous pouvez sélectionner les politiques à appliquer automatiquement lorsque l'agent atteint le serveur. S'il y a plusieurs politiques de supervision, vous pouvez spécifier une priorité (zéro par défaut) et celles qui ont la valeur numérique la plus élevée seront appliquées en premier (il est recommandé d'utiliser des valeurs singulières).
Si vous essayez d'accéder à la gestion automatique de la configuration à partir d'un nœud appartenant à un centre de commande (Metaconsole), avec la gestion centralisée active, la vue sera en lecture seule.
Actions supplémentaires
À partir de cette section, vous pouvez associer d'autres actions à l'autoconfiguration, telles que :
- Lancer un événement personnalisé (Launch custom event).
- Exécuter une action d'alerte (Launch alert action).
- Exécuter un script (Launch script).
Le système prend en charge les macros suivantes :
_agent_
Il sera remplacé par le nom de l'Agent.
_agentalias_
Il sera remplacé par l'alias de l'Agent.
_address_
Il sera remplacée par l'adresse IP principale communiquée par l'agent.
_agentgroup_
Il sera remplacé par le nom du groupe rapporté par l'Agent.
_agentos_
Il sera remplacé par le système d'exploitation de l'Agent.
_agentid_
Il est remplacé par l'ID de l'agent.
Agents Unix/Linux
Configuration des agents Unix de Pandora FMS
Les chemins et répertoires fondamentaux à prendre en compte sont :
/usr/share/pandora_agent: Où l'agent Pandora FMS est installé. Sur les systèmes où la stratégie ne le permet pas, il est recommandé de créer un lien vers ce chemin à partir du chemin d'installation réel, par exemple/opt/pandora→/usr/share/pandora_agent./etc/pandora/pandora_agent.conf: Fichier de configuration principal de l'agent. Les modules d'exécution locaux et les plugins d'agent sont configurés ici./usr/local/bin/pandora_agent> Binaire exécutable de l'agent. Il a généralement un lien vers/usr/bin/pandora_agent./usr/local/bin/tentacle_client> Binaire exécutable Tentacle, pour transférer des fichiers vers le serveur. Il a généralement un lien vers/usr/bin/tentacle_client.systemctl pandora_agent_daemon> Script de démarrage/arrêt/redémarrage. Sur les systèmes AIX, le démon est/etc/rc.pandora_agent_daemon./var/log/pandora/pandora_agent.log> Fichier texte dans lequel l'activité de l'Agent Pandora FMS est enregistrée, lorsque l'Agent est exécuté en mode débogage./etc/pandora/plugins> Répertoire contenant les plugins de l'agent. Il est lié au répertoire/usr/share/pandora_agent/plugins./etc/pandora/collections> Répertoire contenant les collections déployées sur l'Agent. Il est lié au répertoire/usr/share/pandora_agent/collections.
Lancement initial de l'agent Unix
Pour démarrer l'Agent, il suffit d'exécuter :
systemctl start pandora_agent_daemon
Pour arrêter l’agent, exécutez :
systemctl stop pandora_agent_daemon
Ce script de démarrage sera en mesure de démarrer ou d’arrêter l’agent Pandora FMS, qui, une fois démarré, s’exécutera par défaut dans le système comme un démon.
Options de base de l'agent
Si l'EndPoint a la configuration à distance activée et correspond à une version 774 ou ultérieure, les options suivantes peuvent être activées dans la section Basic options de la configuration de l'agent dans la Console Web.
- Enable security hardening monitoring : Il permet au plugin de renforcer la sécurité sur l'appareil supervisé. Les options suivantes seront activées dans le fichier de configuration :
#Hardening plugin for security compliance analysis. Enable to use it. module_begin module_plugin /usr/share/pandora_agent/plugins/pandora_hardening -t 150 module_absoluteinterval 7d module_end
Les paramètres sont fixés à un délai d'exécution de 150 secondes (-t 150) à un intervalle de 7 jours (7d).
- Enable log collection : Cela permettra de collecter les fichiers journaux pour une analyse judiciaire et de stocker tous les journaux. Les options suivantes doivent être activées dans le fichier de configuration :
# This is for LOG COLLECTION monitoring, different than log monitoring. module_plugin grep_log_module /var/log/messages Syslog \.\*
- Enable inventory : Il active l'option de supervision de l'inventaire. Les options suivantes seront activées dans le fichier de configuration :
# Plugin for inventory on the agent. module_plugin inventory 1 cpu ram video nic hd cdrom software init_services filesystem users route
Modifier la façon dont les agents Unix obtiennent des informations système
Certains modules obtiennent les informations de manière prédéfinie sans qu’il soit nécessaire d’indiquer une commande avec module_exec. Ces modules sont les suivants :
- module_procmem
- module_freedisk
- module_freepercentdisk
- module_cpuproc
- module_proc
- module_procmem
- module_cpuusage
- module_freememory
- module_freepercentmemory
Il est possible de modifier le fonctionnement de ces Modules par défaut en éditant directement l’exécutable de l’Agent (par défaut /usr/bin/pandora_agent). L’agent Pandora FMS est généralement situé à /usr/bin/pandora_agent.
Recherchez la chaîne Commands to retrieve qui contient le code qui contient les commandes internes. Vous pouvez bien apporter les modifications dont vous avez besoin pour les adapter au système.
# Commands to retrieve total memory information in kB
use constant TOTALMEMORY_CMDS => {
linux => 'cat /proc/meminfo | grep MemTotal: | awk \'{ print $2 }\,
solaris => 'MEM=`prtconf | grep Memory | awk \'{print $3}\'` bash -c \'echo $(( 1024 * $MEM ))\,
hpux => 'swapinfo -t | grep memory | awk \'{print $2}\
};
# Commands to retrieve partition information in kB
use constant PART_CMDS => {
# total, available, mount point
linux => 'df -P | awk \'NR> 1 {print $2, $4, $6}\,
solaris => 'df -k | awk \'NR> 1 {print $2, $4, $6}\,
hpux => 'df -P | awk \'NR> 1 {print $2, $4, $6}\,
aix => 'df -kP | awk \'NR> 1 {print $2, $4, $6}\
};
Pour modifier l’une des commandes prédéfinies, modifiez simplement le code pour modifier la commande, mais soyez prudent avec les aspects suivants :
- Vérifiez que les blocs
{ };se terminent toujours par des points-virgules. - Vérifiez que les commandes sont placées entre guillemets simples :
' '. - À votre tour, dans ces guillemets, vous aurez peut-être besoin d’un autre guillemet supplémentaire avec
` `(notez bien l’exemple ci-dessus). - Vérifiez que tous les guillemets simples que vous souhaitez utiliser dans la commande sont précédemment échappés avec le caractère
\, c'est-à-dire\'. Par exemple, cette commande serait normalement :
df -P | awk 'NR> 1 {print $2, $4, $6}'
Vous devez l’écrire comme suit :
df -P | awk \'NR> 1 {print $2, $4, $6}\'
Agents Windows de Pandora FMS
Configuration de l’agent Pandora FMS pour Windows
Les chemins d’accès et répertoires fondamentaux dans les installations de l’Agent pour MS Windows® se trouvent dans le répertoire où l’Agent est installé, par défaut %ProgramFiles%.
Les plus importants à garder à l’esprit sont :
%ProgramFiles%\pandora_agent
Où l’agent Pandora FMS, son exécutable et ses répertoires sont installés.
%ProgramFiles%\pandora_agent\pandora_agent.conf
Fichier de configuration principal de l'agent. Les modules d'exécution locaux et les plugins d'agent sont configurés ici.
%ProgramFiles%\pandora_agent\PandoraAgent.exe
Binaire exécutable de l’agent.
%ProgramFiles%\pandora_agent\util\tentacle_client.exe
Exécutable binaire Tentacle, pour le transfert de fichiers vers le serveur.
%ProgramFiles%\pandora_agent\scripts
Les scripts de démarrage/arrête/redémarrage de l'agent Pandora FMS.
%ProgramFiles%\pandora_agent\pandora_agent.log
Fichier texte où l’activité de l’agent Pandora FMS est enregistrée, lorsque l’agent est exécuté en mode débogage.
%ProgramFiles%\pandora_agent\util
Répertoire qui contient les plug-ins de l’agent.
%ProgramFiles%\pandora_agent\collections
Répertoire qui contient les collections de l’agent.
Options de base de l'agent pour MS Windows
Lorsque l'EndPoint a Configuration à distance activée et que la version installée est 774 ou ultérieure, les options suivantes peuvent être activées dans la section Basic options de la configuration de l'agent dans la console Web.
- Enable inventory: Il active l'option de supervision de l'inventaire. Les paramètres suivants doivent être activés dans le fichier de configuration :
module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\cpuinfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\moboinfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\diskdrives.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\cdromdrives.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\videocardinfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\ifaces.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\monitors.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\printers.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\raminfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\software_installed.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\userslogged.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\productkey.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\productID.vbs" module_crontab * 12-15 * * 1 module_end
- Enable security hardening monitoring : Il active le plugin pour renforcer la sécurité sur l'appareil supervisé. Les paramètres suivants seront activés dans le fichier de configuration :
#Hardening plugin for security compliance analysis. Enable to use it. module_begin module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_hardening.exe -t 150" module_absoluteinterval 7d module_end
Lorsque les options sont réglées sur un délai d'exécution de 150 secondes (-t 150) à un intervalle de 7 jours (7d) en tant que période de l'agent.
- Enable log collection : Cette fonction permet de collecter les fichiers journaux à des fins d'analyse judiciaire et de stocker tous les journaux. Les paramètres suivants doivent être activés dans le fichier de configuration :
module_begin module_name PandoraAgent_log module_type generic_data_string module_regexp C:\archivos de programa\pandora_agent\pandora_agent.log module_description This module will return all lines from the specified logfile module_pattern .* module_end
Options de sécurité des agents pour MS Windows
Pour l'EndPoint PFMS version 775 ou ultérieure, un plugin est inclus et est désactivé par défaut. Pour l'activer, vous devez uncomment suivre les instructions suivantes dans le fichier de configuration :
# Pandora basic security check plugin for windows. #module_begin #module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_security_win.exe" #module_end
Une fois que l'EndPoint a été redémarré, les modules suivants de l'agent sont collectés :
- Antivirus installé et en cours d'exécution, qu'il s'agisse d'un antivirus Microsoft ou d'un antivirus tiers, et si ses définitions de virus sont à jour (deux modules). Sur MS Windows Server®, cette fonction n'est pas disponible et les modules ne sont donc pas créés.
- Vérifier si le verrouillage automatique de l'écran est actif (État du verrouillage de l'écran), ce qui protège le compte de l'utilisateur lorsqu'il laisse l'ordinateur sans surveillance, sans activité de la souris et du clavier (un module).
- Vérifiez si MS Windows® a été mis à jour (Windows updated®) il y a une semaine ou moins (un module).
- État du pare-feu, activé ou non (trois modules, un pour chaque profil firewall : Réseau de domaine, Réseau privé et Réseau public).
- Vérification que tous les comptes locaux ont un mot de passe (un module).
- Un module est dédié au contrôle de l'activation ou non du journal des tentatives de sessions échouées (uniquement pour les systèmes d'exploitation installés en anglais et en espagnol).
Déploiement automatique des EndPoints
Vous pouvez déployer des EndPoints à l’aide du centre de déploiement via le système Discovery, plus d’informations dans ce lien.
Mise à jour automatique des EndPoints
L’utilisation des collections de fichiers et de l’outil pandora_update peut fournir un moyen de « mettre à jour automatiquement » les EndPoints.
L’outil pandora_update a besoin du module Perl Digest::MD5 pour fonctionner. À partir de la version 5.14 de Perl, ce module est intégré par défaut, mais dans les versions précédentes, vous devrez l’installer manuellement.
Il fonctionne comme suit :
1. Les agents reçoivent de nouveaux fichiers binaires dans le répertoire d'entrée des collections.
Exemple dans Windows® :
%ProgramFiles%\pandora_agent\collections\fc_1\PandoraAgent.exe
Exemple sous Linux® :
/etc/pandora/collections/fc_1/pandora_agent
2. L’agent exécute le pluginpandora_update. Ce plugin reçoit un seul paramètre : le nom court de la collection (dans cet exemple, fc_1). Il analysera le répertoire de la collection à la recherche du binaire de l’agent (et non de l’ensemble du programme d’installation), comparera le binaire situé dans la collection avec celui en cours d’exécution et, s’il est différent, pandora_update arrêtera l’agent, remplacera le binaire et redémarrera l’agent à l’aide du nouveau binaire.
Pour mettre à jour différentes architectures, vous devez établir une collection différente pour chaque architecture. Par exemple, si vous souhaitez mettre à jour des agents Windows® 32 bits et 64 bits, vous devez créer deux collections et chacune d’elles inclut le fichier binaire PandoraAgent.exe correspondant.
3. Pandora_update il écrit également dans un petit log l’événement mis à jour, pour pouvoir récupérer lors de la prochaine exécution et avertir l’utilisateur (à l’aide d’un module async_string) du processus de mise à jour de l’agent.
Cela implique que les modules utilisés pour terminer le processus de mise à jour peuvent être configurés pour avoir un intervalle élevé.
Installation standard d’Unix
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /etc/pandora/plugins/pandora_update fc_1 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora agent and update itself module_end
Installation personnalisée Unix
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /var/opt/PandoraFMS/etc/pandora/plugins/pandora_update fc_1 /var/opt/PandoraFMS 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora agent and update itself module_end
La commande pandora_update accepte comme deuxième paramètre le chemin du répertoire d’installation pandora FMS, il n’est pas nécessaire de le spécifier si l’installation a été effectuée dans le chemin par défaut.
Windows®
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec pandora_update.exe fc_1 module_description Module to check new version of pandora agent and update itself module_end
Auto-création d’agents et de modules à partir de XML
Les agents peuvent être configurés à partir de la console en trois modes de fonctionnement:
- Mode d’apprentissage: Si le code XML reçu de l’EndPoint contient de nouveaux modules, ceux-ci seront automatiquement créés. Il s’agit du comportement par défaut.
- Mode normal: Aucun nouveau module n’arrivera dans le code XML s’il n’a pas été précédemment déclaré dans la console.
- Mode désactivation automatique: Semblable au mode d’apprentissage, dans ce mode, en outre, si tous les modules passent à un état inconnu, l’agent sera désactivé automatiquement, redevenant activé s’il reçoit de nouvelles informations.
Données mises à jour à partir d’un module existant à la réception d’un code XML
Lorsque vous recevez un XML qui contient des informations provenant d’un module existant, seules la description et les informations étendues sont mises à jour, en plus des données du module.
Les données SIG sont toujours mises à jour (si elles sont activées), que le mode d’apprentissage soit désactivé ou non.













