| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Cette page a pour but de vous décrire la mise en place du pack linux-by-SSH_by_sshshinken :
Le déploiement du pack sur
votre plateformela plateforme (sur le Synchronizer et sur le ou les Pollers),
La configuration
de vos connexions SSH,- La mise à jour du package d'OpenSSH ( si nécéssaire ),
- La mise en place de pré-requis pour certains checks.
des prérequis nécessaires à l’exécution des checks.
L'installation du pack sur l'infrastructure Shinken
En préambule, il faut :
- récupérer Récupérer la dernière version du pack auprés auprès de l'équipe Shinken ou de votre partenaire,
- Transférer le pack sur votre Synchronizer et votre/vos Pollers.
Mise en place du pack avec l'installeur "install.sh" ( sur Poller / Synchronizer )
Commun Ă tout Poller / Synchronizer
Que ce soit sur un Synchronizer oĂą sur un Pollers :
Désarchiver le pack :
Code Block language text theme Emacs tar --no-same-owner -xf NOM_DU_PACK.tar.xz
Entrée dans le répertoire extrait de l'archive et lancer le "install.sh"
Code Block language text theme Emacs cd NOM_DU_PACK/ ./install.sh
L'installeur dépose les éléments suivants :
- Le fichier de configuration de la source "shinken-additional-packs-import" qui servira à importer la définition du pack dans le Synchronizer.
- Les fichiers de définitions des éléments du pack, à importer dans le Synchronizer.
Les sondes du pack.
Exemple de mise en place :Code Block language text theme Emacs ============================================= INSTALL PACK [ shinkenlinux-by-linuxSSH_by_sshshinken ] ============================================= ----------------------------- | COLLECTOR [ shinken-additional-packs-import ] => ADDING Collector cfg file - Path : /etc/shinken/sources/shinken-additional-packs-import.cfg => CREATING Collector DATA space - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import => ADDING Definition File [ definition_shinken-additional-packs-import.cfg ] - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/definition_shinken-additional-packs-import.cfg - Changing owner ( to "shinken" user ) - Setting rights ----------------------------- | MONITORING DEFINITION: => Installing definition files in source-data folder ( Collector => shinken-additional-packs-import ) - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import - Changing owner ( to "shinken" user ) - Setting rights ----------------------------- | PROBES: => Deleting previous probes => Installing probes - Path : /var/lib/shinken-user/libexec/shinken-additional-packs/shinken-linux_by_ssh - Setting owner ( to "shinken" user ) - Setting rights
En suivant, spécifiquement sur le Synchronizer
| Note | ||
|---|---|---|
| ||
 Si une version du pack est déjà installée, elle doit être désinstallée avant d’installer la nouvelle version. L’installeur vérifiera automatiquement si l’ancienne version a été correctement supprimée et vous avertira si ce n’est pas le cas. |
