Archives de catégorie : Nagios

Supervision Réseau Nagios Cacti Centreon

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

The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server

Si comme moi vous avez installer Nagios 3.x sur un serveur Ubuntu et que vous avez un sympathique message du genre : The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server, c’est que vous avez certainement oublié d’installer les pré-requis avant la compilation.

Mais il est possible de récupérer ce bug.

apt-get install libgd2-xpm install libgd2-xpm-dev

cd /usr/nagios-3.2.3/
./configure -with-gd-lib=/usr/local/lib/
make cgis
cp /usr/nagios-3.2.3/cgi/*.cgi /usr/local/nagios/sbin
chown nagios:nagios /usr/local/nagios/sbin/*.cgi

Nagios et gateway SMS Ubuntu 8.10

Avoir une notification par SMS avec Nagios

pré requis :

gnokii – un téléphone (Nokia E50) – un cable USB (DKU2) – nagios

Installation

Connecter votre cable au pc puis votre téléphone, pour le Nokia E50, activer PCSuite depuis le téléphone.

Vérifier que votre téléphone est bien reconnu :

ls /dev/ttyACM*

Votre téléphone devrait se trouver sur /dev/ttyACM0, c’est depuis ce périphérique que le logiciel enverra les sms.

Installer l’utilitaire Gnokii :

apt-get install gnokii

Editer le fichier /etc/gnokiirc et rechercher les lignes suivantes pour les modifier :

port = /dev/ttyACM0

model = AT

connection = serial

pour tester l’envoi en direct :

echo "test envoi SMS Gnokii" | gnokii --config /etc/gnokiirc --sendsms +33123456789

Ensuite, donner les droits d’émission à Nagios pour qu’il puisse envoyer les sms et mettre l’utilisateur nagios dans le groupe dialout.

Editer le fichier /etc/group, ajouter l’utilisateur nagios au groupe dialout :

usermod -G "dialout" "nagios"

Editer le fichier /etc/nagios3/conf.d/contact_nagios2.cfg et rajouter la notification par sms au contact:

[code lang="perl"]
define contact{
contact_name nagios
alias Root
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email, notify-by-sms
host_notification_commands notify-host-by-email, host-notify-by-sms
email nagios@localhost
pager +33123456789
}
[/code]

Editer le fichier le fichier /etc/nagios/commands.cfg :

[code lang="perl"]
define command{
command_name notify-by-sms
command_line echo "Service SMS : $NOTIFICATIONTYPE$ : $HOSTALIAS$ $SERVICEDESC$ is $SERVICESTATE$ ($OUTPUT$)" | gnokii --config /etc/gnokiirc --sendsms +33123456789
}
define command{
command_name host-notify-by-sms
command_line echo "Hote SMS : $NOTIFICATIONTYPE$ : $HOSTALIAS$ $SERVICEDESC$ is $SERVICESTATE$ ($OUTPUT$)" | gnokii --config /etc/gnokiirc --sendsms +33123456789
}
[/code]

Redémarrer Nagios :

/etc/init.d/nagios3 restart

Pour tester la notification, vous devoir avoir un changement d’état sur un service surveillé par Nagios (ex : SSH).

Stopper ce service et jeter un oeil dans le fichier /var/log/syslog

/etc/init.d/ssh stop

tail -f /var/log/syslog

Il faudra prendre un peu de temps mais vous aurez sous les yeux en regardant le syslog que nagios bosse pour connaitre l’état de votre service (ssh). Il va attendre un peu, histoire de prier un peu pour que le service redémarre avant de vous spamer votre GMS :o)

Sources :

http://doc.ubuntu-fr.org/gsm-nokia

http://www.moroblog.info/Configurer-Smstools.html

http://www.free-4ever.info/index.php/Nagios:notifications_sms

http://blog.nicolargo.com/2008/11/notifications-nagios-par-sms.html

http://www.free-4ever.info/index.php/Communications:SMStools

http://john.mcclumpha.org/linux/Build_your_own_SMS_gateway_with_Ubuntu_Linux_and_Gammu/

http://doc.ubuntu-fr.org/gammu

http://cihar.com/gammu/phonedb/nokia/352/

o:) http://www.zoneminder.com/forums/viewtopic.php?t=10976

http://dt.in.th/2008-01-02.linux-sending-sms.html

http://wiki.gnokii.org/index.php/Cables#DKU-2.2C_CA-53_and_CA-70

http://www.gnokii.org/docs.shtml#dku

Nagios en localhost

Pour installer Nagios, super outil de monitoring (un peu pour faire comme à l’hopital avec les malades mais avec des serveurs), je vous propose la procédure ci-dessous :

Pré requis : un serveur LAMP fonctionnel (Apache2, Mysql4, PHP5) apt://nagios3 ou :

sudo apt-get install nagios3

Super c’est installé, malheureusement pas configuré. Maintenant munissez vous d’un peu d’aspirine, de temps et lisez ce qui suit.

Commande magique pour ajouter votre premier utilisateur  qui aura le privilège de tout suivre depuis la console Web :

htpasswd -c /etc/nagios3/htpasswd.users <username>

Aller sur l’interface http://localhost/nagios3. C’est sombre et il manque du vert pour agaier tout ça. Je vous invite à cliquer sur les différents liens dans le menu de gauche, un lien qui vous sera utile s’appelle Documentation :o).

Retour au fichiers de configuration par le biais de votre éditeur favori et voici un aperçu des principaux :

/etc/nagios3/

  • cgi.cfg
  • commands.cfg
  • nagios.cfg
  • resource.cfg

/etc/nagios3/conf.d/

  • contacts_nagios2.cfg
  • extinfo_nagios2.cfg
  • generic-host_nagios2.cfg
  • generic-service_nagios2.cfg
  • host-gateway_nagios3.cfg
  • hostgroups_nagios2.cfg
  • localhost_nagios2.cfg
  • services_nagios2.cfg
  • timeperiods_nagios2.cfg

Pour avoir accès aux différents services de Nagios, il faut Editer le fichier /etc/nagios3/cgi.cfg

et remplacer l’utilisateur adminnagios par celui créé précédement avec la commande htpasswd.

authorized_for_system_information=nagiosadmin

authorized_for_system_commands=nagiosadmin

authorized_for_all_services=nagiosadmin

authorized_for_all_hosts=nagiosadmin

authorized_for_all_service_commands=nagiosadmin

authorized_for_all_host_commands=nagiosadmin

Un petit : /etc/init.d/nagios3 restart

Sources :

http://doc.ubuntu-fr.org/nagios

http://blog.nicolargo.com/2007/04/exemple-de-configuration-de-nagios.html