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

# If set to 1 allows the agent to be configured via the web console
# When is set to 1, local .conf file changes are overwritten.
# Set to 0 if you want to edit the .conf file 
remote_config 1

Active (1) ou désactive (0) la configuration à distance des EndPoints. Cette fonctionnalité n'est disponible qu'avec le mode de transfert Tentacle.

Lorsque la configuration à distance est activée, toute modification qui n'est pas effectuée depuis la console web de Pandora FMS sera ignorée et remplacé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

Facultatif : indique à l'Endpoint de ne pas exécuter ce module. Par défaut, cette option est activée (0) implicitement; elle est désactivée explicitement (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 0

Facultatif : permet de définir une conversion (toujours une multiplication) de la donnée reçue par le module (post-traitement de la valeur). Prend en charge les valeurs décimales. Désactivé par défaut (0).

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_condition 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_start_command

module_start_command <path>\<application_name>

Uniquement pour MS Windows®. Utilisé dans les modules asynchrones et watchdog de processus, il permet de spécifier l'application à surveiller.

module_startdelay

module_startdelay 0

Utilisé avec module_start_command pour insérer, en millisecondes, une pause avant sa première exécution (watchdog des processus).

module_retrydelay

module_retrydelay 0

Utilisé avec module_start_command pour spécifier, en millisecondes, le délai d'attente avant de relancer une application (watchdog des processus).

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

Uniquement pour MS Windows®.

module_advanced_options <parameter>

Les commandes module_ping et module_snmpget permettent d'utiliser des paramètres supplémentaires. Pensez à spécifier le protocole IPv6, entre autres options.

module_pattern

module_pattern_exclude

Configuration automatique des agents

Introduction

Dans le processus d'autoconfiguration des EndPoints, une série de règles peut être établie pour qu'ils se configurent de manière automatique ; cela fonctionne de la manière suivante :

  1. Préparez les configurations automatiques dans la Console web de Pandora FMS ou via le Command Center Pandora FMS.
  2. Installez les EndPoints remontant vers Pandora FMS Server ; si vous disposez d'un Command Center avec le système d'auto-approvisionnement configuré, définissez le Command Center lui-même comme serveur.
  3. Pandora FMS Server recevra un XML (.data) avec les données de l'EndPoint pour la première fois.
  4. Les règles seront évaluées pour déterminer la configuration automatique à appliquer.
  5. L'EndPoint récupérera la nouvelle configuration et remontera les informations lors du cycle suivant avec la configuration mise à jour.

Création et édition de l'autoconfiguration d'agents

Nœuds :
Menu Management → Configuration → Manage agent autoconfiguration.

Command Center :
Menu Centralised management → Agent management → Agent autoconfiguration.

En accédant à la page d'administration, vous pouvez créer de nouvelles configurations automatiques en appuyant sur le bouton Add new configuration definition pour établir les données générales de l'autoconfiguration.

Vous devrez choisir un nom et un mode d'exécution : immédiat (option Start par défaut) ou périodique (Scheduled, les options de calendrier quotidien, hebdomadaire ou mensuel apparaîtront). Appuyez sur le bouton Create pour enregistrer et entrer dans le mode d'édition. Si vous souhaitez modifier l'un des trois champs précédents, vous devrez appuyer sur le bouton Update (uniquement pour enregistrer les données générales).

Une fois qu'une configuration automatique est créée (ou lors de sa modification ultérieure), les formulaires de configuration peuvent être affichés en cliquant sur la section nécessaire :

Dans les nœuds appartenant à un Command Center avec l'administration centralisée active, la vue sera uniquement en lecture seule. Dans un Command Center où l'application de l'outil Merging Tool est en attente pour la première fois, il sera impossible de créer des autoconfigurations d'agents pour ses futurs nœuds.

Règles

Pour définir les EndPoints auxquels la configuration automatique sera appliquée, il faut ajouter des règles pour les identifier.

Si aucune règle n'est ajoutée, la configuration automatique ne sera pas appliquée. Si une seule configuration est nécessaire pour tous les agents, l'expression régulière .* peut être utilisée pour correspondre à n'importe quel alias.

