Surveillance serveur · 6 min read · Oct 20, 2025

Surveillance de Serveur avec Shinken sur Ubuntu 16.04

Shinken est un cadre de surveillance des ordinateurs et des réseaux open source écrit en python et compatible avec Nagios. Shinken peut être utilisé sur tous les systèmes d’exploitation capables d’exécuter des applications python comme Linux, Unix et Windows. Shinken a été écrit par Jean Gabes comme preuve de concept pour une nouvelle architecture Nagios, mais il a été rejeté par l’auteur de Nagios et est devenu un outil de surveillance des réseaux et des systèmes indépendant qui reste compatible avec Nagios.

Dans ce tutoriel, je vais vous montrer comment installer Shinken à partir de la source et ajouter un hôte Linux au système de surveillance. J’utiliserai Ubuntu 16.04 Xenial Xerus comme système d’exploitation pour le serveur Shinken et l’hôte surveillé.

Étape 1 - Installer le Serveur Shinken

Shinken est un cadre python, nous pouvons l’installer avec pip ou l’installer à partir de la source. Dans cette étape, nous allons installer Shinken à partir de la source.

Il y a quelques tâches à accomplir avant de commencer à installer Shinken.

Installez quelques nouveaux paquets python et créez un utilisateur Linux avec le nom “shinken” :

sudo apt-get install python-setuptools python-pip python-pycurl  
useradd -m -s /bin/bash shinken

Téléchargez la source de Shinken depuis le dépôt GitHub :

git clone https://github.com/naparuba/shinken.git  
cd shinken/

Ensuite, installez Shinken avec la commande ci-dessous :

git checkout 2.4.3  
python setup.py install

Ensuite, pour de meilleurs résultats, nous devons installer ‘python-cherrypy3’ depuis le dépôt ubuntu :

sudo apt-get install python-cherrypy3

Maintenant, Shinken est installé, ensuite nous ajoutons Shinken pour qu’il démarre au démarrage et le démarrons :

update-rc.d shinken defaults  
systemctl start shinken

Étape 2 - Installer Shinken Webui2

Webui2 est l’interface web de Shinken disponible sur shinken.io. Le moyen le plus simple d’installer Sshinken webui2 est d’utiliser la commande shinken CLI (qui doit être exécutée en tant qu’utilisateur shinken).

Connectez-vous à l’utilisateur shinken :

su - shinken

Initialisez le fichier de configuration shinken - La commande va créer un nouveau fichier de configuration .shinken.ini :

shinken --init

Et installez webui2 avec cette commande CLI shinken :

shinken install webui2

Webui2 est installé, mais nous devons installer MongoDB et un autre paquet python avec pip. Exécutez la commande ci-dessous en tant que root :

sudo apt-get install mongodb  
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

Ensuite, allez dans le répertoire shinken et ajoutez le nouveau module webui2 en modifiant le fichier ‘broker-master.cfg’ :

cd /etc/shinken/brokers/  
vim broker-master.cfg

Ajoutez une nouvelle option à l’intérieur du module à la ligne 40 :

modules     webui2

Enregistrez le fichier et quittez l’éditeur.

Maintenant, allez dans le répertoire des contacts et modifiez le fichier ‘admin.cfg’ pour la configuration de l’administrateur.

cd /etc/shinken/contacts/  
vim admin.cfg

Changez les valeurs indiquées ci-dessous :

contact_name    admin       # Nom d'utilisateur 'admin'  
password        yourpass    # Mot de passe 'mypass'

Enregistrez et quittez.

Étape 3 - Installer les Plugins Nagios et les Paquets Shinken

Dans cette étape, nous allons installer les plugins Nagios et quelques modules Perl. Ensuite, installez des paquets shinken supplémentaires depuis shinken.io pour effectuer la surveillance.

Installez les plugins Nagios et cpanminus qui sont nécessaires pour construire et installer les modules Perl :

sudo apt-get install nagios-plugins* cpanminus

Installez ces modules Perl avec la commande cpanm :

cpanm Net::SNMP  
cpanm Time::HiRes  
cpanm DBI

Maintenant, créez un nouveau lien pour le fichier utils.pm dans le répertoire shinken et créez un nouveau répertoire pour Log_File_Health :

chmod u+s /usr/lib/nagios/plugins/check_icmp  
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/  
mkdir -p /var/log/rhosts/  
touch /var/log/rhosts/remote-hosts.log

Ensuite, installez les paquets shinken ssh et linux-snmp pour surveiller les sources SSH et SNMP depuis shinken.io :

su - shinken  
shinken install ssh  
shinken install linux-snmp

Étape 4 - Ajouter un Nouvel Hôte Linux/host-one

Nous allons ajouter un nouvel hôte Linux qui sera surveillé en utilisant un serveur Ubuntu 16.04 avec l’adresse IP 192.168.1.121 et le nom d’hôte ‘host-one’.

