SlideShare une entreprise Scribd logo
1  sur  14
Université Mohammed V-Rabat
Ecole Nationale Supérieure
d’Informatique et d’Analyse des Systèmes
MANUEL D’UTILISATION
PROJET DE FIN DE LA 2EME ANNEE
Réalisé par :
- NIDABRAHIM Youssef
- KANGA Dominique Bernard
Encadré par :
- Pr. KARIM BAINA
Année universitaire 2016 - 2017
2 La supervision sous Shinken
Table des matières
..........................................................................................................................................................3
Shinken ...........................................................................................................................................3
I. Installation de Shinken.........................................................................................................4
Installer Python .....................................................................................................................4
Installer PyCurl.......................................................................................................................4
Installer setuptools ...............................................................................................................4
Récupération des sources de Shinken............................................................................4
Installer Shinken....................................................................................................................5
Interface Webui2 ..................................................................................................................5
II. Configuration........................................................................................................................5
Configurer l’utilisateur admin............................................................................................6
Installer plugins .....................................................................................................................6
Ajouter un contact ...............................................................................................................7
Ajouter un host..................................................................................................................... 7
Ajouter un service ................................................................................................................8
Ajouter une commande .....................................................................................................8
Métrologie avec Graphite..........................................................................................................9
I. Installation de Graphite ......................................................................................................10
Installer les composants PostgreSQL .............................................................................10
Créer un utilisateur de base de données et une base de données .......................10
Configurez le carbone ....................................................................................................... 11
Installer et configurer Apache.......................................................................................... 11
II. Jonction à Shinken..............................................................................................................12
3 La supervision sous Shinken
Shinken
4 La supervision sous Shinken
I. Installation de Shinken
Shinken est écrit en Python, il aura donc besoin d’une version de Python pour
fonctionner (version 2.6 ou supérieur et si possible 2.7 pour de meilleurs
performances). Il aura aussi besoin de python-pycurl et de setuptools.
Voici les différentes étapes pour ces dépendances
Installer Python
Pour installer Python, rien de plus simple :
sudo apt-get update
sudo apt-get install python
En général, sur Ubuntu Server, Python 2.7 est déjà installé par défaut. Il est possible
que sur d’autres distributions il ne soit pas disponible via les dépôts.
Installer PyCurl
Pour installer PyCurl, il suffit de l’installer via les paquets :
sudo apt-get install python-pycurl
Installer setuptools
Pour installer SetupTools, la démarche est la même :
sudo apt-get install python-setuptools
Voilà, vous avez normalement toutes les dépendances requises pour l’installation de
Shinken.
Récupération des sources de Shinken
Pour récupérer les sources de Shinken et surtout la dernière release, rendez-vous sur
le dépôt de Shinken et télécharger-la :
sudo apt-get install -y git
cd ~
git clone https://github.com/naparuba/shinken.git
cd shinken
git checkout 2.4.2
5 La supervision sous Shinken
Voilà, votre dossier Shinken est prêt, vous allez pouvoir lancer l’installation.
Installer Shinken
Vous allez maintenant pouvoir lancer l’installation de Shinken avec Python. Mais pour
cela, il aura besoin d’un utilisateur shinken. Crééz-le avant de lancer le setup :
adduser shinken
Une fois cela fait, vous pouvez lancer la commande d’installation :
cd ~/shinken
sudo python setup.py install
Voilà, Shinken est prêt à fonctionner. Vous pouvez l’activer et le démarrer :
sudo update-rc.d shinken defaults
sudo service shinken start
Shinken est maintenant opérationnel et tous ses démons sont lancés.
Interface Webui2
Pour l’interface Webui, il va falloir installer d’autres modules. Tapez les commandes
suivantes pour les installer :
Shinken install webui
Shinken install auth-cfg-password
Shinken install sqlitedb
Une fois les modules installés, vous allez devoir indiquer à Shinken que vous voulez
les utiliser.
Ouvrez le fichier /etc/shinken/brokers/broker-master.cfg et trouvez la ligne non
commentée où il y a modules pour y ajouter webui.
Éditez ensuite le fichier /etc/shinken/modules/webui.cfg de la même manière pour y
ajouter auth-cfg-password et SQLitedb.
Votre interface webui est configurée. Si tous les démons de Shinken ont bien été
redémarrés, vous devriez voir la page suivante en vous rendant sur l’adresse :
http://ip_serveur:7767
II. Configuration
6 La supervision sous Shinken
Configurer l’utilisateur admin
Vous pouvez aller changer le mot de passe par défaut du compte admin dans le
fichier /etc/shinken/contacts/admin.cfg :
vi /etc/shinken/contacts/admin.cfg
Modifier le champ password, on peut aussi modifier le nom avec contact_name.
Redémarrez les services Shinken pour prendre en compte la nouvelle configuration :
sudo service shinken restart
On va essayer d’installer tous les packs qui peuvent être utiles :
- linux-ssh : pour le check de machines linux en SSH
- check_mywebsite : pack pour le plugin check mywebsite
- http : pack pour check en http
- linux snmp : pack pour le check en snmp
Installer plugins
Cette configuration nous permet d’ajouter des services, hosts mais pour faire des
check il faut aussi installer des plugins :
sudo wget --no-check-certificate https://www.monitoring-
plugins.org/download/monitoring-plugins-2.1.1.tar.gz
sudo tar -xvf monitoring-plugins-2.1.1.tar.gz
sudo cd monitoring-plugins-2.1.1
sudo ./configure
sudo make install
On peut installer aussi les plugins faits pour Nagios :
sudo install nagios-plugins
Les plugins de Shinken se trouvent dans /var/lib/shinken/libexec et les plugins de
Nagios se trouvent /usr/lib/Nagios/Plugins. Le répertoire d’installation n’a pas de
grande importance car dans les configurations de Shinken on définit les répertoires
des plugins dans le fichier /etc/shinken/ressource.d/paths.cfg.
La configuration de Shinken se trouve dans le répertoire /etc/shinken et à chaque
démarrage Shinken lit tous les fichiers qui finissent avec l’extension .cfg qui se
7 La supervision sous Shinken
trouvent dans ce répertoire ou dans les sous-répertoires de celui-ci. Le fichier
principal de la configuration est /etc/shinken/shinken.cfg. Après chaque changement
de la configuration il faut d’abord tester si la configuration est acceptée par Shinken
via la commande ci-dessous :
/usr/bin/shinken-arbiter –v –c /etc/shinken/shinken.cfg
Ajouter un contact
Un contact est utilisé pour les notifications et pour l’authentification de l’interface web
en cas de l’utilisation du module auth-cfg-password. Les fichiers de contacts se
trouvent dans /etc/shinken/contacts.
nano /etc/shinken/contacts/user.cfg
On ajoute :
define contact {
use generic-contact
contact-name user
email youssef.nidabrahim@gmail.com
page 0671397871
password 123456
is_admin 0
}
Ajouter un host
Le répertoire /etc/shinken/hosts est prévu pour les hôtes.
Créer un fichier <nom_hote>.cfg dans /etc/shinken/objects/host :
touch /etc/shinken/objects/host /host1.cfg
define hote {
use generic-host
alias hote server
contact_groups admins
host-name host1
address 10.23.18.212
}
8 La supervision sous Shinken
Ajouter un service
Un service est lié à un hôte et il doit être déclaré via un fichier situé dans
/etc/shinken/services. Un service fait appel à une commande qui se trouve dans
/etc/shinken/commandes. À part les hôtes tous les éléments surveillés sont déclarés
en tant qu’un service. Chaque service est lié à un hôte via host_name.
Créer un fichier .cfg par exemple apache.cfg dans /etc/shinken/objects/services :
touch /etc/shinken/objects/services/apache.cfg
Ajouter :
define service {
use linux-ssh-service
host-name host1
service-description ApacheHTTP -Etat
check_command check_apache_stat !-p 443
}
Ajouter une commande
Les commandes se trouvent dans /etc/shinken/commandes et /etc/shinken/packs
pour les commandes des packs installés. Chaque élément surveillé est contrôlé par
une commande qui définit l’utilisation d’un plugin et les paramètres. Dans une
commande on doit définir le nom de la commande et la commande à exécuter.
define command {
command_name check_apache_stat
command_line $NAGIOSPLUGINSDIR$/check_apachestatus.pl -H
$HOSTADDRESS$ $ARG1$
}
9 La supervision sous Shinken
Métrologie avec Graphite
10 La supervision sous Shinken
I. Installation de Graphite
Graphite est composé de trois parties :
- Whisper : un moteur de base de données
- Carbon : serveur d’écoute qui s’occupe d’insérer les données en base
- Graphite-web : interface web en python Django
Mettons à jour notre index de paquetage local, puis installez les paquets nécessaires :
sudo apt-get update
sudo apt-get install graphite-web graphite-carbon
Pendant l'installation, on vous demandera si vous voulez que Carbon retire les
fichiers de la base de données si vous décidez de purger l'installation. Choisissez
"Non" ici afin que vous ne détruisiez pas vos statistiques.
Une fois l'installation terminée, Graphite sera installé. Nous devons cependant faire
une configuration supplémentaire pour tout faire et fonctionner.
Installer les composants PostgreSQL
Nous pouvons installer le logiciel de base de données et les paquets auxiliaires dont
nous avons besoin en tapant :
sudo apt-get install postgresql libpq-dev python-psycopg2
Cela installera le logiciel de base de données, ainsi que les bibliothèques Python que
Graphite utilisera pour se connecter et communiquer avec la base de données.
Créer un utilisateur de base de données et une base de données
sudo -u postgres psql
CREATE USER graphite WITH PASSWORD ' password ';
CREATE DATABASE graphite WITH OWNER graphite;
Lorsque vous avez terminé, nous pouvons sortir de la session PostgreSQL :
q
11 La supervision sous Shinken
Nous pouvons synchroniser la base de données pour créer la structure correcte.
Vous pouvez le faire en tapant :
sudo graphite-manage syncdb
Configurez le carbone
Permettez au service du carbone de démarrer au démarrage en Modifiant la valeur
sur true :
sudo nano /etc/default/graphite-carbon
CARBON_CACHE_ENABLED=true
Enregistrez et fermez le fichier.
Ensuite, ouvrez le fichier de configuration Carbon :
sudo nano /etc/carbon/carbon.conf
Activez la rotation du journal en ajustant le réglage de cette directive sur true :
ENABLE_LOGROTATION = True
Enregistrez et fermez le fichier.
Copiez le fichier du répertoire Exemples de carbone dans notre répertoire de
configuration Carbon :
sudo cp /usr/share/doc/graphite-carbon/examples/storage-
aggregation.conf.example /etc/carbon/storage-aggregation.conf
Lorsque vous avez terminé, vous pouvez commencer le carbone en tapant:
sudo service carbon-cache start
Installer et configurer Apache
12 La supervision sous Shinken
Pour utiliser l'interface Web, nous allons installer et configurer le serveur web
Apache. Graphite comprend des fichiers de configuration pour Apache, donc le choix
est assez simple. Installez les composants en tapant :
sudo apt-get install apache2 libapache2-mod-wsgi
Une fois l'installation terminée, nous devrions désactiver le fichier hôte virtuel par
défaut, car il est en conflit avec notre nouveau fichier :
sudo a2dissite 000-default
Ensuite, copiez le fichier hôte virtuel Graphite Apache dans le répertoire des sites
disponibles :
sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-
available
Nous pouvons ensuite activer le fichier hôte virtuel en tapant :
sudo a2ensite apache2-graphite
Rechargez le service pour implémenter les modifications :
sudo service apache2 reload
Maintenant que nous avons tout configuré, nous pouvons vérifier l'interface Web.
Dans votre navigateur Web, visitez le nom de domaine ou l'adresse IP de votre
serveur:
Http: // nom_domain_IP
II. Jonction à Shinken
On installe le module Graphite depuis les dépôts Shinken :
shinken install ui-graphite
shinken install graphite
On ajoute le module graphite-ui à la WebUI :
13 La supervision sous Shinken
vi /etc/shinken/modules/webui.cfg
et ajouter :
modules auth-cfg-password,SQLitedb,ui-graphite
On ajoute le module graphite au broker :
vi /etc/shinken/brokers/broker-master.cfg
et ajouter :
modules webui,graphite
On configure le module graphite :
vi /etc/shinken/modules/graphite.cfg
define module {
module_name Graphite-Perfdata
module_type Graphite-Perfdata
host localhost
port 2003
}
On configure l’accès à la webui graphite sous /etc/shinken/modules/ui-graphite.cfg
define module {
Module_name graphite-ui
Module_type graphite-webui
Uri http://localhost:8080
Template_path /var/lib/shinken/share/templates/graphite/
}
On rédemarre tout en tant que root.
systemctl start httpd
/opt/graphite/bin/carbon-cache.py start
On relance Shinken pour prendre en compte tout cela.
/etc/init.d/shinken restart
14 La supervision sous Shinken

