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 shinkenTé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 installEnsuite, pour de meilleurs résultats, nous devons installer ‘python-cherrypy3’ depuis le dépôt ubuntu :
sudo apt-get install python-cherrypy3Maintenant, 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 - shinkenInitialisez le fichier de configuration shinken - La commande va créer un nouveau fichier de configuration .shinken.ini :
shinken --initEt installez webui2 avec cette commande CLI shinken :
shinken install webui2Webui2 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.8Ensuite, 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.cfgAjoutez une nouvelle option à l’intérieur du module à la ligne 40 :
modules webui2Enregistrez 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.cfgChangez 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* cpanminusInstallez ces modules Perl avec la commande cpanm :
cpanm Net::SNMP
cpanm Time::HiRes
cpanm DBIMaintenant, 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.logEnsuite, 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 snmpdEnsuite, modifiez le fichier de configuration ‘snmpd.conf’ avec vim :
vim /etc/snmp/snmpd.confCommentez la ligne 15 et décommentez la ligne 17 :
#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161Commentez 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 mypassEnregistrez et quittez.
Maintenant, démarrez le service snmpd avec la commande systemctl :
systemctl start snmpdAllez 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.cfgCollez 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.cfgChangez ‘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$=mypassEnregistrez et quittez.
Maintenant, redémarrez les deux serveurs - le serveur Shinken et l’hôte Linux surveillé :
rebootLe 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) :
Connectez-vous avec l’utilisateur admin et votre mot de passe (celui que vous avez défini dans le fichier de configuration admin.cfg).

Tableau de bord Shinken dans Webui2.

Nos 2 serveurs sont surveillés avec Shinken.

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

État de tous les hôtes et services.

É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 ntpdateModifiez la configuration ntp :
vim /etc/ntp.confCommentez 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.orgEnsuite, 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 ::1NOTE : 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.cfgAjoutez l’interface réseau à la ligne 24 :
_NET_IFACES eth\d+|em\d+|enp0s8Enregistrez et quittez.
Références
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.