Le shinken-healthcheck est une commande présente dans toute installation Shinken Entreprise qui permet de vérifier le bon fonctionnement de Shinken Entreprise.
Cet outil est utilisé pour vérifier :
Le shinken-healthcheck est donc un outil de diagnostic général qui peut détecter les problèmes les plus importants. Cependant, il ne fournit pas autant d'informations et de détail que les checks fournissent par Shinken pour sa propre supervision, par exemple des indicateurs de performance.
shinken-healthcheck |
| Option | Option longue | Description |
|---|---|---|
| -h | --help | Affiche le message d'aide |
| -v | --version | Affiche la version de Shinken Entreprise installée |
| -l | --local | Effectue une vérification des démons locaux seulement |
| -g | --global | Effectue une vérification complète des démons (doit être lancé depuis la machine comportant l'Arbiter et le Synchronizer). Par défaut sur une machine avec un Arbiter et un Synchronizer, un Healthcheck global est effectué sauf si un Healthcheck local est explicitement demandé. |
| --debug | Active l'affichage des données de debug dans la sortie de la commande. Cette option est utile seulement dans le cas d'un envoi de ces données aux équipes de support de Shinken Solutions. | |
| -f | --file | Écris la sortie de la commande dans un fichier. La sortie de la commande est également affichée. |
| --output-directory | Dossier dans lequel sera placé le fichier de sortie. Par défaut, le dossier courant est utilisé. | |
| --output-name | Fichier dans lequel sera placé le fichier de sortie. Valeur par défaut: shinken-healthcheck_$(DATE).txt | |
| --timeout | Temps en secondes à partir duquel un démon sera considéré comme injoignable. Par défaut: 3 secondes | |
| --modules-warning-expire | Temps en minutes pendant lequel un redémarrage de module génère une alerte. Par défaut :120 (2 heures), valeur maximale :1440 (24 heures) | |
| --show-history | Affiche l'historique des installations et données de Shinken Entreprise sur ce serveur |
La commande Shinken-healthcheck sépare sa vérification en plusieurs parties qui sont décrites dans les sections suivantes.
La commande shinken-healthcheck peut être utilisée dans deux modes de fonctionnements différents :
L'option --version ou -v nous donnes les informations suivantes :
|
Le Shinken-healthcheck affiche ensuite pour tous les démons activés dans la configuration, différentes informations indiquant le bon fonctionnement du démon:
Dans l'affichage de l'état des démons, ainsi que dans les sections suivantes, plusieurs états peuvent être retournés:
La sous-section "Encryption status" donne des informations sur le chiffrement des propriétés et données protégées :
|
Dans une configuration de Shinken Entreprise, les démons peuvent être répartis sur plusieurs machines.
Dans la commande shinken-healthcheck, les démons sont regroupés en fonction de la machine sur laquelle ils sont installés.
On voit dans l'exemple ci-dessous qu'un Poller est installé sur la machine d'adresse 192.168.1.35, et qu'un Arbiter et un Broker sont installés et activés sur la machine vm3 (172.16.0.3).
Si plusieurs royaumes sont définis, la sortie de Shinken-healthcheck organise les machines par royaume et sous-royaumes, puis les démons sont répartis par machine d'installation.
Dans l'exemple ci-contre, on voit que la configuration comporte 4 royaumes, agencés comme suivant:
On voit aussi, pour chaque royaume, les démons activés ainsi que la machine sur laquelle ils sont installés. Dans l'exemple de Shinken-healthcheck, on peut faire le récapitulatif suivant:
-----------------
| Realm /France |
-----------------
--------------
| In France/ |
--------------
- a.a.a.a (a.a.a.a):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[poller: poller-windows1]
....
- master1 (b.b.b.b):
^^^^^^^^^^^^^^^^^^^^^^^^^^
[arbiter: arbiter-master]
...
[broker: broker-master]
...
[poller: poller-master1]
...
[reactionner: reactionner-master]
...
[synchronizer: synchronizer-master]
...
[receiver: receiver-1]
...
[scheduler: scheduler-master]
...
-----------------------
| Realm /France/Corse |
-----------------------
-------------
| In Corse/ |
-------------
- master3 (d.d.d.d):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[broker: broker-master-3]
...
[poller: poller-master3]
...
[scheduler: scheduler-master3]
...
---------------------------
| Realm /France/Sud Ouest |
---------------------------
-----------------
| In Sud Ouest/ |
-----------------
- master2 (c.c.c.c):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[broker: broker-master-2]
...
------------------------------------
| Realm /France/Sud Ouest/Bordeaux |
------------------------------------
----------------
| In Bordeaux/ |
----------------
- master2 (c.c.c.c):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[poller: poller-master2]
...
[scheduler: scheduler-master2]
... |
Cette section du Shinken-healthcheck affiche des informations sur la licence en cours.
Elle affiche le propriétaire de la licence, le type de licence, et la date d'expiration de la licence.
Si le nombre de nœuds est dépassé ou que la licence est expirée, une erreur sera affichée dans cette section.
A noter que cette section ne s'affiche que sur les serveurs hébergeant un Arbiter ou un Broker. |
|
Shinken Entreprise utilise de nombreuses librairies externes pour fonctionner.
Cette partie du Shinken-healthcheck vérifie que toutes les librairies nécessaires au bon fonctionnement de Shinken Entreprise sont installées sur la machine, ainsi que leur version.
En cas d'erreur sur une des librairies, une erreur est affichée indiquant la nature de l'erreur.
|
Shinken Entreprise sauvegarde les données de métrologie dans un serveur Graphite. Si la configuration de la sauvegarde des données de métrologies est simple pour une configuration basique, elle devient rapidement compliquée lorsque la configuration comporte plusieurs royaumes avec plusieurs Brokers.
Lorsque plusieurs Brokers sont dans un même royaume,
La commande Shinken-healthcheck possède une section dédiée à la vérification des espaces de stockage des données de métrologie, qui vérifie que les brokers de chaque royaume sont configurés pour sauvegarder les données, que tous les modules Webui sont configurés correctement pour lire les données stockées dans les serveurs graphite de chaque royaume ou sous-royaume et que les serveurs de métrologie sont effectivement joignables et aptes à sauvegarder des données.
Pour cette partie, nous allons utiliser une configuration avec un royaume par défaut (Metropole) et deux sous royaumes (Corse et Reunion).
La première section de la vérification vérifie qu'il y a au moins un broker pour chaque royaume ou sous-royaume configuré pour sauvegarder les données de métrologie.
Dans l'exemple ci-contre, nous pouvons voir qu'il y a un broker configuré par royaume, pour sauvegarder les données métrologie sur deux serveurs graphite différent :
Si un royaume n'est configuré sur aucun Broker sauvegardant les données de métrologie, une erreur sera affichée.
On note que s'il n'y a aucun hôte à superviser dans le royaume, le Broker n'a pas besoin de sauvegarder de données de métrologie, et donc ne sera pas indiqué en erreur s'il ne sauvegarde pas de données dans Graphite.
|
Cette section vérifie que chaque module webui a configuré pour chaque royaume ( ou sous royaume ) un serveur graphite que gère le broker.
Dans l'exemple ci-dessous, nous pouvons voir que la vérification de configuration de la lecture s'effectue pour module webui de chaque broker et que pour chaque module, la commande shinken-healthcheck teste la configuration pour les différents royaumes présents sur le broker.
Si un royaume est inconnu ou non géré par le broker, la vérification retournera une erreur pour ce royaume.
|
Cette section présente tous les serveurs graphite répertoriés lors de la lecture de la configuration. Un serveur est déterminé par les modules de type "graphite_perfdata" utilisés et également par les graphite_backend de chaque module de type "webui" utilisées.
Chaque serveur graphite est identifié de manière unique par son adresse IP : il est possible que le module "graphite_perfdata" utilise un nom DNS et le module "Webui" une adresse IP. Si les modules utilisent l'adresse de boucle locale ( 127.0.0.1 ), elle sera également remplacée par l'adresse IP du broker sur lequel il tourne.
Pour chaque serveur deux catégories sont affichées : la partie écriture et la partie lecture.
La partie écriture ( Write connexion status ) affiche :
La partie lecture ( Read connection status ) affiche :
|
Lorsque dans la Fichier de configuration ( shinken.cfg ) l'option de gestion des données de performance ( process_performance_data ) est désactivée, la section "graphite" de la commande Shinken-healthcheck va :
|
La section suivante du Shinken-healthcheck affiche l'état des différents addons actifs sur la machine.
La liste des addons actuellement activés est affichés, avec pour chacun, leur statut ainsi que l'état de différentes vérifications.
Puisque les addons peuvent avoir chacun un fonctionnement différent, les vérifications effectuées diffèrent selon l'addon.
|
L'avant-dernière section du Shinken-healthcheck l'état de la structure des royaumes.
Si la configuration des royaumes est erronée, les autres vérifications ne sont pas faites et seule cette erreur est affichée.
La copie d'écran montre une erreur, car deux royaumes ont été définis comme royaumes par défaut.
Cette dernière section fait résume le nombre d'erreurs, d'informations et de AT RISK présent dans le résultat du Shinken-healthcheck. Cette section permet à l'utilisateur de ne plus faire défiler toutes les lignes du résultat afin de vérifier s'il y a des erreurs ou des avertissements.
Dans notre exemple, nous pouvons savoir aisément qu'il y a 4 erreurs et un avertissement dans le résultat du Shinken-healthcheck.
|
Le Shinken-healthcheck affiche par défaut la version initiale d'installation ainsi que la version actuellement installée.
Il est possible d'obtenir des informations supplémentaires sur l'historique de l'installation en utilisant l'option "--show-history" de la commande "shinken-healthcheck":
shinken-healthcheck --show-history |
Ce paramètre affiche des informations sur l'évolution de Shinken Entreprise depuis son installation initiale.
L'utilisation de cette option est surtout pratique lorsque vous communiquez avec le support Shinken, qui utilisera les informations remontées pour plus facilement retrouver l'origine de votre problème.
L'option --show-history affiche d'abord une liste triée chronologiquement des différentes versions de Shinken installées et désinstallées sur la machine courante.
On peut donc voir facilement, pour une date donnée, quelle était la version de Shinken installée.
Cette option est également utile pour communiquer avec le support Shinken, pour détecter des erreurs de configuration liées à d’anciennes versions de Shinken.
Description des champs de la sortie de l'historique :
| Action | Description | Détails |
|---|---|---|
| INSTALLATION | Première installation de Shinken. |
|
| PATCH | Mise à jour de Shinken. |
Le nom de la version à la ligne correspond à la version vers la quelle la mise à jour est faite. |
| UNPATCH | Désinstalle une mise à jour. |
Le nom de la version à la ligne correspond à la version du patch désinstallé. |
|
Après l'historique des installations vient l'historique des données de Shinken. Cet historique des données est séparé en plusieurs sections correspondantes chacune à un type de donnée différente :
| Action | Description | Détails |
|---|---|---|
| INSTALLATION | Première installation de Shinken. |
|
| UPDATE | Mise à jour de Shinken. |
|
| sanatize | Exécution du script de nettoyage des données. Retravaille les données lors d'une mise à jour ou restauration pour les rendre compatibles avec la version installée / restaurée. |
|
| RESTORE | Restauration d'une sauvegarde. Le type de données restaurées dépend des options utilisées lors du script de restauration. ( Voir Shinken-backup et Shinken-restore, les commandes de sauvegarde et de restauration ) |
|
|
Le dernier type d'information remonté par l'option --show-history est l'historique des paramètres de chiffrement des données sensibles.
À chaque fois que les paramètres de chiffrement sont modifiés et déclenchent un changement dans le chiffrement des données (activation, désactivation, changement des champs chiffrés), une entrée sera ajoutée dans la liste des modifications.
L'état d'activation, le nom de la clé utilisée, l'état de sauvegarde de la clé ainsi que la liste des définitions des données à chiffrer sont affichés pour chaque entrée de la liste.
Notez que le statut de sauvegarde de la clé peut être différent du statut affiché dans la section [Encryption Status] :
Seuls les cinq derniers changements sont conservés.
|