Contenu connexe

Tendances

SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)
SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)
SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)Security Bootcamp
 
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017Amazon Web Services
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
Load Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXLoad Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXNGINX, Inc.
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlReactive.IO
 
Best practices for ansible
Best practices for ansibleBest practices for ansible
Best practices for ansibleGeorge Shuklin
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentGlobalLogic Ukraine
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifsSafaAballagh
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX, Inc.
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansibleOmid Vahdaty
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étudeHibaFarhat3
 
alphorm.com - Formation VMware vSphere 5
alphorm.com - Formation VMware vSphere 5alphorm.com - Formation VMware vSphere 5
alphorm.com - Formation VMware vSphere 5Alphorm
 

Tendances (20)

SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)
SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)
SBC 2012 - Malware Memory Forensics (Nguyễn Chấn Việt)
 
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
 
Pfsense
PfsensePfsense
Pfsense
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
Mini projet Zabbix
Mini projet ZabbixMini projet Zabbix
Mini projet Zabbix
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Load Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXLoad Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINX
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Best practices for ansible
Best practices for ansibleBest practices for ansible
Best practices for ansible
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded Development
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Programmation shell
Programmation shellProgrammation shell
Programmation shell
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifs
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
alphorm.com - Formation VMware vSphere 5
alphorm.com - Formation VMware vSphere 5alphorm.com - Formation VMware vSphere 5
alphorm.com - Formation VMware vSphere 5
 

