J'ai configuré la notification par email de nagios et suivi les étapes suivantes :
sConfiguration du SMTP :
#apt-get install ssmtp #vi /etc/ssmtp/ssmtp.conf
root=sender.email@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=mycomputerName
UseTLS=YES
UseSTARTTLS=YES
AuthMethod=LOGIN
AuthUser=sender.email@gmail.com
AuthPass=sender.email.password
FromLineOverride=YES
#chmod 640 /etc/ssmtp/ssmtp.conf
Configuration de Nagios :
#vi /etc/nagios3/conf.d/localhost_nagios2.cfg
define host{
use generic-host ; Name of host template to use
host_name localhost
alias localhost
address x.x.x.187
check_command check-host-alive
max_check_attempts 10
notification_interval 120
notification_period 24x7
notification_options d,r
contact_groups admins
}
#vi /etc/nagios3/conf.d/timeperiods_nagios2.cfg
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
#vi /etc/nagios3/conf.d/contacts_nagios2.cfg
define contact{
contact_name localhost
alias localhost
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email receive.mail@gmail.com
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members localhost
}
#vi /etc/nagios3/conf.d/services_nagios2.cfg
define service{
use generic-service
host_name localhost
service_description SSH
is_volatile 0
check_period 24x7
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 960
notification_period 24x7
check_command check_ssh
}
la commande notify-by-email :
define command{
command_name notify-by-email
command_line /usr/bin/printf "%b" "***** Nagios @VERSION@ *****\n \nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$OUTPUT$" | @MAIL_PROG@ -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
Après avoir configuré nagios, j'ai redémarré SSH mais il n'envoie pas de notification par email.
Nouveau
Définition de la commande "notify-host-by-email".
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
Définition de la commande "notify-service-by-email".
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
0 votes
Qu'est-ce que
notify-by-email
définition ressemble-t-elle ? Comment tester la notification par courriel ?0 votes
Define command{ command_name notify-by-email command_line /usr/bin/printf "%b" "***** Nagios @VERSION@ ***** \n\nNotification Type : TYPE DE NOTIFICATION \n\nService : $SERVICEDESC$ \nHost : $HOSTALIAS$ \nAddress : $HOSTADDRESS$ \nState : $SERVICESTATE$ \n\nDate /Heure : $LONGDATETIME$. \n\nAdditional Info : \n\n $OUTPUT$" | @MAIL_PROG@ -s "** alerte $NOTIFICATIONTYPE$ - $HOSTALIAS$/$SERVICEDESC$ est $SERVICESTATE$ **" $CONTACTEMAIL$ }
0 votes
Peut-être que sshd redémarre trop vite. Allez dans l'interface Web -> Services -> SSH -> Envoyer une notification de service personnalisée pour voir ce qui se passe.
0 votes
@quanta-> il affiche "Désolé, mais Nagios ne vérifie pas actuellement les commandes externes, donc votre commande ne sera pas validée !".
0 votes
Modifier
nagios.cfg
et le changementcheck_external_commands=0
àcheck_external_commands=1
redémarrez Nagios et réessayez.0 votes
Je l'ai fait et il a montré un message d'erreur (Could not stat() command file '/var/lib/nagios3/rw/nagios.cmd'!nfiguring open ssh on ubuntu). J'ai exécuté la commande suivante---$ sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw ----$ sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3. puis j'ai suivi cette étape (Services -> SSH -> Send custom service notification) et il affiche un message de succès (Votre demande de commande a été soumise avec succès à Nagios pour traitement) mais n'envoie pas d'email.
0 votes
UI->Services->SSH en bas de la page il y a les commandes de service suivantes : "Les notifications pour ce service sont supprimées car il a été détecté comme ayant oscillé entre différents états (24,2% de changement >= 20,0% de seuil). Lorsque l'état du service se stabilisera et que les oscillations cesseront, les notifications seront réactivées."
0 votes
nagios.sourceforge.net/docs/3_0/flapping.html
0 votes
J'ai défini "flap_detection_enabled=0" dans le service. Mais il n'envoie toujours pas de courrier.
0 votes
nagios.log
et/ounagios.debug
?0 votes
J'ai vérifié nagios.log, en bas du journal il y a le message d'avertissement suivant ([1344498571] Warning : Tentative d'exécution de la commande "/usr/bin/printf "%b" "***** Nagios @VERSION@ ***** \n\nNotification Type : PROBLÈME \n\nService : SSH \nHost : localhost \nAddress : 192.168.1.176 \nState : CRITIQUE \n\nDate /Heure : Thu Aug 9 13:49:31 BDT 2012 \n\nAdditional Info : \n\n $OUTPUT$" | @MAIL_PROG@ -s "** PROBLEM alert - localhost/SSH is CRITICAL **" khalid.xxxx@gmail.com" a donné un code de retour de 127. Assurez-vous que le script ou le binaire que vous essayez d'exécuter existe réellement... ).
0 votes
Qu'est-ce que
@MAIL_PROG@
? Est-ce que c'est expurgé ?0 votes
J'ai changé la commande et vérifié nagios.log. Maintenant, il affiche le message suivant et n'envoie pas de courrier. Finished daemonizing... (New PID=3131) [1344567945] HOST ALERT : localhost;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 0.03 ms [1344567945] HOST NOTIFICATION : localhost;localhost;UP;notify-host-by-email;PING OK - Packet loss = 0%, RTA = 0. 03 ms [1344568010] COMMANDE EXTERNE : SEND_CUSTOM_SVC_NOTIFICATION;localhost;SSH;0;nagiosadmin;aa [1344568010] SERVICE NOTIFICATION : localhost;localhost;SSH;CUSTOM (CRITICAL);notify-service-by-email;CRITICAL - Socket timeout after 10 seconds;nagiosadmin;aa
0 votes
Que fait-elle (
notify-by-email
) ressemblent maintenant ?0 votes
Notify-by-email a été remplacé par notify-service-by-email et host-notify-by-email a été remplacé par notify-host-by-email
0 votes
Jetez un coup d'œil à la
/var/log/maillog
.0 votes
/var/log/mail.log Août 10 10:26:54 khalid-Dell-System-Inspiron-N4110 sSMTP[5532] : /etc/ssmtp/ssmtp.conf non trouvé Août 10 10:26:54 khalid-Dell-System-Inspiron-N4110 sSMTP[5532] : Impossible de localiser mailhub Août 10 10:26:54 khalid-Dell-System-Inspiron-N4110 sSMTP[5532] : Impossible d'ouvrir mailhub:25
0 votes
ls -l /etc/ssmtp/ssmtp.conf
?0 votes
-rw-r----- 1 root mail 682 Aug 9 11:23 /etc/ssmtp/ssmtp.conf