Contexte

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.

(warning) Afin de prévenir tout risque, les démons Shinken Entreprise refuseront de démarrer si la version installée de MongoDB n'est pas celle préconisée.

(warning) Si une version différente de MongoDB est déjà présente sur le serveur, l'installation sera interrompue

(warning) Si vous faites une mise à jour de Shinken Entreprise depuis une version antérieure à la 2.6.1 et que la version de MongoDB installée n'est pas la 2.6.9, la mise à jour sera interrompue

Historique de l'installeur

Concernant l'installeur à utiliser, il faut prendre le dernier en date.

02.08.01

Voici l'historique des installeurs de la version 02.08.01:

Nom de la versionDate de parutionNom de l'installeurModification par rapport à la version précédente
intial

3 aout 2020

shinken-enterprise_V02.08.01-US/FR.tar.gzVersion 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

09 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"




02.08.01.01

Voici l'historique des installeurs de la version 02.08.01.01:

Nom de la versionDate de parutionNom de l'installeurModification par rapport à la version précédente
intial

prochainement

shinken-enterprise_V02.08.01.01-US/FR-XXXX.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




Mise à jour de Shinken Entreprise

Prérequis

Concernant l'OS

Environnement requis : 

  • Centos : 6.10, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9
  • RHEL : 8.5, 8.6, 8.7 [ 64bits ]

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  ( Community  enterprise  Operating  System ). Ces distributions Linux, principalement destinées aux serveurs, sont stables, performantes et compatibles avec une très grande majorité des environnements professionnels.

  • Red Hat Enterprise Linux ( RHEL ) est la distribution référente dans l'écosystème professionnel Linux
  • CentOS est une distribution dont tous ses paquets, à l'exception du logo, sont des paquets compilés à partir des sources de la distribution Red Hat Enterprise Linux ( RHEL )
    • Elle est donc quasiment identique à celle-ci et se veut 100 % compatible d'un point de vue binaire

Concernant le support de ces distributions:

DistributionVersion distributionDate support éditeur distributionGérée actuellement par ShinkenSera gérée dans les prochaines versions de ShinkenRecommandations Shinken

RedHat

6.10

nov 2020

( plus supportée )

OuiNonNe pas installer sur cet OS, et migrer les installations existantes en RedHat 7.

7.2 → 7.9

juin 2024

OuiOuiMettez à jour en RedHat 7.9 si possible.

8

mai 2029

OuiOuiGérée à partir de la 02.08.01.01.
CentOS6.10

nov 2020

( plus supportée )

OuiNonNe pas installer sur cet OS, et migrer les installations existantes en CentOS 7.

7.2 → 7.9

juin 2024

OuiOuiMettez à jour en CentOS 7.9 si possible.

8

décembre 2021

( plus supportée )

NonNon

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.

Concernant la transformation de la Centos en Centos Stream ( Béta de la Redhat )

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 :

  • qui sert à RedHat afin de tester des nouvelles versions de paquets, avant leur sélection si les tests sont fonctionnels dans la RHEL.
  • Elle récupère ainsi le rôle qu'avait la Fedora avant elle.
  • Elle ne nous semble donc pas viable pour une utilisation professionnelle en production.

Il y a donc 2 axes possibles :

  • Vous restez sur Centos 7, le temps qu'un remplaçant se démarque.
    • Le support de la Centos 7 va jusqu'en Juin 2024, ce que laisse une marge conséquente.
    • Dés qu'un remplaçant sera suffisamment stable, nous intégrerons cette OS dans nos mécanismes d'installation / mise à jour / patch
  • Passer vos Centos en Redhat.
Notre recherche du remplaçant de Centos

Pour le remplacement de Centos 7, pour l'instant nous attendons qu'une distribution fasse consensus sur le marché afin de partir sur une distribution pérenne, pour les prochaines années. Actuellement, nous suivons de prêt l'évolution de deux distributions, clones de Centos:

  • Rockylinux ( par le créateur initial de Centos )
  • Almalinux ( par la société CloudLinux )
Transformer une Centos en Redhat

