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 debug est 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:

  1. 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é.
  2. Il permet de spécifier l'intervalle en secondes, minutes, heures ou jours (e.g., 30s, 5m, 1h, 7d).
  3. Il est possible de configurer les modules pour qu'ils ne s'exécutent qu'une seule fois en spécifiant once comme 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 sur 1. 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é avec 0.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.

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

Étiquette de finale d’un module.

Cette balise, tout comme module_begin, est obligatoire.

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: Renvoie 1 s'il y a une correspondance, 0 sinon.
  • 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_exclude n'est supporté que sous Linux. Pour le reste, le fonctionnement est identique.
  • module_pattern_exclude est 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

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

module_pattern_exclude

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 :

  1. Préparez les configurations automatiques dans votre Console Pandora FMS ou Métaconsole Pandora FMS.
  2. 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).
  3. Le serveur Pandora FMS recevra un XML (.data) avec les données de l'agent pour la première fois.
  4. Les règles seront évaluées pour déterminer la configuration automatique à appliquer.
  5. 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 ConfigurationManage agent autoconfiguration:

Métaconsole

Accédez à Centralised managementAgent 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 :

  1. Lancer un événement personnalisé (Launch custom event).
  2. Exécuter une action d'alerte (Launch alert action).
  3. 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 :

  1. Vérifiez que les blocs { }; se terminent toujours par des points-virgules.
  2. Vérifiez que les commandes sont placées entre guillemets simples : ' ' .
  3. À votre tour, dans ces guillemets, vous aurez peut-être besoin d’un autre guillemet supplémentaire avec ` ` (notez bien l’exemple ci-dessus).
  4. 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.

← Retour à l'index de la documentation de Pandora FMS