Serveur de supervision
Un article de MemoWiki.
Sommaire |
Table des matières
Création VM Qemu-Kvm shinken-012
Installation de Debian 6.0 x64 (squeeze)2
Installation de packages complémentaires2
Shinken3
Installation de Shinken3
Découverte du réseau4
modifier /etc/shinken/resource.cfg4
Configuration4
Shinken4
Thruk5
Open Monitoring Distro6
Installation6
récupération du package6
Vérification des dépendances6
Installation des dépendances6
Installation de omd6
Création d'un site7
Démarrage du site7
Utiliser Shinken à la place de Nagios Core7
Utilisation de check_mk8
Configuration8
Actions spécifiques pour Shinken9
correction pour Shinken9
Vérifier la configuration pour Shinken9
PNP4NAGIOS9
Documentation11= Création VM Qemu-Kvm shinken-01 = La distribution choisie est la Debian 6.0 x64.
Cette distribution est récente et réputée stable. Il est plus facile de faire une installation épurée sur cette base. Les package d'installation des différents outils sont toujours présents dans le référentiel apt ou au moins sous forme de paquet .deb
Installation de Debian 6.0 x64 (squeeze)
Installation minimale à partir du cd netinstall
mot de passe root : ******
création compte shinken [******]
Reboot
Installation de packages complémentaires
installation vim et sudo
apt-get install vim sudo
ajout de shinken au groupe sudo
packages graphiques
$ sudo apt-get install libgd-tools
Shinken
Installation du moteur Shinken avec l'interface Thruk via le script mis à disposition sur le site nicolargo.
Cette option permet d'avoir un moteur de supervision moderne, mais n'intègre pas d'outils de métrologie. Ces outils (pnp4nagios …) seront à installer de manière indépendante.
Installation de Shinken
ouverture d'une session avec shinken.
Utilisation de la procédure décrite sur la page http://www.shinken-monitoring.org/download/
shinken@shinken-01:~/scripts$ sudo ./shinkenautoinstall-debian.sh
------------------------------------------------------------------------------ -- Installation ------------------------------------------------------------------------------ [En cours] Install wget, nagios plugins and librairies [OK] Install wget, nagios plugins and librairies [OK] Download Multiprocessing v2.6.2.1 [OK] Untar Multiprocessing v2.6.2.1 [OK] Install Multiprocessing v2.6.2.1 [OK] Download Shinken version 0.6.5 [ERROR] Download Thruk version 1.0.7 [OK] Try another mirror for Thruk... [OK] Untar Shinken v0.6.5 [OK] Install Shinken v0.6.5 [OK] Untar Thruk v1.0.7 for x86_64 [OK] Download the default Thruk configuration for Shinken [OK] Install Thruk v1.0.7 for x86_64 [OK] Download startup scripts [OK] Install Shinken startup script [OK] Install Thruk startup script ------------------------------------------------------------------------------ -- Start current Shinken and Thruk process ------------------------------------------------------------------------------ [OK] Start Shinken [OK] Start Thruk
Installation is finished ============================================================================== Log for the installation script : /tmp/shinkenautoinstall-20110806165432.log Configuration file folder : /etc/shinken Log file : /var/lib/shinken/nagios.log Shinken startup script : /etc/init.d/shinken Thruk startup script : /etc/init.d/thruk Thruk web interface URL : http://shinken-01:3000 ==============================================================================
| |
Lancement de l'interface web
Déroulement de la procédure « 10 minutes ... »
Installation de nmap
sudo apt-get install nmap
Découverte du réseau
modifier /etc/shinken/resource.cfg
$NMAPTARGETS$=localhost www.google.fr 192.168.85.1-254 10.0.1.1-254
sudo shinken-discovery -o /etc/shinken/objects/discovery -r nmap
Sauvegarde et nettoyage de la configuration d'origine
$ cd ~ $ mkdir sauve $ cd sauve $ tar zcvf shinken-backup-initial.tar.gz /etc/shinken $ sudo rm /etc/shinken/objects/hosts/* $ sudo rm /etc/shinken/objects/services. $ sudo rm /etc/shinken/objects/services/* $ sudo rm /etc/shinken/hostgroups.cfg $ sudo rm /etc/shinken/servicegroups.cfg $ sudo touch /etc/shinken/servicegroups.cfg $ sudo touch /etc/shinken/hostgroups.cfg $ sudo chown -R shinken:shinken /etc/shinken/objects/discovery/
redémarrer Shinken
$ sudo /etc/init.d/shinken restart
Configuration
Shinken
Emplacement des fichiers de configuration Shinken
/etc/shinken
Fichiers modifiés
ressource.cfg
### Mysql credentials $MYSQLUSER$=shinken $MYSQLPASSWORD$=sh1nk3n
#### Discovery Part # default snmp community $SNMPCOMMUNITYREAD$=PUBLIC # what to discover by default $NMAPTARGETS$=localhost 192.168.85.1-254 10.0.1.1-254 www.google.fr
templates.cfg
Pour les templates host & services :
Limitation à une seule notification par problème pour éviter les avalanches de mail.
notification_interval 0
Conserver le statut précédent au redémarrage des démons shinken.
retain_state_information 1
Note : Ne fonctionne pas, cette option n'est pas prise en charge par Shinken.
Vérifier la configuration
shinken-arbiter -v -c /etc/nagios.cfg -c /etc/shinken-specific.cfg
Thruk
Emplacement des fichiers de configuration Thruk
/opt/trhruck
Open Monitoring Distro
Installation alternative à partir d'une distribution orientée monotoring omdistro.org.
Ce package installe tous les éléments pour mettre en place un serveur de monitoring complet, dont Shinken, Thruk, nagvis, pnp4nagios.
Cette solution présente l'avantage de fournir une plateforme de supervision complète avec tous les outils récents intégrés et pré-configurés. Il possible de faire fonctionner plusieurs instances sur le même serveur (tests, prépa migration …). Le package est indépendant des distributions Linux. Les changements de versions seront donc facilités.
Installation
Installation sur la vm omdsvr01 identique à shinken01.
récupération du package
wget http://omdistro.org/attachments/download/91/omd-0.48_0.squeeze_amd64.deb
Vérification des dépendances
root@omdsvr01:/home/masters# dpkg-deb --info omd-0.48_0.squeeze_amd64.deb nouveau paquet Debian, version 2.0. taille 30582056 octets : archive de contrôle = 303859 octets. 21 octets, 1 lignes conffiles 354 octets, 16 lignes * config #!/bin/sh 771 octets, 13 lignes control 1299389 octets, 11642 lignes md5sums 3143 octets, 111 lignes * postinst #!/bin/sh 2168 octets, 78 lignes * postrm #!/bin/sh 903 octets, 42 lignes * preinst #!/bin/sh 1186 octets, 50 lignes * prerm #!/bin/sh 300 octets, 8 lignes templates Package: omd-0.48 Version: 0.squeeze Architecture: amd64 Maintainer: <debian@omdistro.org> Installed-Size: 149624 Depends: debconf (>= 0.5) | debconf-2.0, curl, dialog, dnsutils, fping, graphviz, libapache2-mod-fcgid, libapache2-mod-proxy-html, libapache2-mod-python, libdbi0, libevent-1.4-2, libgd2-xpm, libltdl7, libnet-snmp-perl, libpango1.0-0, libreadline6, libsnmp-perl, libuuid1, mysql-server, patch, php5, php5-cgi, php5-cli, php5-gd, php5-mcrypt, php5-sqlite, php-pear, rsync, snmp, unzip, xinetd Section: admin Priority: optional Homepage: http://www.omdistro.org Description: Open Source Monitoring Distribution, containing Nagios, the Nagios plugins, Check_MK, Livestatus, Multisite, PNP4Nagios, NagVis, and other addons. Please visit http://omdistro.org/. root@omdsvr01:/home/masters#
Installation des dépendances
root@omdsvr01:/home/masters# apt-get install debconf curl dialog dnsutils fping graphviz libapache2-mod-fcgid libapache2-mod-proxy-html libapache2-mod-python libdbi0 libevent-1.4-2 libgd2-xpm libltdl7 libnet-snmp-perl libpango1.0-0 libreadline6 libsnmp-perl libuuid1 mysql-server patch php5 php5-cgi php5-cli php5-gd php5-mcrypt php5-sqlite php-pear rsync snmp unzip xinetd
Installation de omd
root@omdsvr01:/home/masters# dpkg -i omd-0.48_0.squeeze_amd64.deb Sélection du paquet omd-0.48 précédemment désélectionné. (Lecture de la base de données... 28804 fichiers et répertoires déjà installés.) Dépaquetage de omd-0.48 (à partir de omd-0.48_0.squeeze_amd64.deb) ... Paramétrage de omd-0.48 (0.squeeze) ... update-alternatives: utilisation de « /omd/versions/0.48 » pour fournir « /omd/versions/default » (omd) en mode automatique. Adding system group omd Considering dependency proxy for proxy_http: Enabling module proxy. Enabling module proxy_http. Run '/etc/init.d/apache2 restart' to activate new configuration! Enabling module rewrite. Run '/etc/init.d/apache2 restart' to activate new configuration! Starting all OMD monitoring sites using omd version 0.48: Traitement des actions différées (« triggers ») pour « man-db »...
Création d'un site
root@omdsvr01:/omd# omd create fbtnet Adding /omd/sites/fbtnet/tmp to /etc/fstab. Created new site fbtnet with version 0.48. Restarting Apache...OK Creating temporary filesystem /omd/sites/fbtnet/tmp...OK Successfully created site fbtnet.
The site can be started with omd start fbtnet. The default web UI is available at http://omdsvr01/fbtnet/ The admin user for the web applications is omdadmin with password omd. Please do a su - fbtnet for administration of this site.
root@omdsvr01:/omd#
Démarrage du site
root@omdsvr01:/omd# omd start fbtnet Starting dedicated Apache for site fbtnet....OK Starting rrdcached...OK Starting npcd...OK Starting nagios...OK Initializing Crontab...OK root@omdsvr01:/omd#
Utiliser Shinken à la place de Nagios Core
root@omdsvr01:/omd# omd stop fbtnet Removing Crontab... Stopping nagios....OK Stopping npcd...OK Stopping rrdcached...waiting for termination...OK Stopping dedicated Apache for site fbtnet.....OK root@omdsvr01:/omd# omd config set CORE shinken omd: no such site: set root@omdsvr01:/omd# su - fbtnet OMD[fbtnet]:~$ omd config set CORE shinken OMD[fbtnet]:~$ exit logout root@omdsvr01:/omd# omd start fbtnet Starting dedicated Apache for site fbtnet....OK Starting rrdcached...OK Starting npcd...OK Starting shinken... scheduler : OK poller : OK reactionner : OK broker : OK arbiter : OK Initializing Crontab...OK root@omdsvr01:/omd#
Utilisation de check_mk
Check_mk est un système évolué de configuration et de surveillance des hotes distants.
Il faut installer le plugin correspondant sur les hotes Windows ou Linux. Pour les équipements réseaux ou les imprimantes, la surveillance peut être réalisée via snmp.
Configuration
documentation en ligne : http://mathias-kettner.de/checkmk.html
Toute la configuration est décrite dans le fichier etc/check_mk /main.mk
Exemple de configuration
# Put your host names here ipaddresses = { "wrt54g" : "192.168.85.1", "HP-C5180" : "192.168.85.30", "be2350" : "192.168.85.4", "be2350-KVM" : "10.0.1.1", "shinken01" : "10.0.1.103", "debi64" : "10.0.1.5", "LAP-BC644" : "192.168.85.110", }
# Create all needed host groups #define_hostgroups = True
# Alternative: define aliases for some host groups define_hostgroups = { "windows" : "The Windows Servers", "routers" : "Routers components", "printers" : "The network printers", "linux" : "The Linux servers", "network" : "switches and other network equipments", }
# all_hosts = [ "localhost" ] all_hosts = ["wrt54g|router|cisco|tcp", "be2350|linux", "HP-C5180|printer|snmp", "be2350-KVM|linux", "debi64|linux", "shinken01|linux", "LAP-BC644|windows" ]
host_groups = [ # all hosts with tag router ( "routers", [ "router" ], ALL_HOSTS ), # hosts with tags linux and debian ( "linux",[ "linux" ], ALL_HOSTS ), # Windows hosts ( "windows",[ "windows" ], ALL_HOSTS ), # network printers ( "printers",[ "printer" ], ALL_HOSTS ), # network equipements ( "network",[ "cisco" ], ALL_HOSTS ), ( "network",[ "procurve" ], ALL_HOSTS ), ( "network",[ "allied" ], ALL_HOSTS ), ]
snmp_default_community = "public"
recherche des équipements
check_mk -I
générer la configuration pour Nagios
check_mk -U
Actions spécifiques pour Shinken
correction pour Shinken
Modifier le fichier etc/nagios/conf.d/check_mk_objects.cfg
remplacer host_groups par hostgroups dans la définition des hosts
Vérifier la configuration pour Shinken
La version actuelle d'OMD ne lance pas de vérification de la configuration avant de démarrer Shinken. S'il y a un problème, le démarrage échoue et il n'y a pas d'information sur l'origine du problème.
Le script shinken_config_check.sh permet de palier ce manque en lançant le check de la configuration. Le résultat est envoyé dans un fichier dans /tmp comme sur une installation standard de Shinken.
Le script est à placer dans le répertoire /omd/sites/$OMD_SITE/local/bin
#!/bin/bash # # Verification de la configuration dans le cas de shinken # Attention, une configurartion peut fonctionner avec le moteur Nagios # et echouer avec Shinken # attention au respect des espaces et de l'indentation dans # la definition des objets.
do_check() { /omd/sites/${OMD_SITE}/etc/rc.d/80-shinken check > /tmp/${OMD_SITE}_shinken_config_check.txt rc=$? if [ $rc -eq 0 ]; then tail -1 /tmp/${OMD_SITE}_shinken_config_check.txt else tail -1 /tmp/${OMD_SITE}_shinken_config_check.txt echo see /tmp/${OMD_SITE}_shinken_config_check.txt file for details fi return $rc }
echo check Shinken configuration ... do_check
Redémarrer la supervision après modification
omd stop
omd start
PNP4NAGIOS
Pnp est préconfiguré. Il suffit d'ajouter les templates host-pnp ou srv-pnp respectivement à la définition des hosts ou des services pour que les liens correspondants apparaissent dans l'interface Thruk. Dans le cas de multisite, les graphes sont disponibles dans tous les cas.
Exemple
define host { host_name wrt54g alias Linksys WRT54G use generic-host-std,host-pnp hostgroups network contact_groups sysadmins address 192.168.85.1 }
Documentation
Shinken
http://www.shinken-monitoring.org/
http://wiki.kogite.fr/index.php/Param%C3%A9trage_de_Shinken
omd
la supervision