Contexte

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

  • noms et IP des serveurs,
  • royaume,
  • spare,
  • Tag des Pollers,
  • rétention de données...

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


Installation de Shinken Entreprise

Prérequis

Concernant l'OS

Environnement requis : RHEL/Centos 6.10, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9     [ 64bits ]

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.

  • Red Hat Enterprise Linux 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
    • 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

Pas encoreOuiSera gérée dans une prochaine version, utilisez RedHat 7.9 à la place.
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

( fin de vie proche )

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.

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 )

Concernant Shinken Entreprise


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


Prérequis CPU

La langage de programmation python n'ayant actuellement pas la possibilité d'utiliser plusieurs processus ( multithreading ), chaque démon utilise un ou plusieurs processus :

  • Synchronizer
    • 1 pour l'UI de configuration
    • 1 pour le daemon
  • Broker
    • 1 / Web UI
    • 1 pour le daemon
  • Arbiter
  • Receiver
  • Reactionner
  • Scheduler
  • Poller

Extraction du package et installation

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 :

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

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.

  • Le SDK VMWare nécessaire aux checks est maintenant installé automatiquement ( nécessitait une installation manuelle dans les versions précédentes ).
  • Pour obtenir plus d'informations sur la consommation des démons et améliorer le fonctionnement de Shinken lorsqu'il est installé sur une machine virtuelle VMWare, le paquet "open-vm-tools" doit être installé manuellement :

yum install open-vm-tools



Vérification du bon fonctionnement

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 :

  • L'installation du moteur Shinken Enterprise, des modules et des dépendances.
  • L'activation de tous les démons ( Synchronizer, Arbiter, Scheduler, Poller, Reactionner, Broker, Receiver ).

Pour une installation distribuée, voir la page Architecture Distribuée


Accès aux interfaces web

Interface Utilisateur ( UI ) de configuration 

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.

  • Par défaut, l'interface de configuration est accessible sur le port dédié 7766 ( via le protocole HTTP ). Par exemplehttp://192.168.0.1:7766

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.

Interface Utilisateur ( UI ) de visualisation

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.

  • Par défaut, l'interface de configuration est accessible sur le port dédié 7767 ( via le protocole HTTP ). Par exemple : http://192.168.0.1:7767

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.

Présence du guide d'utilisateur dans le package

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.

Installation du script dump_performance.sh 

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 )

Installation ( Mode avancé )

Choisir les démons activés pendant le processus d'installation

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 :

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

Déplacez-vous dans le répertoire (cd shinken-enterprise_V02.08.XX-LANGUAGE) et lancez la commande ./install.sh mais avec des options basées sur les démons que vous souhaitez activer :

  • --pollernode: active le démon Poller ( dédié au lancement des checks )
  • --reactionnernode: active le démon Reactionner ( dédié au lancement des notifications )
  • --schedulernode: active le démon Scheduler ( planificateur des checks )
  • --arbiternode: active le démon Arbiter ( rôle de distribution centrale )
  • --receivernode: active le démon Receiver ( reçois les checks passifs )
  • --synchronizernode: active le démon Synchronizer ( gère la configuration )
  • --brokernode: active le démon Broker ( export des données )


Vous pouvez par exemple installer Shinken Enterprise et activer directement le Scheduler et le Poller en même temps en tapant la commande

./install.sh --schedulernode --pollernode



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 )

  • Après l'installation initiale, si vous souhaitez activer/désactiver des démons, utilisez la commande d'activation détaillée dans le chapitre Activation/Désactivation des démons.
  • Lors d'une mise à jour, le script update.sh prend en compte les démons qui sont activés ou non.

Les différents addons sont automatiquement activés lors de l'installation:

Mise en place du chiffrement

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
  • --activate-encryption permet d'activer le chiffrement. Le nom de la clé est optionnel toutefois il vous sera demandé lors de l'exécution du programme d'installation si vous ne le précisez pas.
  • --disable-important-notices-user-input permet 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.


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.

Mise en place d'un serveur sans connexion internet

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

  •  --disable-epel ( DEPRECATED ): ancien nom du paramètre, sera supprimé dans le futur


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.


Faire l'installation sur un serveur avec des repository internes ( non publics ) fixés sur une version précise

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


Faire l'installation sur un serveur RedHat non enregistré sur les repository RedHat

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 :

  • --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 ).

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

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.

skip-redhat-subscription-check

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


Ce dossier contient les fichiers suivants:
  • 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 )