Introduction

Cette page décrit comment le pack Linux permet de superviser des serveurs Linux au travers d'une connexion SSH. Ce pack supervise les ressources principales d'un serveur Linux comme:

  • Les ressources du noyau
  • La mémoire
  • Le réseau
  • Les disques
  • Le démon SSH
  • Le démon NTP


Ce pack récupère les informations nécessaires à la supervision en se connectant via SSH à l'hôte distant. Pendant l'installation de Shinken, la procédure d'installation crée automatiquement un utilisateur "shinken" sur tous les serveur Shinken (et donc les Pollers également).

Le pack Linux utilise par défaut cet utilisateur pour exécuter les commandes. L'authentification sur l'hôte distant s'effectue à l'aide d'une clé SSH. L'utilisateur distant ne requiert pas de droits particuliers sur le système.

Configuration de la connexion SSH

Toutes les informations sur la création et la gestion des clés SSH entre shinken et les autres serveurs est expliqué sur la page Création automatique et gestion de la clé SSH de l'utilisateur shinken.

Côté client (serveur supervisé)

  • Créer un utilisateur local "shinken" avec un dossier "home" et un mot de passe

    adduser -m -r shinken 
    passwd shinken

Côté Shinken (serveur Poller)

  • Se connecter sur le serveur en tant que l'utilisateur "shinken" et copier la clé SSH vers le serveur à superviser: 

[root@shinken-poller ~]# su - shinken
[shinken@shinken-poller ~]#  ssh-copy-id  remote_host
The authenticity of host '192.168.1.19 (192.168.1.19)' can't be established.
RSA key fingerprint is 00:ff:ee:dd:cc:bb:aa:d6:d3:79:1d:f6:93:47:80:27.
Are you sure you want to continue connecting (yes/no)? yes
shinken@remote_host's password: XXXXXXXXXXX
Now try logging into the machine, with "ssh '192.168.1.19'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

ssh shinken@remote_host -i .ssh/id_rsa

Cette copie de clé permet d'autoriser le Poller à se connecter sur la machine à superviser. Sur une architecture Shinken qui contient plusieurs Pollers, il faudra alors effectuer cette opération sur chaque Poller pour permettre à chaque Poller de se connecter en SSH sur le serveur à superviser.

Définition de surcharges locales aux connexions SSH sur un poller via le fichier /var/lib/shinken/.ssh/config

Il est possible sur un Poller de définir un comportement spécifique pour les connexions SSH du pack Linux qui ne seront valide que sur ce Poller.

Ceci peut être utile si par exemple le Poller a besoin de passer par une machine proxy pour se connecter aux serveurs distants.

Cette définition spécifique se fait via le fichier /var/lib/shinken/.ssh/config (configuration standard du client openssh sur linux ) qui sera lue par les commandes du pack Linux avant d'effectuer leurs connexions.


Plusieurs paramètres sont pris en compte:

  • proxycommand: permet de définir une commande qui sera appelée pour établir un tunnel, comme pour passer par une machine bastion par exemple
  • key_filename: chemin vers la clé SSH publique utilisée pour la connexion
  • port: port utilisé pour la connexion
  • username: utilisateur distant utilisé pour la connexion

Comme mis dans la documentation de openssh, ces paramètres peuvent être mis dans un bloc au nom de la machine, ou un bloc "*" qui sera valable pour tous les hôtes.

EXEMPLE : surcharge SSH afin de passer par un serveur bastion via un paramètre proxycommand

