Difference between revisions of "Pandora: Documentation fr: Omnishell"

From Pandora FMS Wiki
Jump to: navigation, search
(Created page with "{{WIP_FR}}")
 
Line 1: Line 1:
{{WIP_FR}}
+
 
 +
[[Pandora:Documentation_fr|Revenir à l’Index de Documentation Pandora FMS]]
 +
 
 +
 
 +
= Introduction =
 +
<br>
 +
Dans une première étape vers l'orchestration / automatisation informatique, <b>Pandora FMS</b> vous présente <b>Omnishell</b> .
 +
 
 +
Il s'agit d'un outil qui vous permet de définir des commandes ou des blocs de commande et de sélectionner des objectifs où vous pouvez les exécuter.
 +
<br>
 +
<br>
 +
 
 +
= Omnishell =
 +
<br>
 +
Omnishell permet l'exécution de n'importe quelle commande ou bloc de commandes sur n'importe quel agent (dans les versions 741 ou supérieures) dont la configuration à distance est activée.
 +
 
 +
<center>
 +
[[image:omnishell1.png]]
 +
</center>
 +
 
 +
Omnishell s'appuie sur la communication entre les différents composants de Pandora FMS via Tentacle, pour coordonner en toute sécurité les exécutions et les réponses des commandes que vous souhaitez programmer.
 +
 
 +
Pour le configurer, installez les packages suivants:
 +
 
 +
php-yaml
 +
 
 +
Sur toutes les consoles où vous souhaitez utiliser cette fonctionnalité.
 +
 
 +
perl-YAML-Tiny
 +
 
 +
Sur tous les agents Unix sur lesquels vous souhaitez utiliser cette fonctionnalité.
 +
<br>
 +
<br>
 +
== Tentacle, nouvelles options ==
 +
<br>
 +
Avec l'inclusion d'Omnishell, de nouvelles options pour Tentacle seront activées :
 +
 
 +
*Tentacle a besoin d'un changement de configuration pour pouvoir adresser les fichiers '.rcmd'.
 +
 
 +
*Ces fichiers sont des fichiers de définition de commande. Ce sera l'agent qui téléchargera la définition et l'évaluera.
 +
 
 +
*Il n'y a aucune possibilité d'effectuer des opérations "push".
 +
 
 +
Vous devez mettre à jour la définition de filtre du fichier :
 +
 
 +
/etc/tentacle/tentacle_server.conf
 +
 
 +
# Filters (regexp:dir,regexp:dir...)
 +
filters .*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.lock:trans;.*\.rcmd:commands
 +
 
 +
Vous pouvez également utiliser le fichier <b>tentacle_server.conf.new</b> qui est distribué lorsque le serveur pandora_server est installé.
 +
 
 +
Les fichiers .rcmd seront publiés dans le nouveau dossier <b>/var/spool/pandora/data_in/commands</b>
 +
 
 +
Un hachage sera utilisé en fonction de certains paramètres de la définition de la commande. La sécurité peut être améliorée en sécurisant votre installation sur Tentacle :
 +
 
 +
https://pandorafms.com/docs/index.php?title=Pandora:Documentation_es:Tentacle
 +
 
 +
Il est important de se rappeler que ce dossier doit avoir des autorisations pour les utilisateurs qui gèrent le serveur Pandora FMS et Apache qui gère la console :
 +
 
 +
chown pandora:apache -R /var/spool/pandora/data_in/commands
 +
chmod g+s /var/spool/pandora/data_in/commands
 +
 
 +
<br>
 +
<br>
 +
 
 +
== Mise à jour de l'agent ==
 +
<br>
 +
Ce système est présent dans l'agent Pandora FMS à partir de la version 741.
 +
 
 +
Il nécessite la bibliothèque YAML::Tiny perl pour fonctionner. Si cette bibliothèque n'est pas disponible, le système ignore cette fonctionnalité et continue de fonctionner normalement.
 +
 
 +
L'installation de cette bibliothèque active la fonctionnalité. Il ne devrait pas être nécessaire de redémarrer l'agent et il devrait commencer à fonctionner directement.
 +
 
 +
Aucune modification n'est nécessaire, sauf si vous avez la configuration à distance active. Le système Omnishell utilise une procédure similaire à celle des collections de fichiers.
 +
<br>
 +
<br>
 +
 
 +
==Exemple d'utilisation==
 +
<br>
 +
Voyons un exemple pour mieux comprendre le fonctionnement du nouvel outil Omnishell.
 +
 
 +
<b>Problème</b> : Vous voulez configurer le démarrage automatique du service HTTPD sur les systèmes CentOS 6 en bloc.
 +
 
 +
