20
INSTALLATION – PARAMETRAGE – UTILISATION HOREL LAETITIA

Nagios doc

Embed Size (px)

Citation preview

Page 1: Nagios doc

INSTALLATION – PARAMETRAGE – UTILISATION

HOREL LAETITIA

Page 2: Nagios doc

1

SOMMAIRE

INTRODUCTION A NAGIOS.....................................................................................................................2

INSTALLATION DES PRÉ-REQUIS.............................................................................................................2

INSTALLATION DE NAGIOS.....................................................................................................................4

CONFIGURATION DE NAGIOS.................................................................................................................6

Plugins................................................................................................................................................7

INTEGRATION DES MACHINES CLIENTES................................................................................................9

a) Host............................................................................................................................................9

b) Services.......................................................................................................................................9

c) Demarrage des services............................................................................................................10

INTERFACE WEB...................................................................................................................................10

a) Map :........................................................................................................................................11

b) Hosts :.......................................................................................................................................12

c) Services :...................................................................................................................................12

CONTROLE CLIENT................................................................................................................................13

a) NRPE.........................................................................................................................................13

b) NS Client ++..............................................................................................................................14

CONCLUSION........................................................................................................................................15

Page 3: Nagios doc

2

NAGIOS SOUS CENT OS 7__________________________________________________________________________________

Dans le cadre d’un projet, nous sommes amenés à mettre en place un outil de supervision, ici Nagios, afin de suivre en continuité le bon fonctionnement de notre infrastructure. Pour cela, notre serveur fonctionnera sous la distribution linux CentOS 7 afin de superviser des hôtes Windows et Linux.

INTRODUCTION A NAGIOSNagios est un logiciel libre de supervision destiné à informer de problèmes éventuels dans le

système d’informations avant que les clients ne le fassent. Il est prévu pour fonctionner sur système d’exploitation Linux. Elle surveille les hôtes et services spécifiés, alertant lorsque les systèmes ont des dysfonctionnements et quand ils repassent en fonctionnement normal. Il est possible de :

Superviser des services réseaux : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc.)

Superviser les ressources des serveurs (charge du processeur, occupation des disques durs, utilisation de la mémoire).

Superviser à distance en utilisant une connexion SSH ou un tunnel SSL (notamment via l’agent NRPE).

Créer des plugins écrits dans les langages de programmation les plus adaptés à leur tâche : scripts shell (Bash, ksh, etc.), C++, Perl, Python, Ruby, PHP, C#, etc.

Quand des problèmes surviennent, Nagios peut envoyer des notifications à des contacts administratifs de façons différentes (email, SMS, messagerie instantanée, etc…). Les informations d’états courants, les historiques et les rapports peuvent être consultés à partir d’un simple navigateur internet.

INSTALLATION DES PRÉ-REQUISPour débuter, vous allez installer les services nécessaires au bon fonctionnement de l’outil.

Vous aurez besoin :

D’un serveur Apache afin d’accéder à NAGIOS via son interface web D’un serveur Php pour traduire les pages web dynamiques.

Pour faciliter l’insertion des commandes, je vous conseille d’utiliser un client de connexion SSH comme PuTTy

Page 4: Nagios doc

3

Pour cela, lancez la commande :

# yuminstall -y httpdphp

Vous aurez également besoin d’OpenSSH pour se connecter en sécurité avec le protocol SSH.

# yum install -y opensshopenssh-server

Installez en plus wget qui vous permettra de télécharger le package de Nagios.

# yum install –y wget

SI vous passez par un proxy, il faudra configurer la commande wget de façon à ce que linuxpuisse communiquer avec internet. Pour modifier le fichier lancez la commande :

# vi /etc/wgetrc

Ajouter les lignes :https_proxy = http://10.100.189.254:3128/http_proxy = http://10.100.189.254:3128/

Nagios a besoin de bibliothèques obligatoires pour son bon fonctionnement. Elles comprennent un compilateur de langage C (gcc), l’affichage des histogrammes et des hôtes (gd et gd-devel) ou encore du chiffrement de données (openssl).Lancez donc la commande suivante pour obtenir toutes ces bibliothèques :

# yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd

Ceci terminé, nous allons créer un utilisateur Nagios afin d’accèder au système en tant qu’administrateur.Faites:

# Useraddnagios

Créez également un groupe qui autorisera les commandes externes à être utilisées via l’interface web.

# groupaddnagcmd# usermod -G nagcmdnagios# usermod -G nagcmd apache

Tous les pré-requis sont maintenant en place pour pouvoir débuter l’installation de Nagios.

Page 5: Nagios doc

4

INSTALLATION DE NAGIOSCommençons par télécharger la version de Nagios 4.0.8. Nous allons utiliser ici la commande