Connectez-vous à l’hôte Linux host-one :

ssh [email protected]

Installez les paquets snmp et snmpd depuis le dépôt Ubuntu :

sudo apt-get install snmp snmpd

Ensuite, modifiez le fichier de configuration ‘snmpd.conf’ avec vim :

vim /etc/snmp/snmpd.conf

Commentez la ligne 15 et décommentez la ligne 17 :

#agentAddress  udp:127.0.0.1:161  
agentAddress udp:161,udp6:[::1]:161

Commentez les lignes 51 et 53, puis ajoutez une nouvelle ligne de configuration ci-dessous :

#rocommunity mypass  default    -V systemonly  
#rocommunity6 mypass  default   -V systemonly  
   
rocommunity mypass

Enregistrez et quittez.

Maintenant, démarrez le service snmpd avec la commande systemctl :

systemctl start snmpd

Allez sur le serveur shinken et définissez le nouvel hôte en créant un nouveau fichier dans le répertoire ‘hosts’.

cd /etc/shinken/hosts/  
vim host-one.cfg

Collez la configuration ci-dessous :

define host{  
        use                 generic-host,linux-snmp,ssh  
        contact_groups      admins  
        host_name           host-one  
        address             192.168.1.121  
        _SNMPCOMMUNITY      mypass        # Configuration SNMP sur snmpd.conf  
    }

Enregistrez et quittez.

Modifiez la configuration SNMP sur le serveur Shinken :

vim /etc/shinken/resource.d/snmp.cfg

Changez ‘public’ en ‘mypass’ - cela doit être le même mot de passe que vous avez utilisé dans le fichier de configuration snmpd sur l’hôte client host-one.

$SNMPCOMMUNITYREAD$=mypass

Enregistrez et quittez.

Maintenant, redémarrez les deux serveurs - le serveur Shinken et l’hôte Linux surveillé :

reboot

Le nouvel hôte Linux a été ajouté avec succès au serveur Shinken.

Étape 5 - Accéder à Shinken Webui2

Visitez le Shinken webui2 sur le port 7677 (remplacez l’IP dans l’URL par votre IP) :

http://192.168.1.120:7767

Connectez-vous avec l’utilisateur admin et votre mot de passe (celui que vous avez défini dans le fichier de configuration admin.cfg).

La page de connexion de Shinken

Tableau de bord Shinken dans Webui2.

Le tableau de bord de surveillance Shinken

Nos 2 serveurs sont surveillés avec Shinken.

Les deux serveurs sont surveillés avec Shinken

Liste de tous les services qui sont surveillés avec linux-snmp.

Services surveillés

État de tous les hôtes et services.

L'état de tous les hôtes

Étape 6 - Problèmes Courants avec Shinken

- Problèmes avec le serveur NTP

Lorsque vous obtenez cette erreur avec NTP.

TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server)  
TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )

Pour résoudre ce problème, installez ntp sur tous les hôtes Linux.

sudo apt-get install ntp ntpdate

Modifiez la configuration ntp :

vim /etc/ntp.conf

Commentez tous les pools et remplacez-les par :

#pool 0.ubuntu.pool.ntp.org iburst  
#pool 1.ubuntu.pool.ntp.org iburst  
#pool 2.ubuntu.pool.ntp.org iburst  
#pool 3.ubuntu.pool.ntp.org iburst  
   
pool 0.id.pool.ntp.org  
pool 1.asia.pool.ntp.org  
pool 0.asia.pool.ntp.org

Ensuite, ajoutez une nouvelle ligne à l’intérieur de restrict :

# Les utilisateurs locaux peuvent interroger le serveur ntp plus en détail.  
restrict 127.0.0.1  
restrict 192.168.1.120 #adresse IP du serveur shinken  
restrict ::1

NOTE : 192.168.1.120 est l’adresse IP du serveur Shinken.

Enregistrez et quittez.

Démarrez ntp et vérifiez le tableau de bord Shinken :

tnpd

- Problème check_netint.pl Non Trouvé

Téléchargez la source depuis le dépôt github dans le répertoire lib de shinken :

cd /var/lib/shinken/libexec/  
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl  
chmod +x check_netint.pl  
chown shinken:shinken check_netint.pl

- Problème avec NetworkUsage

Il y a un message d’erreur :

ERROR : Unknown interface eth\d+

Vérifiez votre interface réseau et modifiez le modèle linux-snmp.

Sur mon serveur Ubuntu, l’interface réseau est ‘enp0s8’, pas eth0, donc j’ai eu cette erreur.

Modifiez les packs de modèles linux-snmp avec vim :

vim /etc/shinken/packs/linux-snmp/templates.cfg

Ajoutez l’interface réseau à la ligne 24 :

_NET_IFACES         eth\d+|em\d+|enp0s8

Enregistrez et quittez.

Références

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.