Par exemple, pour faire passer toutes ses connexions SSH par un serveur bastion, on peux définir le fichier /var/lib/shinken/.ssh/config ( avec les droits 600 pour l'utilisateur shinken ):

Host *
   ProxyCommand ssh -F /dev/null -q -W %h:%p IP-BASTION 


Messages d'erreurs additionnels quand une surcharge est présente sur le Poller

En cas de problème de connexion quand un fichier config existe sur le Poller et a fourni une surcharge, la ou les surcharges seront affichés dans le message d'erreur afin d'aider à comprendre d'où viennent les paramètres de connexions:

  • le port a été surchargé en 2222
  • une proxycommand a été utilisée pour effectuer la connexion

Comment utiliser le pack Linux

La pack Linux peut être utilisé en appliquant le modèle d'hôte "linux" sur un hôte. Cette opération peut être effectuée de 2 manières différentes:

Via l'interface de Configuration

Dans l'interface de Configuration, créer et Editer un Hôte et ajouter le modèle d'hôte "linux" dans la liste des modèles d'hôtes utilisés.

Via un fichier de configuration

Dans un fichier de configuration .cfg de votre choix, créer un hôte et définir la propriété "use" à "linux".

Ce fichier cfg doit ensuite être importé dans Shinken Entreprise via une source ( plus d'informations sont disponibles dans la page de documentation sur la Syntaxe des fichiers d'imports ).

Problèmes usuels et connus

  • Le check NTP est en statut Inconnu
    • Le démon ntp n'est probablement pas installé. Installer et configurer le démon ntp.
  • Le check "Reboot" est en critique
    • La valeur par défaut de ce check est de 3600 secondes ( 1h ). En dessous de ce seuil, un redémarrage a pour effet de mettre le check en état critique. Modifier le seuil selon les besoin pour éviter les notifications ou fausses alertes.
  • Le check "CPU Stats" est en statut Inconnu
    • Vérifier que le paquet "sysstat" est bien installé sur le système.

Résumé des checks


Nom du checkDescriptionValeurs possiblesSeuil Warning par défautSeuil Critique par défaut


1CPU StatsRécupère les informations des CPU via la commande "mpstat"0-100> 80> 90
2DisksRécupère les informations sur l'utilisation des disques via la commande "df"0-100> 90> 95
3Disks statsRécupère les statistiques de lecture/écriture des disques depuis /proc0-nN/AN/A
4Kernel statsRécupère des statistiques sur le noyau Linux via /proc/vmstat0-nN/AN/A
5Load AverageRécupère la charge ( Load Average ) du système via /proc/loadavg0-n,0-n,0-n> "1.5,1.5,1.5"> "3,3,3"
6MemoryRécupère les informations sur la consommation de mémoire via la commande "free"0-100> 90> 95
7NET StatsRécupère les statistiques des interfaces réseau via /proc/net/dev 0-nN/A

N/A


8NFS StatsRécupère les statistiques de lecture/écriture des points de montage NFS via /proc/net/rpc/nfsd0-nN/A

N/A


9NTPSyncRécupère le décalage de temps avec le serveur NTP0-n> 40> 60
10Read-only FilesystemsVérifie si un système de fichiers est en lecture seule0-1N/A= 1
11UptimeRécupère le temps d'uptime du serveur via la commande "uptime"0-nN/A< 3600
12SSH connexionsVérifie qu'une connexion SSH vers le serveur est bien possible0-1N/A= 0
13TCP statesRécupère les statistiques d'usage TCP0-nN/AN/A

Check NtpSync

Selon le démon utilisé pour NTP, le check peut obtenir des détails supplémentaires sur la synchronisation de l'horloge.

Si le démon NTP utilisé est chrony, l'utilisation du modèle d'hôte "chrony" en plus du modèle "linux" permet au check d'obtenir plus de détails sur l'état de la synchronisation NTP.

Personnaliser les seuils d'Avertissement et Critique

Le pack Linux définit des seuils par défaut sur les checks qu'il utilise que vous pouvez modifier.

Changer les seuils pour un seul hôte

Les modèles d'hôte livrés dans Shinken contiennent souvent des variables permettant de changer les seuils et options des checks.

Pour changer ces seuils sur un seul hôte en particulier, la manière la plus simple est de changer des variables via les données présentes sur l'hôte directement:

  • Dans l'interface de Configuration, éditer l'hôte et aller dans l'onglet Données
    Par exemple, changer la donnée CPU_CRIT à 60 aura pour effet de changer le seuil Critique du check "CPU Stats" à 60
  • Via un fichier de configuration.
    Pour changer le seuil Critique du check "CPU Stats", éditer l'hôte et changer la donnée _CPU_CRIT

Changer les seuils pour tous les hôtes qui utilisent le modèle d'hôte "linux"

Pour changer le seuils sur tous les hôtes qui utilisent le modèle d'hôte "linux", on pourrait être tenté de modifier directement le modèle d'hôte "linux" et changer les données personnalisées de cet hôte.

Mais, dans la prochaine mise à jour de Shinken Entreprise, ces modèles d'hôtes/checks peuvent être modifiés, ce qui occasionne un changement de comportement et probablement causer des problèmes dans votre configuration Shinken.

L'alternative conseillée est de cloner les éléments utilisés dans le pack Linux et de les renommer. On peut ensuite modifier sans aucun risque liés aux mises à jour de Shinken Entreprise.

Ce pack linux cloné peut ensuite être modifié et personnalisé selon les besoins.


Par exemple, le changement des seuils s'effectue de la même manière en changeant les données comme décrit dans la section précédente mais dans le modèle d'hôte linux au lieu de faire cette modification directement dans les hôtes.

  • No labels