| Code Block | ||||
|---|---|---|---|---|
| ||||
========================================================
PRE-INSTALLATION CHECKS
========================================================
ERROR: Previous installation detected!
The following files/folders from a previous installation were found:
|
Ajouter le nom de la nouvelle source au Synchronizer en modifiant le paramètre sourcesdu fichier /etc/shinken/synchronizers/synchronizer-master.cfg.
| language | text |
|---|---|
| theme | Emacs |
|
|
|
|
|
|
- /var/lib/shinken-user/libexec/shinken-additional-packs |
/linux_by_ssh-shinken |
et en suivant, redémarrez le Synchronizer pour que le collecteur soit pris en compte :
| Panel |
|---|
- En suivant, vous devrez peut-être accepter ou des nouveautés ou des différences qui seraient liés à ce pack ( en fonction de l'évolution du pack ).
Ou manuellement ( si ne vous voulez pas utiliser l'install.sh )
Commun Ă tout Poller / Synchronizer
Si vous avez déjà installé le pack
Nous vous conseillons de supprimer les anciens dossiers dans lesquels le pack était présent, pour être sûr d'avoir la dernière version de tous les fichiers livrés.
Pour supprimer ces dossiers, utilisez la commande suivante ( si vous avez suivi à la lettre la procédure d'installation manuelle ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm -rf /var/lib/shinken-user/libexec/shinken-additional-packs/linux_by_ssh-shinken |
Extraire le pack
Transférer sur votre machine et décompressez le fichier contenant le pack à l'aide de la ligne de commande ci-dessous ( en remplaçant "PACK__shinken__NON-DU-PACK__VERSION__OS.tar.gz" par le nom du pack qui vous est livré.
- Pour Linux ( le paramètre --no-same-owner permet de ne pas conserver les attributs d'utilisateurs/roles présent de la création du pack ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
tar -xjfv --no-same-owner PACK__shinken__NON-DU-PACK__VERSION__linux.tar.xz -C ./ |
- Pour Windows ( RĂ´le de Poller ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
tar -xvzf PACK__shinken__NOM-DU-PACK__VERSION__windows.tar.gz -C ./ |
Entrez dans le répertoire créér :
| Code Block | ||||
|---|---|---|---|---|
| ||||
cd NOM_DU_PACK/ |
Les sondes ( mises en place )
On place les sondes :
| Code Block | ||||
|---|---|---|---|---|
| ||||
probe_path="/var/lib/shinken-user/libexec/shinken-additional-packs/shinken-linux_by_ssh"
mkdir --parents $probe_path
cp -r ./probes/* $probe_path
chown -R shinken:shinken $probe_path
chmod -R 750 $probe_path |
Sur le Synchronizer
- /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/linux_by_ssh-shinken
- /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/linux_by_ssh-shinken
- /etc/shinken/resource.d/shinken-additional-packs-import/global-data/linux_by_ssh-shinken
Please run './uninstall.sh' before installing the pack.
Installation ABORTED.
WARNING: Uninstallation will remove all installed config files ( .cfg ).
This step is required for installing this new pack version.
All manual changes to the present config files will be lost. This doesn't affect shinken Staging or Production environment. |
Sur le Synchronizer
SEULEMENT si le collecteur "shinken-additional-packs-import" n'est pas déja PRÉSENT dans votre Synchronizer ( par exemple : première fois que vous utilisez un installeur de pack Shinken ) :
Vérifier dans la configuration de votre Synchronizer ( /etc/shinken/synchronizers/synchronizer-master.cfg ) que le collecteur "shinken-additional-packs-import" soit présent dans le champ sources.Code Block language text theme Emacs cat /etc/shinken/synchronizers/synchronizer-master.cfgCode Block language js theme Confluence define synchronizer { [...] sources Source 1, Source 2, Source 3, shinken-additional-packs-import [...] }Si le collecteur "shinken-additional-packs-import" n'est pas présent, l'ajouter dans la liste puis redémarrez le Synchronizer pour que le collecteur soit pris en compte :
Section Code Block language text theme Emacs service-shinken-synchronizer restartNote icon false Pour les versions de shinken strictement inferieur Ă V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs service shinken-synchronizer restartActiver le collecteur
Ensuite, plaçons maintenant la définition des éléments de supervision du pack au bon endroit :
Les fichiers de configuration :Nous vous conseillons de créer un Collecteur de type ( cfg-file-import ) qui permet d'importer des définitions d'éléments Shinken depuis les fichiers de définitions présents dans ce pack."shinken-additional-packs-import"
Une fois le collecteur mis en place, nous allons déployer le pack au bon endroit :
si ce n'est pas déja fait.
Panel Lancer l'import du collecteur "shinken-additional-packs-import":
Panel - En suivant, vous devrez peut-être accepter ou des nouveautés ou des différences qui seraient liés à ce pack ( en fonction de l'évolution du pack ).
- En suivant, vous devrez peut-être accepter ou des nouveautés ou des différences qui seraient liés à ce pack ( en fonction de l'évolution du pack ).
IMPORTANT : si c'est première fois que vous installez le pack, il est nécessaire de faire un dernier redémarrage du Synchronizer.
Section
Code Block language text theme Emacs
shinken_collector_data_path="/etc/shinken-user/source-data/source-data-shinken-additional-packs-import"
cp -r ./monitoring-definitions/packs/* $shinken_collector_data_path
chown -R shinken:shinken $shinken_collector_data_path
chmod -R 744 $shinken_collector_data_pathservice-shinken-synchronizer restartNote icon false Pour les versions de shinken strictement inferieur Ă V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs
shinken_pack_globaldata_path="/etc/shinken/resource.d/shinken-additional-packs-import"
mkdir --parents $shinken_pack_globaldata_path
cp -r "./monitoring-definitions/global-data" "$shinken_pack_globaldata_path"
chown -R shinken:shinken "$shinken_pack_globaldata_path"
chmod -R 744 "$shinken_pack_globaldata_path"Redémarrer shinken
service shinken-synchronizer restart
Mise en place du pack manuellement ( si l'utilisation du script install.sh n’est pas souhaitée ) :
Commun Ă tout Poller / Synchronizer
Si vous avez déjà installé le pack
Nous vous conseillons de supprimer les anciens dossiers dans lesquels le pack était présent, pour être sûr d'avoir la dernière version de tous les fichiers livrés.
Pour supprimer ces dossiers, utilisez la commande suivante ( si vous avez suivi à la lettre la procédure d'installation manuelle ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm -rf /var/lib/shinken-user/libexec/shinken-additional-packs/linux_by_ssh-shinken
rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/linux_by_ssh-shinken
rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/linux_by_ssh-shinken
rm -rf /etc/shinken/resource.d/shinken-additional-packs-import/global-data/linux_by_ssh-shinken |
Extraire le pack
Transférer sur votre machine et décompressez le fichier contenant le pack à l'aide de la ligne de commande ci-dessous ( en remplaçant "PACK__shinken__NON-DU-PACK__VERSION__OS.tar.gz" par le nom du pack qui vous est livré.
- Pour Linux ( le paramètre --no-same-owner permet de ne pas conserver les attributs d'utilisateurs/roles présent de la création du pack  )
Lancer l'import du collecteur "shinken-additional-packs-import",
| Panel |
|---|
En suivant, vous devrez peut-être accepter les nouveautés / différences qui seraient liés à ce pack ( en fonction de l'évolution du pack ).
Vous pouvez également supprimer le dossier qui a été créé suite à la décompression du pack en utilisant la commande suivante :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm -rf ./linux_by_ssh |
| Info |
|---|
Attention à ne pas supprimer le tar.gz, connaître la version exacte du pack qui vous a été livré vous sera utile en cas de problème avec votre pack. |
Si vous avez déjà installé une version précédente de ce pack, il vous faudra supprimer les anciens dossiers dans lesquels le pack était présent ( afin d'éviter de garder d'ancien fichier en cas d'évolution de la structure du pack ).
Pour supprimer ces dossiers, utilisez la commande suivante- :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm /etc/shinken/sources/shinken-additional-packs-import.cfg
rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/
rm -rf /var/lib/shinken-user/libexec/shinken-linux_by_ssh |
Comment configurer la connexion SSH ?
Pour l'exécution correcte des commandes du pack linux_by_ssh, vous aurez besoin d'une connexion SSH.
Quelques informations au préalable sont nécessaires pour la bonne compréhension de cette partie.
- D'une part, du côté de l'architecture Shinken, l'exécution des checks ( plus exactement les sondes ) sont réalisées par les Pollers, en tant qu'utilisateur "shinken".
- Donc l'utilisateur "shinken " devra avoir accès aux clefs SSH que vous utiliserez pour la connexion SSH sur les serveurs distants monitorés.
- D'autre part, du côté des machines Linux supervisées,
- un nom d'utilisateur, et une clé SSH ou mot de passe sont requis.
- Dans le modèle linux_by_ssh, des données sont prévues à cet effet.
Nous conseillons l'utilisation d'un utilisateur spécifique ( pour le service de supervision ) ainsi que l'utilisation d'une connexion via clé SSH, afin d'éviter l'utilisation du super utilisateur root qui n'est pas requis par les checks.
Côté client ( machine ou serveur Linux supervisé )
Si votre utilisateur de supervision n'est pas déjà créé sur votre linux à superviser, depuis un terminal de la machine supervisée "linux-1" ( en root ), il faut créer un nouvel utilisateur local avec mot de passe.
- dans cet exemple, nous utilisons "user-service-shinken" mais vous pouvez créer un autre utilisateur.
tar -xjfv --no-same-owner PACK__shinken__NON-DU-PACK__VERSION__linux.tar.xz -C ./ |
- Pour Windows ( RĂ´le de Poller ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
tar -xvzf PACK__shinken__NOM-DU-PACK__VERSION__windows.tar.gz -C ./ |
Entrez dans le répertoire créér :
| Code Block | ||||
|---|---|---|---|---|
| ||||
cd NOM_DU_PACK/ |
Les sondes ( mises en place )
On place les sondes :
| Code Block | ||||
|---|---|---|---|---|
| ||||
probe_path="/var/lib/shinken-user/libexec/shinken-additional-packs/shinken-linux_by_ssh"
mkdir --parents $probe_path
cp -r ./probes/* $probe_path
chown -R shinken:shinken $probe_path
chmod -R 750 $probe_path |
Sur le Synchronizer
Ensuite, plaçons maintenant la définition des éléments de supervision du pack au bon endroit :
- Les fichiers de configuration :
- Nous vous conseillons de créer un Collecteur de type ( cfg-file-import ) qui permet d'importer des définitions d'éléments Shinken depuis les fichiers de définitions présents dans ce pack.
- Vous trouverez la procédure de mise en place dans la page de documentation suivante ( Collecteur de type ( cfg-file-import ) - Import depuis des fichiers au format .cfg )
- Pour la suite des explications, nous considérerons que ce collecteur s'appelle "shinken-additional-packs-import"
Une fois le collecteur mis en place, nous allons déployer le pack au bon endroit :
En premier, les fichiers de définition des éléments ( modèles d'hôtes, checks, commandes, ... ) du pack :
Code Block
- Nous vous conseillons de créer un Collecteur de type ( cfg-file-import ) qui permet d'importer des définitions d'éléments Shinken depuis les fichiers de définitions présents dans ce pack.
language text theme Emacs shinken_collector_data_path="/etc/shinken-user/source-data/source-data-shinken-additional-packs-import" cp
| Info |
|---|
| Notez que la mise en place d'un mot de passe pour cet utilisateur n'est pas obligatoire, mais il vous faudra copier la clé SSH via la méthode manuelle expliquée plus bas, car la commande automatique ssh-copy-id requiert un mot de passe pour l'utilisateur du système de destination. |
Côté serveur Poller
Copie de la clĂ© SSH de votre utilisateur de supervision "shinken" depuis le serveur Poller "shinken-poller" ( pour cet exemple ), vers le serveur supervisĂ© "linux-1" ( dans cet exemple, IP : 192.168.1.19 )Â
Copie clé SSH via commande ssh-copy-id
-r ./monitoring-definitions/packs/* $shinken_collector_data_path chown -R shinken:shinken $shinken_collector_data_path chmod -R 744 $shinken_collector_data_pathEnsuite, les données globales
Code Block language text theme Emacs shinken_pack_globaldata_path="/etc/shinken/resource.d/shinken-additional-packs-import" mkdir --parents $shinken_pack_globaldata_path cp -r "./monitoring-definitions/global-data" "$shinken_pack_globaldata_path" chown -R shinken:shinken "$shinken_pack_globaldata_path" chmod -R 744 "$shinken_pack_globaldata_path"
Redémarrer le Synchronizer
Section
Code Block language text theme Emacs
[root@shinken-poller ~]# su - shinken
[shinken@shinken-poller ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub user-service-shinken@linux-1
The authenticity of host '192.168.1.19 (192.168.1.19)' can't be established.
RSA key fingerprint is 00:ff:ee:dd:cc:bb:aa:d6:d3:79:1d:f6:93:47:80:27.
Are you sure you want to continue connecting (yes/no)? yes
user-service-shinken@linux-1's password: XXXXXXXXXXX
Now try logging into the machine, with "ssh 'user-service-shinken@linux-1'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.Copie clé SSH via commande ssh
service-shinken-synchronizer restartNote icon false Pour les versions de shinken strictement inférieures à V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs service shinken-synchronizer restartActiver le collecteur "shinken-additional-packs-import" :
Panel Lancer l'import du collecteur "shinken-additional-packs-import",
Panel En suivant, vous devrez peut-être accepter les nouveautés / différences qui seraient liés à ce pack ( en fonction de l'évolution du pack ).
IMPORTANT : si c'est première fois que vous installez le pack, il est nécessaire de faire un dernier redémarrage du Synchronizer.
Section Code Block language text theme Emacs service-shinken-synchronizer restartNote icon false Pour les versions de shinken strictement inferieur Ă V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs service shinken-synchronizer restart
Vous pouvez également supprimer le dossier qui a été créé suite à la décompression du pack en utilisant la commande suivante :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm -rf ./linux_by_ssh |
| Info |
|---|
Attention à ne pas supprimer le tar.gz, connaître la version exacte du pack qui vous a été livré vous sera utile en cas de problème avec votre pack. |
Si vous avez déjà installé une version précédente de ce pack, il vous faudra supprimer les anciens dossiers dans lesquels le pack était présent ( afin d'éviter de garder d'ancien fichier en cas d'évolution de la structure du pack ).
Pour supprimer ces dossiers, utilisez la commande suivante Soit via une commande SSH depuis le serveur Poller, il s'agit d'ajouter la clé publique au fichier "authorized_keys" du serveur supervisé ( ici linux-1 ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
catrm -rf /var/lib/shinken/.ssh/id_rsa.pub | ssh root@linux-1 "cat >> /home/user-service-shinken/.ssh/authorized_keys" |
Ici la connexion se fait via l'utilisateur root du serveur linux-1 ( mais vous pouvez utiliser votre propre utilisateur ), le but étant de rajouter, en une commande SSH, la clé de l'utilisateur shinken du Poller /var/lib/shinken/.ssh/id_rsa.pub à la fin du fichier /home/user-service-shinken/.ssh/authorized_keys du serveur supervisé.
Copie clé SSH manuellement
-user/libexec/shinken-additional-packs/linux_by_ssh-shinken
rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/linux_by_ssh-shinken
rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/linux_by_ssh-shinken
rm -rf /etc/shinken/resource.d/shinken-additional-packs-import/global-data/linux_by_ssh-shinken |
Désinstaller le pack avec "uninstall.sh"
Entrée dans le répertoire extrait de l'archive et lancer le "uninstall.sh"
Soit via méthode "manuelle" via rajout de la clé dans le fichier authorized_keys
Récupérez la clé publique de l'utilisateur qui va établir la connexion SSH, et la copier| Code Block | ||||
|---|---|---|---|---|
| ||||
[root@shinken-poller ~]# su - shinken
[-bash-4.1]$ cat .ssh/id_rsa.pub
-> copiez la clé |
- Connectez-vous sur le serveur linux supervisé avec votre utilisateur de supervision et collez cette clé dans le fichier "authorized_keys" de l'utilisateur de supervision :
cd PACK__linux-by-SSH__shinken__VXX.XX.XX-final__Linux
./uninstall.sh |
Ce mécanisme va seulement enlever les fichiers mis en place lors de l'installation ( Fichier du collecteur d'import, définition des éléments de supervision, et les sondes proposées ), mais ne touchent pas aux éléments que vous avez absorbés dans le Synchronizer.
| Code Block | ||||
|---|---|---|---|---|
| Code Block | ||||
| ||||
[root@linux-1 ~]# su - user-service-shinken
[-bash-4.1]$ vi .ssh/authorized_keys
-> collez la clé |
Test de connexion
Test de connexion au serveur "linux-1" en tant qu'utilisateur "user-service-shinken" via l'utilisateur du Poller ( shinken ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
[root@shinken-poller ~]# su - shinken
[shinken@shinken-poller ~]# ssh user-service-shinken@linux-1 -i .ssh/id_rsa.pub |
La connexion doit s'établir avec succès.
Côté interface de configuration
Dans chaque hôte héritant du modèle d'hôte "linux_by_ssh", "linux_by_ssh_advanced" ou "linux_by_ssh_extra",
- vous aurez 4 données concernant la connexion SSH ( SSH_KEY, SSH_KEY_PASSPHRASE, SSH_PORT, SSH_USER )
- Ces 4 données seront par la suite utilisées par tous les checks.
- Par défaut, ces données sont configurées pour utiliser des variables globales défini par défaut dans le fichier /etc/shinken/resource.d/ssh.cfg ( sur le serveur central hébergeant l'Arbiter ).
- Si vous souhaitez les changer globalement,
- vous pouvez modifier le fichier "/etc/shinken/resource.d/ssh.cfg",
- ou faire vos propres modèles qui héritent des modèles d'hôtes proposés par ce pack en surchargeant ces 4 valeurs ( ainsi vous aurez vos propres valeurs par défaut ).
Chemin vers la clé générée sur votre serveur hébergeant le démon Poller
Phrase secrète utilisé pour déverrouiller la clé privée de l'utilisateur (si celle-ci est protégée par une passphrase). La clé privée déverrouillée est ensuite utilisée pour authentifier l'utilisateur.
Port de connexion SSH
Utilisateur pour la connexion SSH
| title | Remarque |
|---|
Par exemple, voici le paramétrage d'une connexion via clé SSH par défaut :
Par exemple, voici le paramétrage d'une connexion via Utilisateur/Mot de passe :
Desinstaller le pack avec "uninstall.sh"
Entrée dans le répertoire extrait de l'archive et lancer le "uninstall.sh"
| Code Block | ||||
|---|---|---|---|---|
| ||||
cd PACK__shinken__linux-by-ssh__VX.X.X-RCXXX__Linux
./uninstall.sh |
Ce mécanisme va seulement enlever les fichiers mis en place lors de l'installation ( Fichier du collecteur d'import, définition des éléments de supervision, et les sondes proposées ), mais ne touchent pas aux éléments que vous avez absorbés dans le Synchronizer.
| Code Block | ||||
|---|---|---|---|---|
| ||||
=============================================
DELETE PACK [ shinken-linux_by_ssh ]
=============================================
-----------------------------
| COLLECTOR [ shinken-additional-packs-import ]
=> Deleting collector configuration file
- Path : /etc/shinken/sources/shinken-additional-packs-import.cfg
=> Deleting collector data folder
- Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import
-----------------------------
| MONITORING DEFINITION:
=> Deleting pack globaldata folder
- Path : /etc/shinken/resource.d/shinken-additional-packs-import/
-----------------------------
| PROBES:
=> Deleting probes
- Path : /var/lib/shinken-user/libexec/shinken-additional-packs/shinken-linux_by_ssh |
| Info |
|---|
À noter :  Vous devrez retirer les éléments importés dans le Synchronizer ( modèles d'hôtes, checks, ... ) via les actions de masses. |
=============================================
DELETE PACK [ linux-by-SSH__shinken ]
=============================================
-----------------------------
| COLLECTOR [ shinken-additional-packs-import ]
=> Deleting collector configuration file
- Path : /etc/shinken/sources/shinken-additional-packs-import.cfg
=> Deleting collector data folder
- Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import
-----------------------------
| MONITORING DEFINITION:
=> Deleting pack globaldata folder
- Path : /etc/shinken/resource.d/shinken-additional-packs-import/
-----------------------------
| PROBES:
=> Deleting probes
- Path : /var/lib/shinken-user/libexec/shinken-additional-packs/shinken-linux_by_ssh |
| Info |
|---|
À noter :  Vous devrez retirer les éléments importés dans le Synchronizer ( modèles d'hôtes, checks, ... ) via les actions de masses . |
Pré-requis pour l'exécution des checks
Pour l'exécution correcte des commandes du pack linux-by-SSH, vous aurez besoin d'une connexion SSH.
Cette section est décrite dans la page Configuration du linux supervisé par le pack linux-by-SSH__shinken
Erreurs lors de l'utilisation du pack
Pour toute erreur survenue lors de l'exécution des checks, voir la page Erreurs du pack linux-by-SSH__shinken
Mise Ă jour d'OpenSSH
Ce script peut ne pas fonctionner correctement avec les versions d'OpenSSH antérieure à la 6, dû à une impossibilité de modifier les droits des fichiers et donc de faire fonctionner le script hors root lors des accès à la commande "lastb" à distance.
- Nous vous conseillons donc de mettre à jour votre version d'OpenSSH, ce qui garantira également une meilleure sécurité sur votre environnement.
- Attention, par précaution, assurez-vous d'avoir une session console au serveur sur lequel vous souhaitez réaliser la mise à jour.
- Si vous rencontrez des soucis dans la mise à jour, avec cette console, vous aurez la possibilité d'intervenir sur le serveur.
Sur la plupart des distributions encore à jour, les versions d'OpenSSH 6 ou supérieures se trouvent déjà dans les dépôts officiels, il vous suffit donc de réaliser votre commande de mise à jour, quelques exemples :
Centos 7 et Redhat 7, 8 :
Code Block language text theme Emacs yum update opensshAlmaLinux 8
Code Block language text theme Emacs dnf update opensshRockyLinux 8
Code Block language text theme Emacs dnf update opensshDebian et Ubuntu
Code Block language text theme Emacs apt-get upgrade opensshArchLinux et autres
Code Block language text theme Emacs pacman -Syu openssh
Pré-requis pour certains checks
Certains checks requièrent un accès spécifique à des fichiers. Pour ce faire, nous vous mettons à disposition une série de commandes.
Ces commandes permettront au groupe de l'utilisateur choisi ( exemple : user-service-shinken )pour votre supervision Shinken d'avoir un accès :- ( en lecture seule ) au fichier /var/log/btmp ( pour le check Connections Failed SSH )
- ( en lecture seule ) au fichier /etc/ssh/sshd_config ( pour le check Security SSH ), fichiers comportant vos logs de connexions échouées et votre configuration SSH.
- ( en lecture, écriture, exécution ) au dossier /tmp/shinken ( pour les checks Stats Disk SSH, Stats Kernel SSH, Stats Net SSH, Stats NFS SSH, Security SSH)
| Info | ||
|---|---|---|
| ||
Cette série de commandes ne peut être effectuée qu'en ayant les droits root. Donc en étant connecté au compte root ou en ayant fait la commande "su" au préalable. |
Check Connection Failed SSH
Commandes à éxecuter :
| Code Block | ||||
|---|---|---|---|---|
| ||||
sed -i -e "s/btmp 0600/btmp 0640/g" /usr/lib/tmpfiles.d/var.conf
chmod 640 /var/log/btmp
usermod -aG utmp user-service-shinken
|
1. La commande sed -i -e "s/btmp 0600/btmp 0640/g" /usr/lib/tmpfiles.d/var.conf modifie les droits par défaut du fichier /var/log/btmp dans le fichier de configuration des fichiers temporaires.
2. La commande chmod 640 /var/log/btmp applique immédiatement les droits nécessaires sur le fichier.
Les utilisateurs du groupe pourront lire les journaux des tentatives de connexion échouées.3. La commande usermod -aG utmp user-service-shinken ajoute l'utilisateur user-service-shinken au groupe utmp, qui a la responsabilité des logs système.
- Cela permet Ă l'utilisateur de supervision de lire le fichier /var/log/btmp.
Check Security SSH
Commandes à éxecuter :
| Code Block | ||||
|---|---|---|---|---|
| ||||
sed -i -e "s/create 0600/create 0640/g" /etc/logrotate.conf
chmod 640 /etc/ssh/sshd_config
chown root:user-service-shinken /etc/ssh/sshd_config
shinken_tmp_dirname="shinken"
mkdir --parents /tmp/$shinken_tmp_dirname
chown root:user-service-shinken /tmp/$shinken_tmp_dirname
chmod g+rwx /tmp/$shinken_tmp_dirname |
1. La commande sed -i -e "s/create 0600/create 0640/g" /etc/logrotate.conf modifie les droits par défaut dans le fichier de configuration de logrotate.
- Cela garantit que, lors de la rotation des fichiers logs ( par défaut, chaque mois ), les permissions de lecture sur /etc/ssh/sshd_config pour le groupe ne seront pas rétablies à des niveaux plus restrictifs.
2. La commande chmod 640 /etc/ssh/sshd_config applique immédiatement les droits nécessaires.
- Le fichier de configuration SSH devient lisible par le groupe.
3. La commande chown root:user-service-shinken /etc/ssh/sshd_config modifie le groupe du fichier.
- Le propriétaire reste root, mais le groupe est désormais user-service-shinken. Cela permet à l'utilisateur de supervision d'accéder au fichier en lecture seule.
4. La commande mkdir --parents /tmp/$shinken_tmp_dirname crée un récursivement un répertoire.
- Le répertoire créé est /tmp/shinken.
- Si un autre dossier de stockage des fichiers temporaire doit être utilisé, modifiez la première ligne : shinken_tmp_dirname="NouveauDossier" ainsi que la variable SHINKEN_TMP_DIRNAME attaché au modèle d'hôte.
5. La commande chown root:user-service-shinken /tmp/shinken modifie le groupe du dossier /tmp/shinken.
- Cela garantit que des droits peuvent être appliqués au groupe shinken sur ce dossier.
6. La commande chmod g+rwx /tmp/shinken applique immédiatement les droits nécessaires au dossier /tmp/shinken pour le groupe user-service-shinken.
- Les droits de lecture, d'écriture et d'exécution sont ajoutés au dossier. Cela permet aux sondes de créer et lire des fichiers dans le dossier /tmp/shinken.
Stats Disk SSH, Stats Kernel SSH, Stats Net SSH, Stats NFS SSH
Commandes à éxecuter :
| Code Block | ||||
|---|---|---|---|---|
| ||||
shinken_tmp_dirname="shinken"
mkdir --parents /tmp/$shinken_tmp_dirname
chown root:user-service-shinken /tmp/$shinken_tmp_dirname
chmod g+rwx /tmp/$shinken_tmp_dirname |
 1. La commande mkdir --parents /tmp/$shinken_tmp_dirname crée un récursivement un répertoire.
- Le répertoire créé est /tmp/shinken.
- Si vous voulez changer le dossier de stockage des fichiers temporaire, modifiez la première ligne : shinken_tmp_dirname="NouveauDossier" ainsi que la donnée SHINKEN_TMP_DIRNAME attaché au modèle d'hôte.
2. La commande chown root:user-service-shinken /tmp/shinken modifie le groupe du dossier /tmp/shinken.
- Cela garantit que des droits peuvent être appliqués au groupe shinken sur ce dossier.
3. La commande chmod g+rwx /tmp/shinken applique immédiatement les droits nécessaires au dossier /tmp/shinken pour le groupe user-service-shinken.
Les droits de lecture, d'écriture et d'exécution sont ajoutés au dossier. Cela permet aux sondes de créer et lire des fichiers dans le dossier /tmp/shinken.
