Serveur de supervision

Un article de MemoWiki.

Version du 28 août 2011 à 07:11 par Joseph (Discuter | Contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Monitoring
Installation d'une plateforme de supervision intégrée


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

==============================================================================


shinken@shinken-01:~/scripts$

Lancement de l'interface web

http://10.0.1.103:3000


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

http://omdistro.org/


la supervision

http://www.monitoring-fr.org/

Outils personnels