*<b>Quelle est la condition préalable?</b> Que le service apparaisse comme installé et installer-le au cas où il ne l'est pas :
 +
 
 +
Par exemple :
 +
 
 +
[ `rpm -qa | grep -i httpd | wc -l` -lt 1 ] || yum install -y httpd
 +
 
 +
Cette ligne vérifiera si le service est installé et l'installera dans le cas contraire.
 +
 
 +
*<b>Quel est le besoin principal ?</b> Démarrez et configurez le démarrage automatique du service HTTPD.
 +
 
 +
Pour cela, les commandes suivantes seront utilisés :
 +
 
 +
/etc/init.d/httpd restart
 +
chkconfig httpd on
 +
 
 +
Cela démarrera le service sur la machine distante et configurera le système pour qu'il démarre automatiquement.
 +
 
 +
* <b>Comment valider ce qui a été fait ?</b> Vérifiez que le système a activé le service et écoute.
 +
 
 +
[ `netstat -lptn | grep 80 | grep LISTEN | wc -l` -gt 0 ]
 +
 
 +
Une fois que vous ayez <b>compris</b> clairement ce que vous voulez que les agents fassent, créez la commande dans <b>Omnishell</b> :
 +
 
 +
<center>
 +
[[image:omnishell2.png]]
 +
</center>
 +
 
 +
Après la création de la commande, assignez les agents dont vous avez besoin.
 +
 
 +
<center>
 +
[[image:omnishell3.png]]
 +
</center>
 +
 
 +
Vous pouvez voir la progression de l'exécution de la commande dans les agents sélectionnés :
 +
 
 +
<center>
 +
[[image:omnishell4.png]]
 +
</center>
 +
 
 +
En accédant à la vue, vous verrez le temps estimé en attente pour l'exécution de la commande :
 +
 
 +
<center>
 +
[[image:omnishell5.png]]
 +
</center>
 +
 
 +
Lorsque vous appliquez l'exécution de la commande en bloc, la vue sera la suivante dans l'exemple :
 +
 
 +
<center>
 +
[[image:omnishell7.png]]
 +
</center>
 +
 
 +
Une fois la réponse de l'agent reçue, vous verrez les résultats de l'exécution. En cliquant sur sa case vous pouvez obtenir un modal avec des informations supplémentaires :
 +
 
 +
<center>
 +
[[image:omnishell6.png]]
 +
</center>
 +
<br>
 +
 
 +
==Remarques==
 +
<br>
 +
*L'agent exécutera chaque commande de chaque bloc.
 +
*Si l'évaluation de chaque commande n'est pas 0 ( <b>error_level !=0</b> ), elle arrêtera l'évaluation et la commande échouera.
 +
*L'agent prendra les valeurs des paramètres « retry » et « timeout » pour le nombre de tentatives et le temps d'exécution maximal, respectivement.
 +
*Quel que soit le résultat, l'agent enregistre une marque d'exécution. <b>Chaque commande n'est exécutée qu'une seule fois</b> .
 +
* Si vous mettez à jour le nom de la commande, l'agent la réexécutera, car la référence changera.
 +
*Vous pouvez affecter autant de commandes que vous le souhaitez au même agent.
 +
*L'exécution de commandes dans l'agent peut affecter la supervision. N'utilisez pas un délai supérieur à l'intervalle de l'agent.
 +
 
 +
[[Pandora:Documentation_fr|Revenir à l’Index de Documentation Pandora FMS]]
 +
 
 +
 
 +
[[Category: Pandora FMS]]
 +
[[Category:Documentation]]

Revision as of 11:59, 28 February 2020

Revenir à l’Index de Documentation Pandora FMS


1 Introduction


Dans une première étape vers l'orchestration / automatisation informatique, Pandora FMS vous présente Omnishell .

Il s'agit d'un outil qui vous permet de définir des commandes ou des blocs de commande et de sélectionner des objectifs où vous pouvez les exécuter.

2 Omnishell


Omnishell permet l'exécution de n'importe quelle commande ou bloc de commandes sur n'importe quel agent (dans les versions 741 ou supérieures) dont la configuration à distance est activée.

Omnishell1.png

Omnishell s'appuie sur la communication entre les différents composants de Pandora FMS via Tentacle, pour coordonner en toute sécurité les exécutions et les réponses des commandes que vous souhaitez programmer.

Pour le configurer, installez les packages suivants:

php-yaml 

Sur toutes les consoles où vous souhaitez utiliser cette fonctionnalité.

perl-YAML-Tiny

Sur tous les agents Unix sur lesquels vous souhaitez utiliser cette fonctionnalité.

2.1 Tentacle, nouvelles options