RedHat a mis à disposition un outil de conversion CentOS 7.9 vers RedHat 7.9 qui est convert2rhel.

  • Il vous faudra posséder un compte et une licences valide pour procéder à cette conversion.

Suite à nos tests, la conversion d'un serveur avec Shinken déjà installé est fonctionnelle et n'a aucun impact sur notre outil.

Concernant la Redhat

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
( -> Nom d'utilisateur / mot de passe )

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é )

Concernant les versions de Shinken Entreprise

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 ) :

  • Il faut directement installer la nouvelle version majeure sans appliquer avec le dernier patch disponible.
    • Exemple : inutile appliquer le CumulativePatch-24 pour passer en V02.08.01 )
  • Ensuite, vous appliquez IMMEDIATEMENT le dernier patch disponible de la version Majeur.
    • Exemple : pour la V02.08.01 => appliquer le CumulativePatch-24

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.

  • Exemple : Il n'est pas possible de mettre à jour Shinken V02.08.01 vers une autre version Shinken V02.08.00

Extraction du package et mise à jour

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é-tarez » le package qui vous a été transmis :

  • tar zxvf shinken-enterprise_V02.08.XX- LANGUAGE .tar.gz
  • Cela vous créera un répertoire shinken-entreprise contenant le script de mise à jour et les dépendances nécessaires à la mise à jour.

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:

  • Mettra à jour Shinken Entreprise mais n'aura aucune incidence sur le dossier de configuration de /etc/shinken, évitant tout risque d’écrasement d'une configuration que vous auriez définie. 
  • Au lieu d'écraser votre paramétrage, des fichiers "*.cfg.rpmnew" seront ajoutés. De nouvelles propriétés pourront figurer dans ces fichiers, il est donc conseillé de parcourir ces fichiers et si besoin, récupérer ces nouvelles propriétés pour les intégrer dans votre architecture.
  • Avant la mise à jour, une sauvegarde de la configuration et des données utilisateur est effectuée et placée dans /tmp. Ces sauvegardes sont nommées de la manière suivante: "backup-preupdate-version-NUMERO_VERSION".

Mise à jour ( Mode avancé )

Options disponibles

OptionDescription
--package-update-only-on-conflictPermets 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.
--skip-redhat-subscription-check

Permets de ne pas lancer la vérification de la souscription du serveur auprès de RedHat ( qui doit avoir tout de même accès à des repository locaux ).

--disable-important-notices-user-inputPermet de désactiver les prompts vous demandant confirmation avant de continuer le processus.
(warning) Il vous est cependant fortement conseillé de lire les informations fournies lors de l'installation.
--disable-daemons-restart-after-update

Permets de désactiver le redémarrage des démons à la fin de la mise à jour.

--activate-encryption [<keyname>]Permets d'activer le chiffrement. Le nom de la clé est optionnel, toutefois il vous sera demandé de l'indiquer lors de la mise à jour si vous ne le précisez pas.
--packs-to-installPermets de spécifier la liste des dépendances de packs à installer seulement (parmi la liste oracle,mssql,nagios-checks)
--packs-to-excludePermets de spécifier la liste des dépendances de packs à  exclure (parmi la liste oracle,mssql,nagios-checks)
--ignore-pre-setup-non-blocking-errors

Permets d’ignorer certaines erreurs "mineures" qui pourraient arriver pendant les étapes non essentielles pour le bon fonctionnement de Shinken.

Cette option ignore les problèmes suivants :

  • Les erreurs lors de la sauvegarde du backup avant la mise à jour.

N’utilisez cette option qu’en présence de votre support dédié

Permettre d'exclure l'installation ou la mise à jour de certaines dépendances de sondes

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.

Les options disponibles sont:

  • --packs-to-install : permet de ne sélectionner que les dépendances listées
  • --packs-to-exclude : permet de ne pas installer les dépendances listées