wget qui permet de télécharger un package depuis une source externe. Contrairement à yum qui télécharge et installe un package fournit dans les bases de Linux.

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz

Puis les plugins qui lui sont associés :

# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

Les fichiers téléchargés sont sous le format .tar.gz qui est un format compressé. Vous allez alors les extraire en choisissant l’endroit que vous souhaitez. Dans cette exemple, je le laisse par défaut, à l’endroit téléchargé.

# tar xzf nagios-4.0.8.tar.gz# tar xzf nagios-plugins-2.0.3.tar.gz

Une fois l’extraction terminée, vous pourrez trouver dans le dossier tout un tas de fichier de configuration. Vous allez donc lancer le script de configuration de Nagiosen précisant le groupe créé précédemment afin de compiler le code source puis d’installer l’outil de supervision.

# cd nagios-4.0.8

# ./configure --with-command-group=nagcmd

Le script va alors s’effectuer et vous affichez tout un tas de ligne de configuration. Seul la fin vous intéressera. Si aucune erreur n’a été trouvé, vous aurez un message vous indiquant que tout est correct.

Page 6: Nagios doc

5

Comme indiquer, tapez # make all pour lancer la compilation du code puis # makeinstall pour installer les fichiers de Nagios.Quand Linux a terminé l’application des commandes il vous indiquera :

Insérez donc les commandes suivantes :# makeinstall-init# makeinstall-commandmode# makeinstall-config

Make install-init permet d’installer un script d’initialisation dans le dossier /etc/rc.d/init.d Make install-commandmode donne des permissions dans le dossier pour utiliser les

commandes externes. Make install-config installe des fichiers de configuration de base.

Lorsque c’est terminé, installez des composants web nécessaire à l’utilisation de Nagios:

# make install-webconf

Afin de se connecter à l’interface web, vous allez créer un nouvel utilisateur : Nagiosadmin et lui préciser un mot de passe avec la commande :

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Redémarrez le serveur apache pour prendre en compte les modifications

systemctl restart httpd

Votre Nagios basique est fini d’être installé.

Page 7: Nagios doc

6

CONFIGURATION DE NAGIOS

Aller dans le fichier de configuration de Nagios à l’emplacement /usr/local/nagios/etc et ouvrez le fichier nagios.conf.

# vi /usr/local/nagios/etc/nagios.conf

Ce fichier permet de configurer les alertes de Nagios. Modifiez en fonction des alertes que vous souhaitez recevoir. Sachez que dans tous les cas, Nagios indiquera sur l’interface graphique ce qui ne va pas sur votre réseau.

Exemple du fichier de configuration

Page 8: Nagios doc

7

PluginsPour plus de fonctionnalités, vous pouvez également installer les plugins de Nagios. Le principe de mise en place est la même que pour celle de l’outil.

# cd nagios-plugins-2.0.3# ./configure --with-nagios-user=nagios --with-nagios-group=nagios# make# make install

Pour vérifier qu’il n’y ait aucune erreur dans les fichiers de configuration, lancez la commande suivante.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Si tout est ok, vous devriez voir apparaitre le message suivant :

On peut également modifier l’adresse qui réceptionnera les notifications du serveur en modifiant le fichier de configuration suivant:

vi /usr/local/nagios/etc/objects/contacts.cfg

Page 9: Nagios doc

8

Vous pouvez également autoriser l’accès à la console d’administration à uniquement certaines IP. Pour cela, modifiez le fichier de configuration:

Vi /etc/httpd/conf.d/nagios.conf

Page 10: Nagios doc

9

INTEGRATION DES MACHINES CLIENTES

a) HostPour monitorer nos machines, vous devez les renseigner une à une dans le serveur Linux. Pour cela, vous allez créer un fichier de configuration client ou vous allez entrer certaines informations.

# vi /usr/local/nagios/etc/servers/clients.cfg

Le fichier de configuration doit être créé de la façon suivante :

define host{use                             linux-serverhost_name                       clientalias                           clientaddress                         192.168.10.148max_check_attempts              5check_period                    24x7notification_interval           30notification_period             24x7}

Host Name indiquera le nom de la machine dans Nagios En face d’adresse, renseignez l’adresse IP de la machine à monitorer Max_check_attempts va vérifier 5 fois de suite si le problème est réel avant de nous le

signaler check_period : Nagios va contrôler la machine dans la période donnée. Ici c’est 24h/24 et

7j/7 notification_interval : Compter en minute, un mail sera envoyé tout les tants de minutes, ici

toutes les 30 minutes. Notification_period : Comme pour le check_period, le mail sera envoyé 24h/24 et 7j/7.

