Cette documentation n'est plus à jour (cf http://shinken.readthedocs.org/en/latest/)

Shinken

Shinken (Katana authentique) est un logiciel libre (GNU AGPL) de supervision écrit en python et pleinement compatible avec Nagios.

Shinken est désormais considéré comme suffisamment stable et mature par ses développeurs pour être utilisé en production (version 1.2.x de Septembre 2012), cette version dépasse largement les capacités de Nagios.

Jean Gabès son développeur l'a développé à l'origine comme preuve de concept pour Nagios. Devant le manque d'ouverture des développeurs de Nagios et le risque de voir ce dernier devenir propriétaire, le projet Shinken devient pleinement autonome. A la différence de Nagios qui est monolithique, Shinken utilise cinq processus différent pour plus de flexibilité.

Il maintient la compatibilité avec les modules d'Acquisition (plugins) de Nagios, mais évolue le coeur de la solution et propose un mode de fonctionnement très moderne et efficace.

  • Architecture distribué grâce à Python, PYRO, JSON, MongoDB, memcached
  • Interface aux données via l'API Livestatus
  • Langage de programmation accessible et puissant, le Python
  • Grande vélocité de développement et d'innovation
  • Intégration complète des bases de données du projet Graphite
  • "Scalabilité" incomparable par rapport aux solutions libres existantes
  • et bien plus.

Pré-requis

Installation

Ubuntu 14.04

apt-get install python-pycurl python-setuptools nagios-plugins 
adduser shinken
wget http://www.shinken-monitoring.org/pub/shinken-2.0.4.tar.gz
tar -xvzf shinken-2.0.4.tar.gz
cd shinken-2.0.4
python setup.py install

Ubuntu 12.04

Shinken fait partie des paquets officiels depuis Ubuntu 12.04. L'installation peut donc se résumer à ceci :
apt-get install shinken

L'installation par les paquets aura pour effet d'installer tous les modules de Shinken :

  • shinken
  • shinken-arbiter
  • shinken-broker
  • shinken-core
  • shinken-discovery
  • shinken-poller
  • shinken-reactionner
  • shinken-receiver
  • shinken-scheduler
  • Installation en un tour de main
curl -L http://install.shinken-monitoring.org | /bin/bash
  • Démarrer Shinken
/etc/init.d/shinken start
  • Lire la documentation ( voir les références et liens )
  • Afin de corriger l'erreur suivante :
Permission denied: '/usr/local/shinken/var/arbiterd.log
  • Modifier l'appartenance du répertoire de travail de shinken
chown -R shinken:shinken /usr/local/shinken

Installation exhaustive

Il faut tout d'abord créer un utilisateur shinken.

sudo adduser shinken --home /usr/local/shinken
Ajout de l'utilisateur « shinken » ...
Ajout du nouveau groupe « shinken » (1001) ...
Ajout du nouvel utilisateur « shinken » (1001) avec le groupe « shinken » ...
Création du répertoire personnel « /usr/local/shinken »...
Copie des fichiers depuis « /etc/skel »...
Mot de passe : 
Retapez le nouveau mot de passe : 
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l'utilisateur shinken
Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
	Nom complet []: Utilisateur de Supervision SHINKEN
	N° de bureau []: 
	Téléphone professionnel []: 
	Téléphone personnel []: 
	Autre []: 
Cette information est-elle correcte ? [O/n]O

Il suffit ensuite de récupérer les sources de Shinken (dernier version stable shinken-1.2.4 - 11-Feb-2013 15:25) :

cd ~
wget http://shinken-monitoring.org/pub/shinken-1.2.4.tar.gz
tar -xvzf shinken-1.2.4.tar.gz
cd ~/shinken-1.2.4
./install -i

ou pour une installation plus complète

./install -i &&\
./install -p nagios-plugins &&\
./install -p check_mem &&\
./install -p manubulon &&\
./install -a pnp4nagios &&\
./install -a nagvis

Shinken va s'installer dans les répertoires /usr/local/shinken/

Démarrer Shinken

 /etc/init.d/shinken start

vous pouvez vérifier que les daemons sont bien lancés : ps -u shinken

PID TTY          TIME CMD
4358 ?        00:00:09 shinken-schedul
4367 ?        00:00:10 shinken-poller
4372 ?        00:00:00 shinken-poller
4380 ?        00:00:09 shinken-reactio
4385 ?        00:00:00 shinken-reactio
4949 ?        00:00:13 shinken-broker
4989 ?        00:00:00 shinken-poller
4990 ?        00:00:00 shinken-poller
4993 ?        00:00:00 shinken-poller
4996 ?        00:00:18 shinken-broker
4997 ?        00:00:00 shinken-broker
5001 ?        00:00:00 shinken-reactio
5004 ?        00:00:00 shinken-poller
5018 ?        00:00:10 shinken-arbiter

Et vérifier que le port d'écoute de l'API Livestatus de l'application est bien accessible :

sudo netstat -laputen | grep 50000 | grep LISTEN

La configuration est sous /usr/local/shinken/etc

nagios.cfg est le fichier de configuration principal en ce qui attrait à la supervision
shinken-specific.cfg contient toutes les informations concernant Shinken et ses modules (ie. daemons, realms, modules, etc.)

Prochaine étape, lire la documentation sur le wiki de Shinken, dans la section getting started.

Configuration

Ubuntu 14.04

Interface WebUI

chmod u+s /usr/lib/nagios/plugins/check_icmp
ln -s /usr/lib/nagios/plugins/utils.pm /usr/share/perl5
 
 
su - shinken
 
shinken --init
shinken install webui
shinken install auth-cfg-password
shinken install sqlitedb
vi /etc/shinken/modules/webui.cfg
webui.cfg
modules		auth-cfg-password,SQLitedb
vi /etc/shinken/brokers/broker-master.cfg
broker-master.cfg
modules		webui
/etc/init.d/shinken start

http://ip_serveur:7767

Superviser via SNMP

shinken install linux-snmp
vi /etc/shinken/hosts<nom_du_serveur_a_superviser.cfg
ubuntu14.cfg
define host{
         use                     linux-snmp
         host_name               nom_du_serveur_a_superviser
         address                 adresse_IP_du_serveur_a_superviser
         }

Sur la machine à superviser

apt-get install snmpd
vi /etc/snmp/snmpd.conf
snmpd.conf
#  Listen for connections from the local system only
#agentAddress udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
 
[...]
 
# rocommunity public defaut -V systemonly
rocommunity public
/etc/init.d/snmpd restart

Ubuntu 12.04

Configuration de l'interface de Shinken, WebUI

Shinken est un daemon de supervision qui possède sa propre interface de visualisation des statuts, nommé WebUI. Elle est inclue et installée par défaut.

Le WebUI de Shinken permet l'intégration et la visualisation de séries de données stocké sous des bases de données RRDtool et Graphite. La WebUI de Shinken s'intégre avec PNP4Nagios (RRDTool) ou nativement avec Graphite. Graphite est une bases de donnée similaire à RRDTool mais beaucoup plus moderne, flexible et distribuée. Elle aussi est en Python comme Shinken, son API et certains de ses modules d'acquisition haute performance.

Guide d'installation de la WebUI (anglais).

De la documentation détaillée en français est disponible sur www.monitoring.fr, mais elle n'est malheureusement pas aussi à jour.

Ce que nous tentons de remédier. Merci de votre compréhension.

Références

Liens

—- Contributeurs principaux : Herrleiche Boss-IT.

  • shinken.txt
  • Dernière modification: Le 28/04/2018, 11:15
  • (modification externe)