Similaire à Manuel d'utilisation : La supervision sous Shinken

Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiKhalid EDAIG
 
Mise en place de Nagios core sur Ubuntu 22.04
Mise en place de Nagios core  sur Ubuntu 22.04Mise en place de Nagios core  sur Ubuntu 22.04
Mise en place de Nagios core sur Ubuntu 22.04ImnaTech
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsCocoaHeads France
 
Installation de snort avec pulled pork
Installation de snort avec pulled porkInstallation de snort avec pulled pork
Installation de snort avec pulled porkSamiMessaoudi4
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembeddedAyoub Rouzi
 
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de  messagerie avec le Webmail RoundcubeRapport d’installation d’un serveur de  messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de messagerie avec le Webmail RoundcubeBalla Moussa Doumbouya
 
Presentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamedPresentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamedTECOS
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxZakariyaa AIT ELMOUDEN
 

Similaire à Manuel d'utilisation : La supervision sous Shinken (20)

Nagios doc
Nagios docNagios doc
Nagios doc
 
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
 
Mise en place de Nagios core sur Ubuntu 22.04
Mise en place de Nagios core  sur Ubuntu 22.04Mise en place de Nagios core  sur Ubuntu 22.04
Mise en place de Nagios core sur Ubuntu 22.04
 
Mini projet nextcloud
Mini projet nextcloudMini projet nextcloud
Mini projet nextcloud
 