Les "packs" disponibles pour ces options sont:

  • oracle: les dépendances des sondes oracle, notaement le paquet sqlplus founis par Oracle
  • mssql: les dépendances pour les sondes Mssql/Sqlserver
  • nagios-checks: (seulement disponible pour l'installation sur RedHat8) les dépendances pour les sondes Nagios

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

excluera les dépendances des dépdendances des packs oracle et nagios-checks (seulement en RedHat 8 pour ce dernier)


Erreurs courants lors d'une mise à jour

En cas d'erreur lors de la mise à jour, le script update.sh peut s'interrompre pour que vous puissiez corriger le problème.


Les erreurs les plus courantes sont les suivantes :

Problème
Solution
Le script de mise à jour ne parvient pas à se connecter à la base Mongo

Vérifiez que celle-ci est démarrée :

  • Sous CentOS ou RHEL 6 

    service mongod status
  • Sous CentOS ou RHEL 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 7/8

    systemctl start mongod
Le script de mise à jour signale que deux éléments avec le même nom existent dans la base. Le message d'erreur donne la liste des éléments ayant un nom identique.
Supprimez ou renommez l'un des deux éléments dont le nom est indiqué

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"

La version de MongoDB installée sur votre système n'est pas une version validée par Shinken Solutions.
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.
En cas de doute, n'hésitez pas à contacter votre support.





Migration de certains fichiers de configuration

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 

Activation du bac à événements ( Si il n'est pas déjà activé )

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 :

  • Le module event-manager-writer sur vos brokers ( cela permettra d'enregistrer les données aux nécessaires événements )
  • Le module 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.

Vérification du bon fonctionnement

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.

Mise à jour des checks via la source cfg-file-shinken

Lors de l'installation de Shinken, nous incluons de nombreux checks (via des modèles du Packs Shinken, Linux, 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.
Cependant, nous vous conseillons au minimum de mettre à jour les éléments relatifs aux Packs Shinken . (éléments en "nouveau" et en "différence")

Clé de licence Shinken Enterprise

Une fois Shinken Enterprise installé, la commande shinken-healthcheck lancée depuis votre serveur Arbiter affichera un message d'erreur au sujet de la licence:

La licence par défaut installée est une licence d'essai. Vous ne pourrez placer en supervision qu'un très faible nombre d'hôtes.

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 :

  • Placer ce fichier sur le serveur hébergeant l'Arbiter et sur les serveurs hébergeant le ou les UIs de Visualisation , dans le chemin suivant : /etc/shinken/user.key
  • Redémarrez alors Shinken Enterprise via la commande : service shinken restart

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

Résolution des problèmes liés à l'installation/mise à jour

Lors de l'installation des dépendances, si une machine n'est pas connectée à internet ou connectée à un repository privé, il arrive que les scripts d'installation ou de mise à jour échouent.

Dans ce cas, des fichiers sont créés dans le "home" de l'utilisateur avec lequel est effectuée l'installation/mise à jour. Ces fichiers contiennent plus de détails sur les erreurs rencontrées et peuvent être envoyés à votre contact de support Shinken Entreprise pour la correction du problème.

Pour chaque installation/mise à jour, un dossier est créé dans ~/shinken/versions_and_patch_installations/  et nommé de la manière suivante :

  • Pour une installation:
YYYY-MM-DD-HHhMMmSS-install-VXX.XX.XX
  • Pour une mise à jour:
YYYY-MM-DD-HHhMMmSS-update-VXX.XX.XX


Ces dossiers contiennent les données suivantes:

  • Affichage du script d'installation (installation seulement): shinken.enterprise.install.log
  • Détails d'installation des paquets: shinken.enterprise.install.detail.log

  • Nettoyage de la configuration: sanatize.update.log

  • Affichage du script de mise à jour (mise à jour seulement): shinken.enterprise.update.log

  • Backup de la configuration et données utilisateur (mise à jour seulement)

En cas de soucis avec les installations de packages via yum, les erreurs seront présentes dans les fichiers:

  • /tmp/install.txt
  • /tmp/install_bogus.txt




Cas spécifique de la mise à jour d'un cluster Mongo

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: Inférieur à V02.07.00 - Montée de version en Mongodb 3.0 (réalisée automatiquement sous conditions )