Nagios 3.5 Quick Installation Over Active Directory Ubuntu 14.04

Pré requis

  • Un LAMP et quelques services réseaux à surveiller (SSH, DNS, DHCP, SMTP, IMAP,…)
  • Un compte Active Directory bind-nagios pour se connecter au domaine
  • Un groupe Nagios-Users dans l'OU Users et des membres dans ce groupe

Installation par les dépots

apt-get install nagios3 nagios3-doc nagios-plugins nagios-plugins-extra

Nom du serveur (SMTP) nagios.test.lan
Mot de passe du compte nagiosadmin password

Configuration

Nagios

  • On rationalise l'installation en renommant les fichiers de configuration et on déplace le répertoire plugins.

mv /etc/nagios3/conf.d/contacts_nagios2.cfg /etc/nagios3/conf.d/contacts.cfg
mv /etc/nagios3/conf.d/generic-host_nagios2.cfg /etc/nagios3/conf.d/host-generic.cfg
mv /etc/nagios3/conf.d/generic-service_nagios2.cfg /etc/nagios3/conf.d/services-generic.cfg
mv /etc/nagios3/conf.d/services_nagios2.cfg /etc/nagios3/conf.d/services.cfg
mv /etc/nagios3/conf.d/hostgroups_nagios2.cfg /etc/nagios3/conf.d/hostgroups.cfg
mv /etc/nagios3/conf.d/extinfo_nagios2.cfg /etc/nagios3/conf.d/extinfo.cfg
mv /etc/nagios3/conf.d/localhost_nagios2.cfg /etc/nagios3/conf.d/localhost.cfg
mv /etc/nagios3/conf.d/timeperiods_nagios2.cfg /etc/nagios3/conf.d/timeperiods.cfg

mv /etc/nagios-plugins/ /etc/nagios3/plugins
sed -i 's,cfg_dir=/etc/nagios-plugins/config,cfg_dir=/etc/nagios3/plugins/config,g' /etc/nagios3/nagios.cfg

  • Avec un VirtualHost et si l'on veut récupérer la feuille de style et les fonctionnalités CGI :

sed -i 's,url_html_path=/nagios3,url_html_path=/,g' /etc/nagios3/cgi.cfg

Apache2

  • Création du fichier de configuration pour le VirtualHost :

vi /etc/apache2/sites-available/nagios.conf

<VirtualHost 192.168.1.10:80>

        ServerName              nagios
        ServerAlias             nagios
        Redirect                / https://nagios

</VirtualHost>

<VirtualHost 192.168.1.10:443>
        ServerName              nagios
        DocumentRoot            /usr/share/nagios3/htdocs
        
        ErrorLog                /var/log/apache2/nagios.log
        CustomLog               /var/log/apache2/nagios.log combined

        Options                 +Indexes +SymlinksIfOwnerMatch
        IndexOptions            NameWidth=* +SuppressDescription

        SSLEngine               on
        SSLCertificateFile      /etc/apache2/ssl/nagios.crt
        SSLCertificateKeyFile   /etc/apache2/ssl/nagios.key

        ScriptAlias             /nagios3/cgi-bin /usr/lib/cgi-bin/nagios3
        Alias                   /stylesheets /etc/nagios3/stylesheets

        <DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)>

                DirectoryIndex          index.php index.html
                AllowOverride           AuthConfig
                Order                   Allow,Deny
                Allow From              All

                AuthType Kerberos
                KrbMethodNegotiate      On
                KrbMethodK5Passwd       On
                KrbAuthRealms           TEST.LAN
                Krb5KeyTab              /etc/apache2/ssl/nagios.keytab
                require                 valid-user
                AuthLDAPURL             "ldap://dc1.test.lan:3268 dc2.test.lan:3268/dc=test,dc=lan?userPrincipalName?sub" NONE
                AuthLDAPBindDN          bind-nagios@test.lan
                AuthLDAPBindPassword    "Password"
                require ldap-group      CN=Nagios_Users,OU=Users,DC=test,DC=lan


        </DirectoryMatch>

        <Directory /usr/share/nagios3/htdocs>
                Options                 +ExecCGI
        </Directory>
</VirtualHost>

  • On supprime le fichier de configuration pour Apache :

rm /etc/nagios3/apache2.conf
rm /etc/apache2/conf-{available,enabled}/nagios3.conf

  • Activation du VHost et du module d'authentification :

a2enmod authnz_ldap
a2ensite nagios.conf

Accès à l'interface Web

  • Configuration de l'accès à l'interface Web et des CGI pour l'utilisateur du domaine :

read arg1 ; echo $arg1 ; sed -i "s,nagiosadmin,${arg1}.TEST.LAN,g" /etc/nagios3/cgi.cfg

for i in nagios3 apache2; do /etc/init.d/$i restart; done

Connexion

Logs

  • L'emplacement par défaut des logs de Nagios : log_file=/var/log/nagios3/nagios.log. Il est toujours possible de changer l'emplacement.

Sources