Pydio_Apache
Pydio_ApachePydio_Apache
Pydio_Apache
 
Actnc2b02 bts1
Actnc2b02 bts1Actnc2b02 bts1
Actnc2b02 bts1
 
Mise en place nagios
Mise en place nagiosMise en place nagios
Mise en place nagios
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
Installation de snort avec pulled pork
Installation de snort avec pulled porkInstallation de snort avec pulled pork
Installation de snort avec pulled pork
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
 
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de  messagerie avec le Webmail RoundcubeRapport d’installation d’un serveur de  messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
 
Presentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamedPresentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamed
 
Hady bah l3
Hady bah l3Hady bah l3
Hady bah l3
 
BTS E4 SYSLOG
BTS E4 SYSLOGBTS E4 SYSLOG
BTS E4 SYSLOG
 
Tuto bada
Tuto badaTuto bada
Tuto bada
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linux
 
Mise en place nagios
Mise en place nagiosMise en place nagios
Mise en place nagios
 
Nagios twil
Nagios twilNagios twil
Nagios twil
 
Implémentation d'openvpn
Implémentation d'openvpnImplémentation d'openvpn
Implémentation d'openvpn
 
Atelier IDS SNORT
Atelier IDS SNORTAtelier IDS SNORT
Atelier IDS SNORT
 

