Ce guide vous permettra de mettre à jour Shinken Entreprise sur un serveur Linux.
Une fois le guide d'installation suivi, vous aurez rapidement accès à l'interface de Configuration et de Visualisation de Shinken dans une architecture par défaut, c'est-à-dire sur un serveur simple, sur lequel tous les démons seront activés.
Si vous mettez en place une architecture distribuée, après avoir terminé l'installation de Shinken sur vos différents serveurs, il vous faudra passer à la phase de configuration de vos démons (noms et IP des serveurs, royaume, spare, Tag des Pollers, rétention..).
En ce qui concerne la procédure de mise à jour, le script "d'update" vous permettra de mettre à jour votre serveur Shinken de manière complète, même si quelques démons sont seulement activés. La configuration de votre serveur Shinken ne sera pas modifiée.
Lors de l'installation de Shinken Entreprise, le système de gestion de base de données orientée documents MongoDB est mis en place avec la version v3.0.15. Ce système de base de données permettra le bon fonctionnement de l'interface de Configuration et de Visualisation. Utilisé avec une base MongoDB, Graphite , quant à lui, est un outil pour stocker les métriques de vos sondes. Pour ne pas créer de dysfonctionnement, nous vous demandons de ne pas mettre à jour MongoDB / Graphite. Veuillez simplement laisser en place les versions fournies par nos services. |
Concernant l'installeur à utiliser, il faut prendre le dernier en date.
| Nom de la version | Date de parution | Nom de l'installeur | Modification par rapport à la version précédente |
|---|---|---|---|
| intial | 3 aout 2020 | shinken-enterprise_V02.08.01-US/FR.tar.gz | Version d'origine |
| centos_redhat_7_9 | 3 Décembre 2020 | shinken-enterprise_V02.08.01-centos_redhat_7_9-US/FR.tar.gz | Modification de l'installateur: 1 - Rajout du support de Centos/RedHat 7.9 |
| OPTIONS-local-repository-added | 15 Juin 2021 | shinken-enterprise_V02.08.01_US/FR_Linux-OPTIONS-local-repository-added_2021-06-15.tar.gz | Modification de l'installateur: 1 - Rajout de l'option - -skip-redhat-subscription-check ( permet de ne pas vérifier que le serveur est enregistré chez RedHat ) |
| PACKAGE-005 | 23 Mai 2022 | shinken-enterprise_V02.08.01_US/FR_Linux-PACKAGE-005_2022-05-09.tar.gz | Modification de l'installateur: 1 - Rajout de la gestion du cas où l'utilisateur root est désactivé |
| PACKAGE-006 | 23 Mai 2022 | shinken-enterprise_V02.08.01_US/FR_Linux-PACKAGE-006_2022-05-20.tar.gz | Modification de l'installateur: 1 - Résolution d'un problème de duplication de clé SSH dans le fichier authorized_keys |
| PACKAGE-007 | 29 Mai 2022 | shinken-enterprise_V02.08.01_US/FR_Linux-PACKAGE-007_2022-06-15.tar.gz | Modification de l'installateur: 1 - Ajout du paramètre "--ignore-pre-setup-non-blocking-errors" ( permet de passer outre les erreurs non importantes pour le bon fonctionnement de Shinken ) |
| PACKAGE-008 | 15 Novembre 2022 | shinken-enterprise_V02.08.01_US/FR_Linux-PACKAGE-008_2022-09-30.tar.gz | Modification de l'installateur: 1 - Faire une mise à jour de Shinken sur une installation avec la même version rendait l'interface de Visualisation inaccessible 2 - Si la variable d'environnement LANGUAGE définie sur l'OS était différent de la valeur exigée (en_US.UTF8), elle pouvait empêcher l'installation qui s'arrêtait sur une erreur "Yum", et causer divers crashs dans les démons sur des erreurs "Encoding" |
Voici l'historique des installeurs de la version 02.08.01.01 :
| Nom de la version | Date de parution | Nom de l'installeur | Modification par rapport à la version précédente |
|---|---|---|---|
| intial | 17 Novembre 2022 | shinken-enterprise_V02.08.01.01-US/FR-Linux_FULL_2022-11-17.tar.gz | Modification de l'installateur: 1 - Rajout du support de RedHat 2 - Rajout de l'option "--packs-to-install" : permet de ne sélectionner que les dépendances listées 2 - Rajout de l'option "--packs-to-exclude" : permet de ne pas installer les dépendances listées Liste des autres modifications : Voir la release note |
| Nom de la version | Date de parution | Nom de l'installeur | Modification par rapport à la version précédente |
|---|---|---|---|
| intial | 07 Avril 2023 | shinken-enterprise_V02.08.01.02-US/FR-Linux_FULL_2023-04-05.tar.gz | Modification de l'installateur: 1 - Désormais l'installation est possible sur les systèmes AlmaLinux 8 Liste des autres modifications : Voir la release note |
| Nom de la version | Date de parution | Nom de l'installeur | Modification par rapport à la version précédente |
|---|---|---|---|
| intial | prochainement | Modification de l'installateur: 1 - Les dossiers /var/lib/shinken-nagvis et /opt/nagvis/ dans lesquels NagVis va s'installer, peuvent maintenant être des points de montage. 2 - Depuis la mise à jour de RedHat/Alma en 8.8 ( fait le 18/05/2023 ), l'installation des versions précédentes de Shinken échouait. Désormais l'installation est compatible sur les RedHat/Alma 8.5 à 8.8 incluse. Liste des autres modifications : Voir la release note |
Environnement requis :
Avec une installation d'une version antérieure de Shinken déjà effectuée
Shinken Entreprise a choisi les distributions produites par Red Hat : RHEL ( Red Hat Enterprise Linux ) et CentOS ( C ommunity ent erprise O perating S ystem ). Ces distributions Linux, principalement destinées aux serveurs, sont stables, performantes et compatibles avec une très grande majorité des environnements professionnels.
Concernant le support de ces distributions:
| Distribution | Version distribution | Date support éditeur distribution | Gérée actuellement par Shinken | Sera gérée dans les prochaines versions de Shinken | Recommandations Shinken |
|---|---|---|---|---|---|
RedHat | 6.10 | nov 2020 ( plus supportée ) | Oui | Non | Ne pas installer sur cet OS, et migrer les installations existantes en RedHat 7. |
| 7.2 → 7.9 | juin 2024 | Oui | Oui | Mettez à jour en RedHat 7.9 si possible. | |
| 8 | mai 2029 | Oui | Oui | Gérée à partir de la 02.08.01.01. | |
| CentOS | 6.10 | nov 2020 ( plus supportée ) | Oui | Non | Ne pas installer sur cet OS, et migrer les installations existantes en CentOS 7. |
| 7.2 → 7.9 | juin 2024 | Oui | Oui | Mettez à jour en CentOS 7.9 si possible. | |
| 8 | décembre 2021 ( plus supportée ) | Non | Non | La version 8 a été annoncée comme arrêtée fin 2021 ( https://wiki.centos.org/About/Product ) et ne sera donc pas gérée. | |
| AlmaLinux | 8 | mai 2029 | Oui | Oui | Successeur de CentOS, similaire à la RedHat 8. |
Redhat a changé sa politique concernant la Centos, qui devient maintenant une version Béta à la RHEL.
Là ou précédemment elle était une recompilation à l'identique d'une RHEL, elle est désormais une distribution sans version fixe (dite "rolling release") en amont de RHEL :
Il y a donc 2 axes possibles :
Pour le remplacement de Centos 7, deux distributions, clones de Centos, sont en lices pour être le successeur reconnu:
Pour l'instant il nous semble qu'AlmaLinux a une meilleure dynamique que RockyLinux auprès de l'industrie et de nos clients.
Nous la gérons donc en priorité, sans nous interdire de gérer également RockyLinux dans le futur, si le besoin se fait ressentir.
Nous ne recommandons pas de convertir une Centos en un serveur RedHat, mais de procéder à l'installation d'un nouveau serveur et migrer les données entre les deux serveurs Shinken.
Si vous désirez quand même réaliser cette opération, vous pouvez consulter la page : ( PROCEDURE ) Passer de Centos 7.9 à RedHat 7.9
Lors d'une installation de distribution Redhat Enterprise Linux ( commerciale ), il faut rattacher votre souscription Redhat à votre système. Voici les commandes à utiliser depuis le serveur: 1/ subscription-manager register et il faut également l'attacher à l'OS en cours: 2/ subscription-manager attach Yum pourra alors être utilisé correctement car l'abonnement sera valide ( et donc Shinken pourra être installé ) |
Pour mettre à jour Shinken d'une version majeur Patché ( exemple: V02.07.06, avec le cumulativePatch-15 ) vers un nouvelle version majeur ( exemple: V02.08.01 ) :
N'hésitez pas à vérifier ce point avec votre revendeur ou Shinken Solutions. IMPORTANT : Il n'est pas possible de rétrograder de version de Shinken.
|
Mise à jour :
Il faut être loggué en tant que root,
$id uid=0(root) gid=0(root) |
Et que le umask du compte root soit à 0022
$umask 0022 |
« Décompresser » le package qui vous a été transmis :
Déplacez-vous dans le répertoire shinken-entreprise (cd shinken-enterprise_V02.08.XX- LANGUAGE) et exécutez le script :
./update.sh |
Ainsi, la mise à jour:
| Option | Description | |
|---|---|---|
| --activate-encryption <nom de clé> | Permet d'activer le chiffrement.
| |
| --disable-important-notices-user-input | Permet de désactiver les prompts vous demandant confirmation avant de continuer le processus.
| |
| --disable-daemons-restart-after-update | Permets de désactiver le redémarrage des démons à la fin de la mise à jour. ( Désactiver le redémarrage des démons à la fin de la mise à jour. ) | |
| --package-update-only-on-conflict | Permet de ne pas chercher à mettre à jour les paquets déjà installés,
| |
| --skip-redhat-subscription-check | Permet de ne pas lancer la vérification de la souscription du serveur auprès de RedHat
| |
| --packs-to-install | Permet de ne sélectionner que les dépendances listées ( Permettre d'exclure l'installation ou la mise à jour de certaines dépendances de sondes ) | |
| --packs-to-exclude | Permet de ne pas installer les dépendances listées ( Permettre d'exclure l'installation ou la mise à jour de certaines dépendances de sondes ) | |
| --ignore-pre-setup-non-blocking-errors |
| |
| --mongo-host <nom ou IP> | Nom ou IP du serveur MongoDB ( localhost par défaut ) | |
| --mongo-port <port> | Port du serveur MongoDB ( 27017 par défaut ) | |
| --mongo-use-ssh | Utiliser un tunnel SSH pour se connecter au serveur MongoDB | |
| --mongo-ssh-key <fichier> | Nom du fichier contenant la clé SSH pour établir la connexion vers le serveur MongoDB ( /var/lib/shinken/.ssh/id_rsa par défaut ) | |
| --mongo-ssh-user <utilisateur> | Nom de l'utilisateur sur le serveur MongoDB qui permettra d'établir la connexion SSH ( shinken par défaut ) |
Vous pouvez mettre en place le Chiffrement des données sensibles de façon automatique au moment de la mise à jour.
Si vous n'avez jamais activé le chiffrement des données sensibles, nous vous conseillons de procéder à la mise à jour sans activer le chiffrement et de découvrir la fonctionnalité par la lecture du chapitre Chiffrement des données sensibles . |
Une clé de chiffrement sera alors générée lors du processus de mise à jour et la base de données du Synchronizer sera chiffrée.
Pour cela, lancez la commande suivante :
./update.sh --activate-encryption <nom de clé> |
La mise en place automatique du chiffrement nécessite dans tous les cas d'effectuer l'export et la sauvegarde de la clé générée lors du processus. Veuillez consulter shinken-protected-fields-keyfile-export pour plus d'informations. |
Shinken-healthcheck vous permettra de vérifier la bonne configuration des démons et du chiffrement.
Si vous voulez automatiser la mise à jour de Shinken, via un script ansible par exemple, vous allez avoir besoin de désactivé les demandes de saisies lors de la mise à jour de Shinken.
Nous vous conseillons fortement de faire au moins une installation manuel afin de lire les informations fournies lors de la mise à jour avant de d'automatiser l'installation.
Il vous est cependant fortement conseillé de lire les informations fournies lors de la mise à jour.
Dans le cas où vous voulez automatiser la mise à jour sur plusieurs machines, vous pouvez avoir envie de redémarrer tous les démons de toutes les machines en même temps afin d'évité que par exemple un Arbiter trop à jour tente de parler avec des démons qui n'ont pas encore été mis à jour.
Dans le cas d'un serveur qui n'a accès qu'à des " repository " internes qui ne sont pas forcément synchronisés sur les dernières versions des " repository " centos/redhat officiel, le comportement de base de l'installeur et le script d'update sont de mettre à jour tous les packages si une mise à jour est possible, mais ceci peux entrainer des problèmes si l'installeur a une mise à jour à faire trop récente par rapport à ce qu'il a de disponible dans ses " repository ".
Dans ce cas, il faut lancer avec l'option qui demande à ne pas mettre à jour les paquets s'ils sont déjà installés :
--package-update-only-on-conflict : permets de ne pas chercher à mettre à jour les paquets déjà installés et ainsi tente d'éviter d'installer des paquets trop à jour par rapport au " repository " interne qui n'est pas à jour.
Il est a noté que le serveur doit tout de même avoir accès à un " repository " valide, et des conflits de paquets peuvent survenir dans le cas de nouveaux paquets installés et que dans ce cas seul yum requêtant les "repository" peut les résoudre ( arrive dans le cas de paquets de l'installeur trop à jour par rapport à ce qui est disponible dans le repository ). |
Si un serveur RedHat a un accès uniquement à des " repository " locaux, il ne sera pas enregistré directement chez RedHat. La vérification de l'installeur et du script d'update sur les RedHat se base sur la vérification de cette connexion afin de déterminer si le serveur a bien accès aux " repository ". Ici cette vérification va bloquer la mise à jour alors que le serveur a bien accès à des " repository " locaux. Il faut alors utiliser l'option suivante :
L'installeur permet de refuser l'installation ou la mise à jour de certaines dépendances de sondes que l'administrateur ne souhaite pas installer, comme par exemple les paquets sqlplus d'Oracle.
Il est important de noter qu'à l'heure actuelle seules les dépendances des sondes ne sont pas installées.
|
Les options disponibles sont:
Les "packs" disponibles pour ces options sont:
L'administrateur peux choisir d'utiliser une ou l'autre des options:
--packs-to-install : nagios-checks,mssql |
installera uniquement les dépendances des packs nagios et mssql, donc pas les paquets pour oracle
--packs-to-exclude: oracle,nagios-checks |
exclura les dépendances des dépendances des packs oracle et nagios-checks (seulement en RedHat 8 pour ce dernier)
Lors de la mise à jour, une sauvegarde de la configuration est effectuée, et il peut être nécessaire de migrer certaines données en base de données.
Si le serveur mongod ne tourne pas en local sur la machine mise à jour, si son port n'est pas celui par défaut, ou s'il n'y a pas de mongos en écoute sur le port par défaut pour router les requêtes vers la base de données, il est nécessaire de préciser les paramètres de connexion à MongoDB au script de mise à jour.
Les options --mongo-host et --mongo-port permettent de modifier le nom du serveur ( ou son adresse IP ) ainsi que le port à utiliser pour se connecter à MongoDB.
Si la connexion doit être établie via un tunnel SSH, il faut alors ajouter l'option --mongo-use-ssh au script de mise à jour.
Il est également possible de modifier la clé SSH à utiliser avec l'option --mongo-ssh-key , ainsi que l'utilisateur avec lequel se connecter au serveur SSH via l'option --mongo-ssh-user .
Lors d'une mise à jour, il peut arriver que certains fichiers de configuration changent de place.
Le script de mise à jour va gérer ces déplacements de façon transparente.
Si un de ces déplacements implique d'écraser des fichiers existants, les fichiers originaux seront préservés et copiés avec l'extension .patchsave
Lors d'une nouvelle installation, le bac à événements est automatiquement mis en place.
Lors d'une mise à jour depuis une version antérieure, avec une architecture complexe, le script de mise à jour ne peut pas toujours déterminer avec certitude sur quels brokers et quelles Web-UI le bac à événements doit être installé. C'est pourquoi vous devez vous-même effectuer la configuration manuellement.
Il est nécessaire d'ajouter les modules :
event-manager-writer
sur vos brokers ( cela permettra d'enregistrer les données aux nécessaires événements )
event-manager-reader
sur vos WebUI ( cela permettra aux WebUI d'accéder aux données enregistrées pour les événements ) Pour le paramétrage spécifique de ces modules, consulter les pages Module event-manager-writer et Module event-manager-reader .
Pour vérifier que Shinken Entreprise est bien mis à jour, configuré et fonctionnel, lancez dans un shell la commande :
$ shinken-healthcheck |
Elle vous permettra en ligne de commande d'avoir une vision des différents serveurs/éléments qui composent votre architecture Shinken Entreprise.
Lors de l'installation de Shinken, nous incluons de nombreux checks (via des modèles du Packs Shinken , Pack Linux , Pack Windows ,..).
Ces éléments de ces packs (checks, modèles, commandes) sont disponibles au travers de la source "cfg-file-shinken" :
|
Lors d'une update, nous vous fournissons également toutes les mises à jour de ces packs, nous vous conseillons donc d'activer la source et de bien regarder les mises à jour possibles, via les éléments qui apparaîtront en "nouveau" et en "différence".
Si vous avez déjà fait des personnalisations sur les éléments de ces packs, soyez vigilant avant d'appliquer les différences. |
Dans la version V02.07.00, la base Mongodb est mise à jour.
Lorsque Mongodb a été configuré pour fonctionner en tant que cluster, le comportement du script de mise à jour de Shinken Entreprise a été modifié pour prendre en compte cette configuration particulière.
Des explications détaillées sont présentes dans la page de documentation dédiée: Si Shinken Inférieur à V02.07.00 - Montée de version en Mongodb 3.0 (réalisée automatiquement sous conditions )
Le service Commercial de Shinken Enterprise a dû vous envoyer une licence nominative vous permettant d'utiliser pleinement le produit.
La licence est un fichier qui a le nom suivant : user.key et cette licence est nominative et limitée dans le temps.
Pour l'installer, rien de plus simple, il suffit de :
Relancez alors la commande shinken-healthcheck le message d'erreur de licence doit avoir disparu et voici un exemple d'information de licence valide :
|
Si vous n'avez pas de clé de licence ou que celle-ci a expiré, contactez-nous : contact@shinken-solutions.com
Pour chaque installation/mise à jour, un dossier est créé dans ~/shinken /versions_and_patch_installations/ et nommé de la manière suivante :
YYYY-MM-DD-HHhMMmSS-update-VXX.XX.XX |
Ce dossier contienne les données suivantes:
Lors de la mise à jour, il y a un certain nombre d'action ( sanatize ) qui sont automatiquement réalisées.
Si une de ces actions échouent il vous faudra créer un ticket au prêt du support avec les fichiers de logs de la mise à jour.
|
Vérifiez que celle-ci est démarrée :
Sous CentOS ou RHEL 6
service mongod status |
Sous CentOS ou RHEL / AlmaLinux 7/8
systemctl status mongod |
Redémarrez mongod si le démon est arrêté
Sous CentOS ou RHEL 6
service mongod start |
Sous CentOS ou RHEL / AlmaLinux 7/8
systemctl start mongod |
Le script de mise à jour refuse de s'exécuter avec l'erreur suivante :
ERROR: Mongodb is already installed but your Mongodb version XX.YY.ZZ is not supported for install/update" |
Assurez-vous que la version de MongoDB utilisée est la 2.6.9 pour les installations antérieures à Shinken Entreprise 2.6.1 et la 3.0.15 pour les versions de Shinken Entreprise plus récentes.