Déployez la section des règles et cliquez sur Add rule. Vous pourrez choisir une série d'options dans le sélecteur de règles pour identifier les EndPoints à configurer.

  • Server name : Correspondance par nom de serveur.
  • Group name : Correspondance par nom de groupe.
  • Secondary group name : Correspondance par nom de groupe secondaire.
  • OS : Correspondance par nom de système d'exploitation à l'aide d'expressions régulières.
  • Alias : Correspondance par alias. L'expression régulière .* peut être utilisée pour correspondre à n'importe quel alias.
  • Custom field : Correspondance par clé/valeur basée sur un champ personnalisé rapporté par l'EndPoint. 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.
  • Script output (> 0) : Conçu pour exécuter un script dont le résultat de l'exécution est évalué comme valide lorsque la sortie standard est supérieure à 0.
  • Appel au script de règles : Supporte les macros suivantes dans le champ 'arguments' (vous pouvez choisir entre les opérateurs AND et OR pour modifier la logique des règles entre elles) :
  1. _agent_ : Sera remplacé par le nom de l'Agent.
  2. _agentalias_ : Sera remplacé par l'alias de l'Agent.
  3. _address_ : Sera remplacé par l'adresse IP principale rapportée par l'Agent.
  4. _agentgroup_ : Sera remplacé par le nom du groupe rapporté par l'Agent.
  5. _agentos_ : Sera remplacé par le système d'exploitation de l'Agent.

Enfin, vous devez cliquer sur Create rule pour enregistrer les modifications, sans avoir besoin de cliquer sur le bouton Update.

Dans les nœuds appartenant à un Command Center avec l'administration centralisée active, la vue sera uniquement en lecture seule.

Autoconfiguration d'agents

  • New group : Vous pouvez le laisser sans changement (No change, option par défaut) ou forcer l'appartenance à un groupe spécifique.
  • Secondary groups : Les groupes sélectionnés ici seront ajoutés comme groupes secondaires à l'Agent. Évitez de répéter les groupes secondaires dans la sélection.
  • Policy configuration : Une ou plusieurs politiques de surveillance peuvent être sélectionnées pour être appliquées automatiquement lorsque l'Agent atteint le serveur PFMS. S'il y a plusieurs politiques de surveillance, une priorité peut être spécifiée (zéro par défaut) et celles ayant la valeur numérique la plus élevée seront appliquées en premier (il est recommandé d'utiliser des valeurs uniques).
  • Edit configuration block : Ajoute la configuration supplémentaire brute au fichier de configuration de l'Agent (l'EndPoint doit avoir la configuration distante activée).

La première fois que vous ajoutez une autoconfiguration d'agent, vous devez utiliser le bouton Create. Par la suite, un bouton Update apparaîtra, lequel est différent du bouton Update utilisé pour les données générales de l'autoconfiguration.

Dans les nœuds appartenant à un Command Center avec l'administration centralisée active, la vue sera uniquement en lecture seule.

Actions supplémentaires

Depuis cette section, vous pouvez associer d'autres actions supplémentaires à l'autoconfiguration :

  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) en spécifiant l'emplacement et les paramètres.

Le système prend en charge les macros suivantes :

  • _agent_ : Sera remplacé par le nom de l'Agent.
  • _agentalias_ : Sera remplacé par l'alias de l'Agent.
  • _address_ : Sera remplacé par l'adresse IP principale rapportée par l'agent.
  • _agentgroup_ : Sera remplacé par le nom du groupe rapporté par l'Agent.
  • _agentos_ : Sera remplacé par le système d'exploitation de l'Agent.
  • _agentid_ : Est remplacé par l'ID de l'Agent.

EndPoints Unix/Linux

Configuration des EndPoints Unix de Pandora FMS

Les chemins et répertoires fondamentaux à prendre en compte sont :

  • /usr/share/pandora_agent : Chemin où l'EndPoint de Pandora FMS est installé. Sur les systèmes où les politiques ne le permettent 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'EndPoint. Les modules d'exécution locale et les plugins d'EndPoint sont configurés ici.

  • /usr/local/bin/pandora_agent : Chemin vers le binaire exécutable de l'EndPoint. Il possède généralement un lien vers /usr/bin/pandora_agent.

  • /usr/local/bin/tentacle_client : Chemin vers le binaire exécutable de Tentacle, pour le transfert de fichiers vers le serveur.
    Il possède 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 daemon est /etc/rc.pandora_agent_daemon.

  • /var/log/pandora/pandora_agent.log : Fichier texte où est enregistrée l'activité de l'EndPoint de Pandora FMS, lorsque l'EndPoint est exécuté en mode débogage.

  • /etc/pandora/plugins : Répertoire contenant les plugins de l'EndPoint. Il est lié au répertoire /usr/share/pandora_agent/plugins.

  • /etc/pandora/collections : Répertoire contenant les collections déployées sur l'EndPoint. Il est lié au répertoire /usr/share/pandora_agent/collections.