Manuel d'utilisation : La supervision sous Shinken

  • 1. Université Mohammed V-Rabat Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes MANUEL D’UTILISATION PROJET DE FIN DE LA 2EME ANNEE Réalisé par : - NIDABRAHIM Youssef - KANGA Dominique Bernard Encadré par : - Pr. KARIM BAINA Année universitaire 2016 - 2017
  • 2. 2 La supervision sous Shinken Table des matières ..........................................................................................................................................................3 Shinken ...........................................................................................................................................3 I. Installation de Shinken.........................................................................................................4 Installer Python .....................................................................................................................4 Installer PyCurl.......................................................................................................................4 Installer setuptools ...............................................................................................................4 Récupération des sources de Shinken............................................................................4 Installer Shinken....................................................................................................................5 Interface Webui2 ..................................................................................................................5 II. Configuration........................................................................................................................5 Configurer l’utilisateur admin............................................................................................6 Installer plugins .....................................................................................................................6 Ajouter un contact ...............................................................................................................7 Ajouter un host..................................................................................................................... 7 Ajouter un service ................................................................................................................8 Ajouter une commande .....................................................................................................8 Métrologie avec Graphite..........................................................................................................9 I. Installation de Graphite ......................................................................................................10 Installer les composants PostgreSQL .............................................................................10 Créer un utilisateur de base de données et une base de données .......................10 Configurez le carbone ....................................................................................................... 11 Installer et configurer Apache.......................................................................................... 11 II. Jonction à Shinken..............................................................................................................12
  • 3. 3 La supervision sous Shinken Shinken
  • 4. 4 La supervision sous Shinken I. Installation de Shinken Shinken est écrit en Python, il aura donc besoin d’une version de Python pour fonctionner (version 2.6 ou supérieur et si possible 2.7 pour de meilleurs performances). Il aura aussi besoin de python-pycurl et de setuptools. Voici les différentes étapes pour ces dépendances Installer Python Pour installer Python, rien de plus simple : sudo apt-get update sudo apt-get install python En général, sur Ubuntu Server, Python 2.7 est déjà installé par défaut. Il est possible que sur d’autres distributions il ne soit pas disponible via les dépôts. Installer PyCurl Pour installer PyCurl, il suffit de l’installer via les paquets : sudo apt-get install python-pycurl Installer setuptools Pour installer SetupTools, la démarche est la même : sudo apt-get install python-setuptools Voilà, vous avez normalement toutes les dépendances requises pour l’installation de Shinken. Récupération des sources de Shinken Pour récupérer les sources de Shinken et surtout la dernière release, rendez-vous sur le dépôt de Shinken et télécharger-la : sudo apt-get install -y git cd ~ git clone https://github.com/naparuba/shinken.git cd shinken git checkout 2.4.2
  • 5. 5 La supervision sous Shinken Voilà, votre dossier Shinken est prêt, vous allez pouvoir lancer l’installation. Installer Shinken Vous allez maintenant pouvoir lancer l’installation de Shinken avec Python. Mais pour cela, il aura besoin d’un utilisateur shinken. Crééz-le avant de lancer le setup : adduser shinken Une fois cela fait, vous pouvez lancer la commande d’installation : cd ~/shinken sudo python setup.py install Voilà, Shinken est prêt à fonctionner. Vous pouvez l’activer et le démarrer : sudo update-rc.d shinken defaults sudo service shinken start Shinken est maintenant opérationnel et tous ses démons sont lancés. Interface Webui2 Pour l’interface Webui, il va falloir installer d’autres modules. Tapez les commandes suivantes pour les installer : Shinken install webui Shinken install auth-cfg-password Shinken install sqlitedb Une fois les modules installés, vous allez devoir indiquer à Shinken que vous voulez les utiliser. Ouvrez le fichier /etc/shinken/brokers/broker-master.cfg et trouvez la ligne non commentée où il y a modules pour y ajouter webui. Éditez ensuite le fichier /etc/shinken/modules/webui.cfg de la même manière pour y ajouter auth-cfg-password et SQLitedb. Votre interface webui est configurée. Si tous les démons de Shinken ont bien été redémarrés, vous devriez voir la page suivante en vous rendant sur l’adresse : http://ip_serveur:7767 II. Configuration
  • 6. 6 La supervision sous Shinken Configurer l’utilisateur admin Vous pouvez aller changer le mot de passe par défaut du compte admin dans le fichier /etc/shinken/contacts/admin.cfg : vi /etc/shinken/contacts/admin.cfg Modifier le champ password, on peut aussi modifier le nom avec contact_name. Redémarrez les services Shinken pour prendre en compte la nouvelle configuration : sudo service shinken restart On va essayer d’installer tous les packs qui peuvent être utiles : - linux-ssh : pour le check de machines linux en SSH - check_mywebsite : pack pour le plugin check mywebsite - http : pack pour check en http - linux snmp : pack pour le check en snmp Installer plugins Cette configuration nous permet d’ajouter des services, hosts mais pour faire des check il faut aussi installer des plugins : sudo wget --no-check-certificate https://www.monitoring- plugins.org/download/monitoring-plugins-2.1.1.tar.gz sudo tar -xvf monitoring-plugins-2.1.1.tar.gz sudo cd monitoring-plugins-2.1.1 sudo ./configure sudo make install On peut installer aussi les plugins faits pour Nagios : sudo install nagios-plugins Les plugins de Shinken se trouvent dans /var/lib/shinken/libexec et les plugins de Nagios se trouvent /usr/lib/Nagios/Plugins. Le répertoire d’installation n’a pas de grande importance car dans les configurations de Shinken on définit les répertoires des plugins dans le fichier /etc/shinken/ressource.d/paths.cfg. La configuration de Shinken se trouve dans le répertoire /etc/shinken et à chaque démarrage Shinken lit tous les fichiers qui finissent avec l’extension .cfg qui se
  • 7. 7 La supervision sous Shinken trouvent dans ce répertoire ou dans les sous-répertoires de celui-ci. Le fichier principal de la configuration est /etc/shinken/shinken.cfg. Après chaque changement de la configuration il faut d’abord tester si la configuration est acceptée par Shinken via la commande ci-dessous : /usr/bin/shinken-arbiter –v –c /etc/shinken/shinken.cfg Ajouter un contact Un contact est utilisé pour les notifications et pour l’authentification de l’interface web en cas de l’utilisation du module auth-cfg-password. Les fichiers de contacts se trouvent dans /etc/shinken/contacts. nano /etc/shinken/contacts/user.cfg On ajoute : define contact { use generic-contact contact-name user email youssef.nidabrahim@gmail.com page 0671397871 password 123456 is_admin 0 } Ajouter un host Le répertoire /etc/shinken/hosts est prévu pour les hôtes. Créer un fichier <nom_hote>.cfg dans /etc/shinken/objects/host : touch /etc/shinken/objects/host /host1.cfg define hote { use generic-host alias hote server contact_groups admins host-name host1 address 10.23.18.212 }
  • 8. 8 La supervision sous Shinken Ajouter un service Un service est lié à un hôte et il doit être déclaré via un fichier situé dans /etc/shinken/services. Un service fait appel à une commande qui se trouve dans /etc/shinken/commandes. À part les hôtes tous les éléments surveillés sont déclarés en tant qu’un service. Chaque service est lié à un hôte via host_name. Créer un fichier .cfg par exemple apache.cfg dans /etc/shinken/objects/services : touch /etc/shinken/objects/services/apache.cfg Ajouter : define service { use linux-ssh-service host-name host1 service-description ApacheHTTP -Etat check_command check_apache_stat !-p 443 } Ajouter une commande Les commandes se trouvent dans /etc/shinken/commandes et /etc/shinken/packs pour les commandes des packs installés. Chaque élément surveillé est contrôlé par une commande qui définit l’utilisation d’un plugin et les paramètres. Dans une commande on doit définir le nom de la commande et la commande à exécuter. define command { command_name check_apache_stat command_line $NAGIOSPLUGINSDIR$/check_apachestatus.pl -H $HOSTADDRESS$ $ARG1$ }
  • 9. 9 La supervision sous Shinken Métrologie avec Graphite
  • 10. 10 La supervision sous Shinken I. Installation de Graphite Graphite est composé de trois parties : - Whisper : un moteur de base de données - Carbon : serveur d’écoute qui s’occupe d’insérer les données en base - Graphite-web : interface web en python Django Mettons à jour notre index de paquetage local, puis installez les paquets nécessaires : sudo apt-get update sudo apt-get install graphite-web graphite-carbon Pendant l'installation, on vous demandera si vous voulez que Carbon retire les fichiers de la base de données si vous décidez de purger l'installation. Choisissez "Non" ici afin que vous ne détruisiez pas vos statistiques. Une fois l'installation terminée, Graphite sera installé. Nous devons cependant faire une configuration supplémentaire pour tout faire et fonctionner. Installer les composants PostgreSQL Nous pouvons installer le logiciel de base de données et les paquets auxiliaires dont nous avons besoin en tapant : sudo apt-get install postgresql libpq-dev python-psycopg2 Cela installera le logiciel de base de données, ainsi que les bibliothèques Python que Graphite utilisera pour se connecter et communiquer avec la base de données. Créer un utilisateur de base de données et une base de données sudo -u postgres psql CREATE USER graphite WITH PASSWORD ' password '; CREATE DATABASE graphite WITH OWNER graphite; Lorsque vous avez terminé, nous pouvons sortir de la session PostgreSQL : q
  • 11. 11 La supervision sous Shinken Nous pouvons synchroniser la base de données pour créer la structure correcte. Vous pouvez le faire en tapant : sudo graphite-manage syncdb Configurez le carbone Permettez au service du carbone de démarrer au démarrage en Modifiant la valeur sur true : sudo nano /etc/default/graphite-carbon CARBON_CACHE_ENABLED=true Enregistrez et fermez le fichier. Ensuite, ouvrez le fichier de configuration Carbon : sudo nano /etc/carbon/carbon.conf Activez la rotation du journal en ajustant le réglage de cette directive sur true : ENABLE_LOGROTATION = True Enregistrez et fermez le fichier. Copiez le fichier du répertoire Exemples de carbone dans notre répertoire de configuration Carbon : sudo cp /usr/share/doc/graphite-carbon/examples/storage- aggregation.conf.example /etc/carbon/storage-aggregation.conf Lorsque vous avez terminé, vous pouvez commencer le carbone en tapant: sudo service carbon-cache start Installer et configurer Apache
  • 12. 12 La supervision sous Shinken Pour utiliser l'interface Web, nous allons installer et configurer le serveur web Apache. Graphite comprend des fichiers de configuration pour Apache, donc le choix est assez simple. Installez les composants en tapant : sudo apt-get install apache2 libapache2-mod-wsgi Une fois l'installation terminée, nous devrions désactiver le fichier hôte virtuel par défaut, car il est en conflit avec notre nouveau fichier : sudo a2dissite 000-default Ensuite, copiez le fichier hôte virtuel Graphite Apache dans le répertoire des sites disponibles : sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites- available Nous pouvons ensuite activer le fichier hôte virtuel en tapant : sudo a2ensite apache2-graphite Rechargez le service pour implémenter les modifications : sudo service apache2 reload Maintenant que nous avons tout configuré, nous pouvons vérifier l'interface Web. Dans votre navigateur Web, visitez le nom de domaine ou l'adresse IP de votre serveur: Http: // nom_domain_IP II. Jonction à Shinken On installe le module Graphite depuis les dépôts Shinken : shinken install ui-graphite shinken install graphite On ajoute le module graphite-ui à la WebUI :
  • 13. 13 La supervision sous Shinken vi /etc/shinken/modules/webui.cfg et ajouter : modules auth-cfg-password,SQLitedb,ui-graphite On ajoute le module graphite au broker : vi /etc/shinken/brokers/broker-master.cfg et ajouter : modules webui,graphite On configure le module graphite : vi /etc/shinken/modules/graphite.cfg define module { module_name Graphite-Perfdata module_type Graphite-Perfdata host localhost port 2003 } On configure l’accès à la webui graphite sous /etc/shinken/modules/ui-graphite.cfg define module { Module_name graphite-ui Module_type graphite-webui Uri http://localhost:8080 Template_path /var/lib/shinken/share/templates/graphite/ } On rédemarre tout en tant que root. systemctl start httpd /opt/graphite/bin/carbon-cache.py start On relance Shinken pour prendre en compte tout cela. /etc/init.d/shinken restart
  • 14. 14 La supervision sous Shinken