Ce guide vous permettra d'installer 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 votre serveur fait parti d'une architecture distribuée, il vous faudra passer à la phase de configuration de vos démons
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.
Voici l'historique des installeurs de la version 02.08.01:
| 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 | 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" |
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 | 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 3 - 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 |
Environnement requis :
Shinken Entreprise a choisi les distributions produites par Red Hat : Red Hat Enterprise Linux (RHEL) 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.
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 | novembre 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 | novembre 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. |
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, 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:
RedHat a mis à disposition un outil de conversion CentOS 7.9 vers RedHat 7.9 qui est convert2rhel.
Suite à nos tests, la conversion d'un serveur avec Shinken déjà installé est fonctionnelle et n'a aucun impact sur notre outil.
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é ) |
La langage de programmation python n'ayant actuellement pas la possibilité d'utiliser plusieurs processus ( multithreading ), chaque démon utilise un ou plusieurs processus :
Installation automatique :
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 à la base du répertoire shinken-entreprise ( cd shinken-enterprise_V02.08.XX- LANGUAGE ) et exécutez le script :
./install.sh |
Il installera Shinken Entreprise et ses composants automatiquement.
yum install open-vm-tools |
Vérification :
Pour vérifier que Shinken Entreprise est bien installé, configuré et fonctionnel, lancez la commande :
shinken-healthcheck |
Votre licence Shinken Enterprise n'est pas installée, c'est normal, dirigez-vous dans la section Clé de licence plus bas sur cette page afin d'installer votre clé.
L'installation complète fera sur le même serveur :
Pour une installation distribuée, voir la page Architecture Distribuée |
Une fois Shinken Enterprise installé, pour accéder à l'UI de configuration, vous devez pointer votre navigateur Web vers l'adresse affichée durant l'installation.
| L'adresse IP ( ou FQDN si votre résolution DNS est opérationnelle ) correspond à votre serveur hébergeant le démon Synchronizer. |
Voir la page Paramétrage de l'interface de Configuration pour plus d'information.
Une fois Shinken Enterprise installé, pour accéder à l'UI de visualisation, vous devez pointer votre navigateur Web vers l'adresse affichée durant l'installation.
| L'adresse IP (ou FQDN si votre résolution DNS est opérationnelle) correspond à votre serveur hébergeant le démon Broker. |
Voir la page Paramétrage de l'interface de Visualisation pour plus d'information.
Le guide d'utilisateur (en français) est maintenant intégré au package d'installation.
Vous pouvez le retrouver à l'intérieur de shinken-enterprise_V02.08.XX- LANGUAGE .tar.gz dans le répertoire /tools/documentation/ui-visualisation/
Il vous suffira qu'un utilisateur, via son navigateur internet, ouvre le fichier "index.html" afin de pouvoir parcourir le guide d'utilisateur, contenant la documentation liée à l'UI de visualisation.
Ce script permet de stocker les informations systèmes de votre serveur Linux en local. Ces sont des informations très utiles en cas de debug avec le support Shinken.
Sa mise en place est décrite dans la page dump_performance.sh ( top / ps / cpu / kernel / healthcheck )
| Option | Description |
|---|---|
--pollernode | Permet d'activer le démon correspondant ( Choisir les démons activés pendant le processus d'installation ) |
| --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-add-public-epel | Permet de ne pas installer le repository epel sur le serveur ( Mise en place d'un serveur sans connexion internet ) |
| --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 |
| --packs-to-exclude | Permet de ne pas installer les dépendances listées |
Il faut être logué 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 :
Déplacez-vous dans le répertoire (cd shinken-enterprise_V02.08.XX- LANGUAGE) et l ancez la commande ./ install.sh mais avec des options basées sur les démons que vous souhaitez activer :
Vous pouvez par exemple installer Shinken Enterprise et activer directement le Scheduler et le Poller en même temps en tapant la commande
|
Pour vérifier que les démons sélectionnés de Shinken Entreprise sont bien mis à jour, configurés et fonctionnels, lancez la commande :
shinken-healthcheck |
Shinken-healthcheck vérifiera alors que Shinken Entreprise est bien configuré et en cours d'exécution ( seulement pour les démons installés )
Les différents addons sont automatiquement activés lors de l'installation:
Vous pouvez mettre en place le Chiffrement des données sensibles de façon automatique au moment de l'installation.
Si vous n'avez jamais activé le chiffrement des données sensibles, nous vous conseillons de procéder à l’installation 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 d'installation et la base de données du Synchronizer sera chiffrée.
Pour cela, lancez la commande suivante :
./install.sh --activate-encryption <nom de clé> --disable-important-notices-user-input |
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 l'installation de Shinken, via un script ansible par exemple, vous allez avoir besoin de désactivé les demandes de saisies lors de l'installation de Shinken.
Nous vous conseillons fortement de faire au moins une installation manuel afin de lire les informations fournies lors de l'installation avant de d'automatiser l'installation.
Dans le cas d'un serveur qui n'a pas de connexion internet, il faut lancer l'installeur avec le paramètre suivant:
--disable-add-public-epel : permet de ne pas installer le repository epel sur le serveur
Il est à noter que le serveur doit avoir un accès à un repository yum valide (ayant également les paquets présents dans epel) en cas de conflits de versions des rpm entre ce que propose l'installeur et ce qui est déjà installé sur le serveur. |
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 : permet 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 l'installation 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.
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-checks 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)
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
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, un dossier est créé dans ~/shinken/versions_et_patch_installations/ et nommé comme suit:
YYYY-MM-DD-HHhMMmSS-install-VXX.XX.XX |
En cas de soucis avec les installations de packages via yum, les erreurs seront présentes dans les fichiers:
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 )
Dans des cas bien précis un serveur Shinken peux ne pas avoir accès à des repository redhat/centos/epel. Il est important de noter qu'une connexion internet n'est pas nécessaire, juste l'accès à des repository locaux est totalement suffisant.
Si même l'accès à des repository locaux n'est pas possibles, l'installation peux échouer même avec l'usage des options --disable-add-public-epel et --package-update-only-on-conflict car il peuT avoir besoin d'installer des nouveaux paquets dont les dépendances ne seront pas disponibles.
Il est cependant possible de contourner le problème en installant manuellement ces dépendances.
Attention cependant: s'il est tout à fait possible de contourner le problème et d'installer Shinken Enterprise sur le serveur, ne pas avoir accès aux repository systèmes des bases de votre distribution doit être pesé avec beaucoup de soin: => ceci signifie que ce serveur ne pourra pas être maintenu à jour en terme de correction de faille de sécurité (comme par exemple les dernières failles sudo, ssh ou bash par exemple). => ceci doit être une politique connue et acceptée par l'équipe en charge du serveur, ainsi que les risques encourus. |
Une fois une installation bloquée sur le serveur, vous allez avoir la liste des paquets manquants, comme par exemple:
-> Running transaction check --> Package at.x86_64 0:3.1.13-20.el7 will be installed --> Package audit-libs-python.x86_64 0:2.4.1-5.el7 will be installed -> Processing Dependency: audit-libs = 2.4.1-5.el7 for package: audit-libs-python-2.4.1-5.el7.x86_64 |
Dans notre cas, il manque les dépendances at et audit-libs-python pour le paquet installé audit-libs. Il faut donc récupérer leurs rpm, ainsi que ceux de leurs dépendances :
yum install yum-plugin-downloadonly |
Puis nous demandons:
Ils seront téléchargés localement:
yum install -y --downloadonly --downloaddir=. at audit-libs-python audit-libs |
Dans notre cas, ceci télécharge deux paquets ( ils n'avaient pas de dépendances et le paquet audit-libs était déjà à jour ), at-3.1.13-24.el7.x86_64.rpm et audit-libs-python-2.8.5-4.el7.x86_64.rpm.
Il faut alors les envoyer sur le serveur qui n'a pas de repository et les installer localement:
rpm -Uvh at-3.1.13-24.el7.x86_64.rpm audit-libs-python-2.8.5-4.el7.x86_64.rpm |
Il faut ensuite relancer l'installation, et recommencer l'opération si de nouveaux paquets manquants sont détectés.