Modifications entre les versions 3 et 8 (s'étendant sur 5 versions)
Version 3 à la date du 2008-06-15 22:13:36
Taille: 2203
Commentaire:
Version 8 à la date du 2009-07-30 15:37:08
Taille: 3794
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
= Installation et configuration de Nagios =
Ligne 4: Ligne 3:
== Fiche serveur ==
||Services || apache2, nagios, mysql, exim *||
||Sécurité ||sudo, sXid, Logcheck, PortSentry||
|| Outils || Git, iproute, mtr, trafshow, tcpdump, dig ||
Ligne 10: Ligne 5:
L'installation est assez classique: Rien de plus simple:
Ligne 12: Ligne 7:
# aptitude install apache2 nagios-mysql mysql-server # aptitude install apache2 nagios3
Ligne 14: Ligne 9:
Pour la (re)configuration de la base de données associée à nagios, il est plus simple d'utiliser Pour la configuration du mot de passe de nagiosadmin
Ligne 16: Ligne 11:
# dpkg-reconfigure nagios-mysql # dpkg-reconfigure nagios3-common
Ligne 18: Ligne 13:
Ensuite, ne pas oublier d'ajuster les paramètres de connexion à la BD dans le fichier /etc/nagios/resources.cfg. Ce fichier n'est pas modifié par la commande précédente, mais empêchera la connexion à la bd si pas ajusté correctement.

Dans mon cas, j'ai utilisé le système d'authentification proposé par nagios par défaut, via le fichier /etc/nagios/htpasswd, que l'on peut modifier avec la commande htpasswd.
Cette commande crée le fichier /etc/nagios3/htpasswd.users qu'on peut utiliser plus tard pour gérer de nouveaux utilisateurs et leur mot de passe.
Pour l'instant, pas de mysql (chaque chose en son temps).
Ligne 23: Ligne 17:
'''Section Non achevée''' Il me semble que la configuration de nagios est une tâche de longue haleine. Alors je suis pas pressé, j'y vais au fur et à mesure que j'identifierais des besoins de monitoring. Par conséquent, cette section s'enrichira au fur et à mesure que j'avancerais dans cette aventure.
Ligne 25: Ligne 19:
Personnellement, j'ai opté pour une configuration progressive des services/hôtes à surveiller. Pour tester mon installation, j'ai commencé par surveillé l'état d'une des passerelles du BAC. Mais voici quelques actions à faire juste après l'installation
1- Configurer les contacts des différents administrateurs. Pour cela, éditer les fichiers /etc/nagios/contactgroups.cfg et /etc/nagios/contacts.cfg en suivant les modèles proposés.
=== Intégration avec Apache2 ===
Après installation du paquet nagios3, un fichier /etc/nagios3/apache2.conf est founit un lien vers ce fichier crée dans /etc/apache2/conf.d/nagios3.conf. Donc:
 * créer un fichier /etc/apache2/site-available/nagios
Ligne 28: Ligne 23:
contenus de contactgroups.cfg et contacts.cfg web:/etc/nagios3# cat /etc/apache2/sites-available/nagios
NameVirtualHost *
<VirtualHost *>
 ServerAdmin webmaster@cm.auf.org
 ServerName nagios.cm.auf.org
 ServerAlias nagios.cm.refer.org

 #DocumentRoot /nagios3
        <Directory />
                #Options FollowSymLinks
                #AllowOverride None
                RedirectMatch ^/$ /nagios3/
        </Directory>

 ErrorLog /var/log/apache2/nagios-error.log

 LogLevel warn

 CustomLog /var/log/apache2/nagios-access.log combined
 ServerSignature On

 #SSLEngine on
 #SSLCertificateFile /etc/apache2/ssl/server.crt
 #SSLCertificateKeyFile /etc/apache2/ssl/server.key

</VirtualHost>
Ligne 30: Ligne 51:
2- Dans le fichier /etc/nagios/hosts.cfg, ajouter les instructions pour la surveillance des hôtes ciblés:  * Activer la config:
Ligne 32: Ligne 53:
contenu de hosts.cfg
}}}
3- Et dans le fichier /etc/nagios/services.cfg, les instructions pour les services à surveiller
{{{
contenu de services.cfg
web:/etc/apache2/sites-available# a2ensite nagios
web:/etc/apache2/sites-available# invoke-rc.d apache2 reload
Ligne 39: Ligne 57:
L'identification des services/hôtes à surveiller peut ensuite se faire au fur et à mesure du besoin. Mais mettre en place un contrôle comme celui du l'exemple de hosts.cfg ci dessus m'a permis de m'assurer que tout fonctionne et de déceller quelques erreurs de configuration rapidement.  * Ajouter nagios.cm.{auf,refer}.org dans le dns
 * Un simple http://nagios.cm.auf.org dans le navigateur + login et mot de passe et nous voilà dans l'interface web de nagios3.
=== config des hôtes ===
Basée sur l'approche décrite [[http://wiki.auf.org/wikiteki/Projet/Supervision/AutomatisationdeNagios|Ici]].
{{{
              fichiers *.tmpl
                    |
                    |
                    | via le script compile
                    |
                    |
                    v
              fichiers .py + fichiers .csv (ou d'autres!!!)
                    \ /
                     -------------------------
                                |
                                | via le script makeit (que je propose)
                                |
                                v
                      fichiers *.cfg de Nagios
}}}

Script makeit (version alpha très très très .... très améliorable): voir le [[attachment:makeit.py| script]].

'''Quelques éclaircissements: '''
 * Motivation du script: pouvoir ajouter de nouveaux templates sans avoir à modifier le script
 * Pour le moment il ne fait rien d'autres que d'afficher le contenu des fichiers .cfg générés (on peut facilement l'adapter pour écrire dans un fichier, mais j'y reviens)
 * De plus, je suppose que les fichiers .tmpl, et les fichiers .py et .cfg générés sont tous dans le répertoire courant. Comportement à corriger, j'y travaille.
 * Il y a plein de déchets dans ce script, mais ca semble donner de bons résultats. On jouera au puriste plus tard.
 * Un bon fichier make pour combiner les deux étapes décrites ci-dessus reste à faire.
 * Conclusion: je bavarde autant, parce que ce sera mon premier vrai (utile?) script écrit en python.

Un peu de supervision avec Nagios, pourquoi pas! Jettez un coup d'oeil ici aussi!

Installation

Rien de plus simple:

# aptitude install apache2 nagios3

Pour la configuration du mot de passe de nagiosadmin

# dpkg-reconfigure nagios3-common

Cette commande crée le fichier /etc/nagios3/htpasswd.users qu'on peut utiliser plus tard pour gérer de nouveaux utilisateurs et leur mot de passe. Pour l'instant, pas de mysql (chaque chose en son temps).

Configuration

Il me semble que la configuration de nagios est une tâche de longue haleine. Alors je suis pas pressé, j'y vais au fur et à mesure que j'identifierais des besoins de monitoring. Par conséquent, cette section s'enrichira au fur et à mesure que j'avancerais dans cette aventure.

Intégration avec Apache2

Après installation du paquet nagios3, un fichier /etc/nagios3/apache2.conf est founit un lien vers ce fichier crée dans /etc/apache2/conf.d/nagios3.conf. Donc:

  • créer un fichier /etc/apache2/site-available/nagios

web:/etc/nagios3# cat /etc/apache2/sites-available/nagios 
NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@cm.auf.org
        ServerName nagios.cm.auf.org
        ServerAlias nagios.cm.refer.org

        #DocumentRoot /nagios3
        <Directory />
                #Options FollowSymLinks
                #AllowOverride None
                RedirectMatch ^/$ /nagios3/
        </Directory>

        ErrorLog /var/log/apache2/nagios-error.log

        LogLevel warn

        CustomLog /var/log/apache2/nagios-access.log combined
        ServerSignature On

        #SSLEngine            on 
        #SSLCertificateFile   /etc/apache2/ssl/server.crt
        #SSLCertificateKeyFile   /etc/apache2/ssl/server.key

</VirtualHost>
  • Activer la config:

web:/etc/apache2/sites-available# a2ensite nagios
web:/etc/apache2/sites-available# invoke-rc.d apache2 reload
  • Ajouter nagios.cm.{auf,refer}.org dans le dns
  • Un simple http://nagios.cm.auf.org dans le navigateur + login et mot de passe et nous voilà dans l'interface web de nagios3.

config des hôtes

Basée sur l'approche décrite Ici.

              fichiers *.tmpl
                    |
                    |
                    | via le script compile
                    |
                    |
                    v
              fichiers .py     +      fichiers .csv (ou d'autres!!!)
                    \                        /
                     -------------------------
                                |
                                | via le script makeit (que je propose)
                                |
                                v
                      fichiers *.cfg de Nagios

Script makeit (version alpha très très très .... très améliorable): voir le script.

Quelques éclaircissements:

  • Motivation du script: pouvoir ajouter de nouveaux templates sans avoir à modifier le script
  • Pour le moment il ne fait rien d'autres que d'afficher le contenu des fichiers .cfg générés (on peut facilement l'adapter pour écrire dans un fichier, mais j'y reviens)
  • De plus, je suppose que les fichiers .tmpl, et les fichiers .py et .cfg générés sont tous dans le répertoire courant. Comportement à corriger, j'y travaille.
  • Il y a plein de déchets dans ce script, mais ca semble donner de bons résultats. On jouera au puriste plus tard.
  • Un bon fichier make pour combiner les deux étapes décrites ci-dessus reste à faire.
  • Conclusion: je bavarde autant, parce que ce sera mon premier vrai (utile?) script écrit en python.

NacerAdamouSaidou/Nagios (dernière édition le 2009-07-30 15:37:08 par NacerAdamouSaidou)