Introduction
This document describes how you can monitor a Linux server Over a SSH connexion. This pack monitors main ressources on a server such as:
- Kernel ressources
- Memory ressources
- Network ressources
- Disk Ressources
- SSH monitor
- NTP status
Introduction
This pack is designed to retreive data over SSH. The Shinken poller service needs to connect over SSH to the remote host. During the Shinken installation, the installer script creates a shinken user on the server hosting the Poller.
The Linux pack uses this user to execute remote commands. The authentication to the remote host is passwordless (managed by an authentication key). The remote user does not need to have specific rights on the system.
SSH Connexion configuration
Client Side
Ce document décrit comme le pack Linux permet de superviser un serveur 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 comandes. 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
Côté client (serveur supervisé)
Créer un utilisateur local "shinken" avec un dossier "home" et un mot de passeCreate a local Shinken system user with homedir and password
Code Block adduser -m -r shinken passwd shinken
Poller server Side
Côté Shinken (serveur Poller)
- Se connecter sur le serveur en tant que l'utilisateur "shinken" et copier la clé SSH vers le serveur à superviserConnect to server as the Shinken user and deploy key:
| Code Block | ||
|---|---|---|
| ||
[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 |
How to use the linux pack
The linux pack can be used by applying the linux host template to a host. This can be done by two different ways:
Using the Configuration UI
In the Configuration UI, simply create or edit a Host, and add the linux template in the Host Templates field by using the selector.
Using Cfg files
In a Cfg file of your choice, create a host and set the use property to linux.
The Cfg file must then be imported into Shinken Enterprise using a source (more information on the associated documentation page: Shinken cfg file Import).
Common issues
- NTPd is in Unknown State
- Install and configure ntp service
- Reboot is in Critical State
- Default critical value for this check is 3600
- CPUstat is in Unknown State
- install sysstat package
Check summary
Comment utiliser le pack Linux
La pack Linux peut être utilisé en applquant 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 statu Inconnu
- Le démon ntp n'est problablement 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 check | Description | Valeurs possibles | Seuil Warning par défaut | Seuil Critique par défaut | Check Name | Description | value range | default Warning | default Critical |
| ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | CPU Stats | Get CPU information through Récupère les infirmations des CPU via la commande "mpstat" command | 0-100 | > 80 | > 90 | |||||||
| 2 | Disks | Get DISKS information through Récupère les informations sur l'utilisation des disques via la commande "df" command | 0-100 | > 90 | > 95 | |||||||
| 3 | Disks stats | Get DISKS STATS information from Récupère les statistiques de lecture/écriture des disques depuis /proc | 0-n | N/A | N/A | |||||||
| 4 | Kernel stats | Get kernel informations from Récupère des statistiques sur le noyau Linux via /proc/vmstat | 0-n | N/A | N/A | |||||||
| 5 | Load Average | Get system load information from Récupère la charge (Load Average) du système via /proc/loadavg | 0-n,0-n,0-n | > "1.5,1.5,1.5" | > "3,3,3" | |||||||
| 6 | MemoryGet Memory information from | Récupère les informations sur la consommation de mémoire via la commande "free" command | 0-100 | > 90 | > 95 | |||||||
| 7 | NET Stats | Get network statistics from Récupère les statistiques des interfaces réseau via /proc/net/dev | 0-n | N/A | N/A | |||||||
| 8 | NFS Stats | Get NFSd statistics from Récupère les statistiques de lecture/écriture des points de montage NFS via /proc/net/rpc/nfsd | 0-n | N/A | N/A | |||||||
| 9 | NTPSyncGet timedelta with ntp server | Récupère le décalage de temps avec le serveur NTP | 0-n | > 40 | > 60 | |||||||
| 10 | Read-only FilesystemsTest if a FS is in Read-only state or not | Vérifie si un système de fichiers est en lecture seule | 0-1 | N/A | = 1 | |||||||
| 11 | Uptime | Get server uptime from Récupère le temps d'uptime du serveur via la commande "uptime" command | 0-n | N/A | < 3600 | |||||||
| 12 | SSH connexionsCheck if a SSH connexion is | Vérifie qu'une connexion SSH vers le serveur est bien possible | 0-1 | N/A | = 0 | |||||||
| 13 | TCP statesGet TCP counts by States | Récupère les statistiques d'usage TCP | 0-n | N/A | N/A |
Personnaliser les seuils de Warning et Critique
Le pack Linux définit des seuils par défaut sur les checks qu'il utilise.
Customize Warning or Critical thresholdsThe linux pack defines default Warning and Critical thresholds for checks.
Customize a single host
Checks from linux packs often provide data that can be changed to customize thresholds.
To change thresholds on one particular host, the most simple way is to change these datas on the host directly.
- This can be done via the Configuration UI, in the Data tab.
For example, changing the CPU_CRIT data to 60 will set the Warning threshold of the CPU Stats check to 60 - Alternatively, this can also be done via Cfg files.
To change the CPU_CRIT data, edit the host and set _HOSTCPU_CRIT.
Customize all hosts using the linux pack
To change all hosts using the linux template, the best idea would seem to be to edit the linux host template directly and set datas.
However, on the next Shinken Enterprise update, these templates can be modified, resulting in a behaviour change and possibly break your configuration.
The best practice is to clone the elements involved in the linux pack and rename them. Then, they can be modified without any risks related to the Shinken Enterprise update process.
The cloned linux pack can then be modified and personalized according to your needs.
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ôtesFor example, in order to change default thresholds, edit your cloned linux host template and edit datas, as described in the previous section.