Avec l'inclusion d'Omnishell, de nouvelles options pour Tentacle seront activées :

  • Tentacle a besoin d'un changement de configuration pour pouvoir adresser les fichiers '.rcmd'.
  • Ces fichiers sont des fichiers de définition de commande. Ce sera l'agent qui téléchargera la définition et l'évaluera.
  • Il n'y a aucune possibilité d'effectuer des opérations "push".

Vous devez mettre à jour la définition de filtre du fichier :

/etc/tentacle/tentacle_server.conf
# Filters (regexp:dir,regexp:dir...)
filters .*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.lock:trans;.*\.rcmd:commands

Vous pouvez également utiliser le fichier tentacle_server.conf.new qui est distribué lorsque le serveur pandora_server est installé.

Les fichiers .rcmd seront publiés dans le nouveau dossier /var/spool/pandora/data_in/commands

Un hachage sera utilisé en fonction de certains paramètres de la définition de la commande. La sécurité peut être améliorée en sécurisant votre installation sur Tentacle :

https://pandorafms.com/docs/index.php?title=Pandora:Documentation_es:Tentacle

Il est important de se rappeler que ce dossier doit avoir des autorisations pour les utilisateurs qui gèrent le serveur Pandora FMS et Apache qui gère la console :

chown pandora:apache -R /var/spool/pandora/data_in/commands
chmod g+s /var/spool/pandora/data_in/commands



2.2 Mise à jour de l'agent


Ce système est présent dans l'agent Pandora FMS à partir de la version 741.

Il nécessite la bibliothèque YAML::Tiny perl pour fonctionner. Si cette bibliothèque n'est pas disponible, le système ignore cette fonctionnalité et continue de fonctionner normalement.

L'installation de cette bibliothèque active la fonctionnalité. Il ne devrait pas être nécessaire de redémarrer l'agent et il devrait commencer à fonctionner directement.

Aucune modification n'est nécessaire, sauf si vous avez la configuration à distance active. Le système Omnishell utilise une procédure similaire à celle des collections de fichiers.

2.3 Exemple d'utilisation


Voyons un exemple pour mieux comprendre le fonctionnement du nouvel outil Omnishell.

Problème : Vous voulez configurer le démarrage automatique du service HTTPD sur les systèmes CentOS 6 en bloc.

  • Quelle est la condition préalable? Que le service apparaisse comme installé et installer-le au cas où il ne l'est pas :

Par exemple :

[ `rpm -qa | grep -i httpd | wc -l` -lt 1 ] || yum install -y httpd

Cette ligne vérifiera si le service est installé et l'installera dans le cas contraire.

  • Quel est le besoin principal ? Démarrez et configurez le démarrage automatique du service HTTPD.

Pour cela, les commandes suivantes seront utilisés :

/etc/init.d/httpd restart
chkconfig httpd on

Cela démarrera le service sur la machine distante et configurera le système pour qu'il démarre automatiquement.

  • Comment valider ce qui a été fait ? Vérifiez que le système a activé le service et écoute.
[ `netstat -lptn | grep 80 | grep LISTEN | wc -l` -gt 0 ]

Une fois que vous ayez compris clairement ce que vous voulez que les agents fassent, créez la commande dans Omnishell :

Omnishell2.png

Après la création de la commande, assignez les agents dont vous avez besoin.

Omnishell3.png

Vous pouvez voir la progression de l'exécution de la commande dans les agents sélectionnés :

Omnishell4.png

En accédant à la vue, vous verrez le temps estimé en attente pour l'exécution de la commande :

Omnishell5.png

Lorsque vous appliquez l'exécution de la commande en bloc, la vue sera la suivante dans l'exemple :

Omnishell7.png

Une fois la réponse de l'agent reçue, vous verrez les résultats de l'exécution. En cliquant sur sa case vous pouvez obtenir un modal avec des informations supplémentaires :

Omnishell6.png


2.4 Remarques


  • L'agent exécutera chaque commande de chaque bloc.
  • Si l'évaluation de chaque commande n'est pas 0 ( error_level !=0 ), elle arrêtera l'évaluation et la commande échouera.
  • L'agent prendra les valeurs des paramètres « retry » et « timeout » pour le nombre de tentatives et le temps d'exécution maximal, respectivement.
  • Quel que soit le résultat, l'agent enregistre une marque d'exécution. Chaque commande n'est exécutée qu'une seule fois .
  • Si vous mettez à jour le nom de la commande, l'agent la réexécutera, car la référence changera.
  • Vous pouvez affecter autant de commandes que vous le souhaitez au même agent.
  • L'exécution de commandes dans l'agent peut affecter la supervision. N'utilisez pas un délai supérieur à l'intervalle de l'agent.

Revenir à l’Index de Documentation Pandora FMS