Exécution initiale de l'EndPoint Unix

Pour démarrer l'EndPoint, il est nécessaire d'exécuter :

systemctl start pandora_agent_daemon

Pour arrêter l'EndPoint :

systemctl stop pandora_agent_daemon

Ce script de démarrage pourra démarrer ou arrêter l'EndPoint de Pandora FMS, qui, lors de son démarrage, restera par défaut en cours d'exécution dans le système en tant que daemon.

Pour s'assurer que l'EndPoint s'exécute à chaque démarrage du système d'exploitation, il suffit de l'exécuter une seule fois :

systemctl enable pandora_agent_daemon


Options de base de l'EndPoint

Si l'EndPoint a la configuration distante activée et correspond à une version 774 ou ultérieure, les options suivantes peuvent être activées dans la section Monitoring de la configuration de l'agent dans la Console web.

  • Security vulnerabilities : Les EndPoints de Pandora FMS et le moteur de découverte à distance rechercheront des informations sur les logiciels installés sur le système puis compareront ces informations avec la base de données centrale des vulnérabilités dont dispose Pandora FMS (téléchargée depuis le NIST, le Mitre et d'autres sources). Par la suite, il fournira une liste de paquets logiciels présentant des vulnérabilités connues.
  • Security hardening : Active le plugin pour renforcer la sécurité sur l'appareil surveillé. 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

Où les paramètres sont configurés avec un délai d'attente de 150 secondes pour l'exécution (-t 150) sur un intervalle de 7 jours (7d).

  • Security monitoring : Responsable de la vérification constante de certains aspects de base de son environnement. Il est conçu pour être léger, affectant très peu les performances du système, et est lancé à l'intervalle standard de l'EndPoint, toutes les cinq minutes.
  • Log collection : Cela collectera les fichiers journaux pour l'analyse forensique et stockera tous les registres. Les options suivantes seront 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 \.\*
# Plugin for inventory on the agent.
module_plugin inventory 1 cpu ram video nic hd cdrom software init_services filesystem users route

Endpoints Windows Pandora FMS

Configuration de l'EndPoint pour Windows de Pandora FMS

Les chemins et répertoires fondamentaux dans les installations de l'EndPoint pour MS Windows® se trouvent dans le répertoire même où l'EndPoint a été installé, par défaut %ProgramFiles%.

Les plus importants à prendre en compte sont :

  • %ProgramFiles%\pandora_agent : Où l'EndPoint de Pandora FMS, son exécutable et ses répertoires sont installés.

  • %ProgramFiles%\pandora_agent\pandora_agent.conf : Fichier de configuration principal de l'EndPoint. Les modules d'exécution locale et les plugins d'EndPoint sont configurés ici.

  • %ProgramFiles%\pandora_agent\PandoraAgent.exe : Binaire exécutable de l'EndPoint.

  • %ProgramFiles%\pandora_agent\util\tentacle_client.exe : Binaire exécutable de Tentacle, pour le transfert de fichiers vers le serveur.

  • %ProgramFiles%\pandora_agent\scripts : Scripts de démarrage/arrêt/redémarrage de l'EndPoint de Pandora FMS.

  • %ProgramFiles%\pandora_agent\pandora_agent.log : Fichier texte où est enregistrée l'activité de l'EndPoint de Pandora FMS, lorsque l'EndPoint est exécuté en mode débogage.

  • %ProgramFiles%\pandora_agent\util : Répertoire contenant les plugins de l'EndPoint.

  • %ProgramFiles%\pandora_agent\collections : Répertoire contenant les collections de l'EndPoint.

Options de base de l'EndPoint pour MS Windows

Lorsque l'EndPoint a la configuration distante activée et que la version installée est 774 ou ultérieure, les options suivantes peuvent être activées dans la section Monitoring de la configuration de l'agent dans la Console Web.

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
  • Security hardening : Active le plugin pour renforcer la sécurité sur l'appareil surveillé. 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

Où les options sont configurées avec un délai d'attente de 150 secondes pour l'exécution (-t 150) sur un intervalle de 7 jours (7d) comme période d'EndPoint.

  • Log collection : Cela collectera les fichiers journaux pour l'analyse forensique et stockera tous les registres. Les paramètres suivants seront 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é de l'EndPoint pour MS Windows

Pour l'EndPoint PFMS version 775 ou ultérieure, un plugin est inclus et désactivé par défaut. Pour l'activer, vous devez décommenter 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 l'EndPoint redémarré, les modules d'agent suivants seront collectés :

  • Antivirus installé et fonctionnel, qu'il s'agisse de Microsoft ou de tiers, et vérification de la mise à jour de ses définitions de virus (deux modules). Sous MS Windows server®, cette fonctionnalité n'est pas disponible, les modules ne sont donc pas créés.
  • Vérifie si le verrouillage automatique de l'écran est actif (Lock screen status), ceci protège le compte de l'utilisateur lorsque l'ordinateur est laissé sans surveillance, sans activité de souris ou de clavier (un module).
  • Vérifie si MS Windows® est à jour (Windows updated®) depuis une semaine ou moins (un module).
  • État du pare-feu, activé ou non (trois modules, un pour chaque profil du firewall : Domain network, Private network et Public network).
  • Vérification que tous les comptes locaux possèdent un mot de passe défini (un module).
  • Un module est dédié à la surveillance de l'activation ou non de l'enregistrement des tentatives de connexion é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 Discovery PFMS, 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 d'« auto-mettre à jour » 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 ; dans les versions antérieures, il devra être installé manuellement.

Cela fonctionne de la manière suivante :

1. Les EndPoints reçoivent de nouveaux binaires dans le répertoire d'entrée des collections.

Exemple sous MS Windows® :

%ProgramFiles%\pandora_agent\collections\fc_1\PandoraAgent.exe

Exemple sous Linux® :

/etc/pandora/collections/fc_1/pandora_agent

2. L'EndPoint exécute le plugin pandora_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'EndPoint (pas l'installateur complet), comparera le binaire situé dans la collection avec celui qui est en cours d'exécution et, s'ils sont différents, pandora_update arrête l'EndPoint, remplace le binaire et redémarre l'EndPoint en utilisant le nouveau binaire.

Pour mettre à jour différentes architectures, vous devrez établir une collection différente pour chaque architecture. Par exemple, si vous souhaitez mettre à jour des EndPoints MS Windows® 32 et 64 bits, deux collections doivent être créées et, dans chacune d'elles, le binaire PandoraAgent.exe correspondant doit être inclus.

3. Pandora_update écrit également l'événement mis à jour dans un petit log, afin de pouvoir le récupérer lors de l'exécution suivante et d'avertir l'utilisateur (via l'utilisation d'un module async_string) du processus de mise à jour de l'EndPoint.

Cela implique que les modules utilisés pour compléter le processus de mise à jour pourront être configurés avec un intervalle élevé.

Unix® installation standard :

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 EndPoint and update itself
module_end

Unix® installation personnalisée :

 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 EndPoint and update itself
 module_end

La commande pandora_update accepte comme second paramètre le chemin du répertoire d'installation de Pandora FMS ; il est inutile de le spécifier si l'installation a été effectuée dans le chemin par défaut.

MS 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 EndPoint and update itself
 module_end

Auto-création d'Agents et de Modules à partir du XML

Les Agents peuvent être configurés depuis la Console web selon trois modes de fonctionnement :

  • Mode apprentissage : Si le XML reçu de l'EndPoint contient de nouveaux Modules, ceux-ci seront automatiquement créés. C'est le comportement par défaut.
  • Mode normal : Les nouveaux Modules arrivant dans le XML ne seront pas créés s'ils n'ont pas été déclarés au préalable dans la console.
  • Mode auto-désactivé : Similaire au mode apprentissage, dans ce mode, en plus, si tous les Modules passent à l'état inconnu, l'Agent sera automatiquement désactivé, et sera de nouveau activé s'il reçoit de nouvelles informations.

Données mises à jour d'un Module déjà existant lors de la réception d'un XML

Lorsqu'un XML contenant des informations d'un Module déjà existant est reçu, seules la description et les informations étendues sont mises à jour, en plus de la donnée du Module.

Les données GIS sont toujours mises à jour (si elles sont activées), que le learning mode soit désactivé ou non.

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