b)ServicesComme pour les machines, nous allons indiquer quel service nous souhaitons contrôler sur la machine. Les modifications se font dans le même fichier précédemment créé.

Page 11: Nagios doc

10

# vi /usr/local/nagios/etc/servers/clients.cfg

A la suite du fichier vous aller donc renseigner les lignes suivantes :

define service {        use                             generic-service        host_name                       client        service_description             SSH        check_command                   check_ssh        notifications_enabled           0        }

Host_name : Sera le nom du client auquel vous voulez associer le service. Il doit être identique à l’host-name indiqué précédemment.

Service_description : Le nom du service que vous voulez contrôler Check_command : C’est la commande à effectuer Notifications_enabled : Si vous ne voulez pas recevoir de mail = 0 sinon mettez 1.

c) Demarrage des servicesAvant de continuer, n’oublier surtout pas de démarrer vos services et de faire en sorte qu’ils se lancent au démarrage du serveur. Pour cela, renseignez les commandes :

# systemctl start httpd# systemctl enable httpd# systemctl start nagios# systemctl enable nagios

INTERFACE WEBVotre serveur est donc opérationnel. Récupérez donc l’adresse IP de votre serveur avec la commande ip addr.Entrez la dans un navigateur web quelconque d’une machine Windows suivi de /nagios.

Ce qui donne : votre_ip_server/nagios =====Exemple==== http://192.168.10.129/nagios/

Lors de la connexion, il vous demandera vos identifiants. Renseignez ceux que vous avec créés dans la partie Installation Nagios : nagiosadmin et le mot depasse.

Page 12: Nagios doc

11

Lorsque la connexion est réussie, vous vous retrouverez sur votre interface Nagios

Plusieurs menus s’offrent à vous.

a) Map : Dans ce menu, vous retrouverez le schéma des machines que vous contrôlez et de leur status. La couleur verte indique que tout est bon, orange quand la machine n’est pas disponible et rouge lorsqu’il y a une erreur critique.

Page 13: Nagios doc

12

b)Hosts :Vous trouverez ici la liste des machines qui sont contrôler, ainsi que leur statuts et leurs caractéristiques si vous cliquez dessus….

c) Services :Dans ce menu, c’est la liste des services que vous contrôlez ainsi que toutes les informations les concernants.

Pour résumer, chaque catégorie permet de contrôler ce qui définit le menu. Le listing est donc très complet tout en simplifiant l’utilisation de l’outil.

Page 14: Nagios doc

13

CONTROLE CLIENT

a) NRPENRPE ou Nagios Remote Plugin Executor va permettre de contrôler les ressources physiques des machines fonctionnant sous Linux. On peut donc identifier la ram, la charge processeur, l’espace disque dur etc …Pour le mettre en place, téléchargez le plugin de la même manière que Nagios et son plugin :

# wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz# tar zxvf nrpe-2.15.tar.gz

Compilons et installons maintenant le code source de NRPE

# cd nrpe-2.1# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local# make all# make install# yum install nrpe

Modifiez maintenant le fichier de configuration pour autoriser le contrôle NRPE sur les machines concernées.

# vi /etc/nagios/nrpe.cfg

Page 15: Nagios doc

14

b)NS Client ++NS client ++ équivaut au NRPE. Il va permettre de contrôler les ressources des clients fonctionnant sous Windows. Pour ce faire, télécharger le client NS ++ à l’adresse https://nsclient.org/download/

Lors de l’installation, choisissez le mode Typical et renseignez les informations suivantes :

Faites suivant jusqu’à ce que l’installation se termine.Testez maintenant sur Nagios pour vérifier qu’il récupère bien les informations voulues.

Testez l’utilisation de la charge mémoire par exemple :

/usr/local/nagios/libexec/check_nt –H adresse ip du client –v MEMUSE –p 12489 –s mot_de_passe

MEMUSE : Teste l’utilisation de la mémoire vive. -p : Numéro de port. Par défault c’est 12489 pour NS Client ++. -s mot de passe : C’est le mot de passe renseigné dans le NSClient Password.

Si les deux machines communiquent, vous devriez avoir les résultats de la commande:

Page 16: Nagios doc

15

CONCLUSION

Nagios est donc une solution puissante, complète et personnalisable. Même si l’installation semble parfois être compliquée dût aux nombreux fichiers de configurations à modifier, l’utilisation quotidienne est facile. Un seul bémol à souligner et que, comparer à d’autres soft comme Zabbix, les hôtes et les services à contrôler doivent être rentrés manuellement dans Linux.Il est néanmoins utilisé dans de nombreuses entreprises, que ce doit une SSII, TPE/PME ou en grande entreprise.