Ersatz für die von Nagios mitgelieferte Notification-Mail.
Eigentlich bin ich kein Fan von HTML-Mails, aber CSS-Formatierungen machen eine Notification-Mail schon übersichtlicher. Es wird aber auch eine Text-Variante für Handhelds etc. mitgesendet.
Download: nagios_mail-0.9.zip
Installation
Nach dem kopieren der nagios_mail.php müssen nur die Nagios-Notification-Definitionen geändert werden:
# /usr/local/nagios/etc/objects/misccommands.cfg
define command{
command_name host-notify-by-email
command_line /usr/bin/php -q /opt/nagios_mail.php
}
define command{
command_name notify-by-email
command_line /usr/bin/php -q /opt/nagios_mail.php
}Je nach Distribution muss evt. der PHP-Pfad angepasst werden. Update: seit Version 0.3 ist PEAR nicht mehr notwendig!
Konfiguration
Im Header der PHP-Datei kann der Absender, die Nagios-URL oder das Subject geändert werden.
FAQ
Q: i want to use ICINGA with it. Is it possible?
A: Yes, but you have to replace in Line 643 “_NAGIOS” with “_ICINGA”
Q: Notifications through Nagios/Ichinga are empty. What to check?
A: check your php.ini for variables_order = “EGPCS”, the “E” is important.
Q: Notifications through Nagios/Ichinga are still empty. What to check?
A: check nagios.cfg/icinga.cfg for the following setting: enable_environment_macros=1
Changelog
0.9.0 outlook 2007 html compatibility (back to stoneage) added color for UNKNOWN state 0.8.0 added additional header configuration (for example to send high-priority mails) improved documentation improved debug mode 0.7.0 fixed multipart issue (webmailer compatibility) added safari header (iPhone Mail compatibility) 0.6.0 added subject templates added ability to disable sections 0.5.0 added PHP4 compatibility 0.4.0 added test-mode (if run from command-line) removed php-notices 0.3.0 added readme removed Mail_mime dependency removed css definitions for webmail compatibility added links to hostname 0.2.0 changed script to object oriented programming

hmm ok mein fehler bekomm nun:
CONTACTEMAIL env-var is empty (not run from Nagios?) or ‘mail_add_to_address’ not configured (Testmode)
aber das problem ist das er trotzdem keine verschickt nur der test klappt
bin ratlos
Hast du mal die vorherigen Kommentare durchgesehen? Insb. zu Ichinga und php.ini…
also gut geht wieder… habe folgendes eingestellt:
system ist ubuntu server 10.04 lts / icinga 1.2.1 + icinga-web 1.2.1
==> /etc/php5/cli/php.ini
-> variables_order = “EGPCS” (line 669)
==> php-script bei mir /usr/local/icinga/mail/icinga_mail.php
-> $config['nagios_url'] = ‘http://icinga-ip/icinga-web'; (line 44)
-> $config['mail_from_address'] = ‘blub@blub.de’; (line 50)
-> $config['mail_add_to_address'] = ”; (line 58)
-> if (strpos($key, ‘ICINGA_’) !== false) { (line 648)
_______________________________________________________________________________
es lag bei mir einfach nur an EGPCS das hat der vorher auch mit GPCS gemacht! die lines entsprechen meiner config könnte abweichen also einfach nach bereich suchen… und vielen dank nochmal an otto für die schnelle antwort
hoffe das es anderen hilft.
gruß daniel
Is there a way to color code the Subject line?
Hi,
Is it possible to change the Subject Line to RED? Appreciate any help.
Thanks,
–john
Hi, unfortunately or for good reason the clients doesnt interpret html at the subject line. so this is not possible…
Hallo,
ist es möglich bei dem Host-/Servicenamen nicht nur den Namen sondern gleich einen Link zur Host-/Service-Status-Detail-Seite in der Nagios-Weboberfläche zu hinterlegen?
Danke für die Hilfe,
Patrick
Hallo, ist sicherlich möglich. Ich nehme das in die Liste für die nächste Version mit auf. Kann nur nicht versprechen, dass diese sehr schnell erscheint… Otto
Hallo,
bei mir werden die Statistics-Felder nicht ausgefüllt. Muss ich hierfür Änderungen am Nagios machen oder mache ich hier einfach nur etwas verkehrt.
Gruß
Markus
Hab das gleiche Problem wie Markus. Krieg nur eine E-Mail ohne ausgefüllte Statistikfelder
Bei mir wird keine Notification Mail erzeugt. Bei Aufruf über die Kommandozeile klappt es, Alarme über Nagios kommen nicht.
Im Nagios Log sind keine Fehler zu sehen:
[1302589983] SERVICE NOTIFICATION: xxx;ccc;vvv;CRITICAL;notify-service-by-email;0 years 0 mon 0 days 13 hours 17 min 20 sec
EGPCS in php.ini hat geholfen, Anfangs wurden nur ein paar Kommentare angezeigt, da hatte ich es nicht gesehen.
ich habe in er php.ini die variables_order auf EGPCS umgestellt. leider werden noch immer keine Emails versendet.
IM Nagioslog sind keine Fehler.
Testbenachtichtigung funktoniert.
Welche PHP Version verwendet ihr? Bei mir mit PHP5.3 klappt es auch nicht. Mit PHP5.2 funktionierts… Ich glaube der Fehler liegt in der $_ENV Funktion von PHP. Diese wurde ersetzt durch get_env…
So, doch nicht so kompliziert… Wie oben schon beschrieben. $_ENV wird einfach nicht gesetzt. Mit EGPCS in der php.ini kommen die Mails wieder an.
Pingback: icinga und ein update auf squeeze | blue1.at
Ich habe bei mir zugegebenermaßen Icinga unter Debian laufen, aber sollte ja keinen Unterschied machen. Email kommen auch bei mir nicht an. Die Variable EGPCS ist bei mir mit “variables_order = “EGPCS”" gesetzt. Jemand noch eine andere Idee?
Hi, Du müsstest vermutl. im Code noch die Stelle “if (strpos($key, ‘NAGIOS_’)” durch “if (strpos($key, ‘ICINGA_’)” ersetzen.
Hi. Bei mir kommt immer die gleiche contactgroup info in der mail, egal ob auf Grund dieser contactgroup oder einer anderen gemeldet worden ist. Kann es sein das Nagios hier einen falschen Wert übergibt und wie könnte ich das prüfen? Danke! Gruß, Rev
So verändert bekomme ich zwar die ActionURL ausgegeben aber leider nicht den rest..
array(
‘name’ => ‘Performancdaten’,
‘nagios_env’ => ‘SERVICEACTIONURL’,
‘required’ => false,
‘type’ => ‘link’,
),
Soll bedeuten es kommt nur:
/pnp4nagios/graph?host=rechnername&srv=Memory+Usage’ class=’tips’ rel=’/pnp4nagios/popup?host=rechnername&srv=Memory+Usage
Schön wäre wenn da jetzt noch…
Die IP das Nagiosservers so … http://ip-adresse kommen würde.
Jemand eine Idee?
VG
ich habe die Extended Notification Mail eingerichtet. Die Testmail klappt wunderbar. Das war es aber auch, normale notifications kommen nicht an.
Ebenfalls habe ich “variables_order” in “EGPCS” in der php.ini geändert. Ohne Erfolg.
Ich verwende ICINGA und PHP5.3
Hi,
First thx for your work
I’ve a little problem with you script :
When a host or a service go CRITICAL i receive a mail (this is ok) but when a host or a service go to OK i don’t receive a mail .
Do you know why?
Thx
Habe auch ziemlich lange an dem Fehler:
CONTACTEMAIL env-var is empty (not run from Nagios?) or ‘mail_add_to_address’ not configured (Testmode)
gesucht.
Bei mir war in der icinga.cfg nicht
enable_environment_macros=1 gesetzt.
@Mark: Das wars!! Juppi!!!
English below…
Kleiner Hinweis an alle, bei denen keine Mails verschickt werden trotz angepasster php.ini: die nagios.cfg bzw icinga.cfg nach folgenden Wert prüfen:
enable_environment_macros=1
Stehts auf 0, funktioniert nagios_mail.php nicht.
A hint for everyone not recieving mails despite modified php.ini: check your nagios.cfg/icinga.cfg for the following setting:
enable_environment_macros=1
Is this set to “0″, the nagios_mail.php script won’t work.
Hi,
super Skript…
leider habe ich damit ein kleines Problem.
Der Testmodus funktioniert einwandfrei.
Lösche ich jedoch “mail_add_to_address” meine eMailadresse wieder raus, damit die echten mails verschickt werden, werden keine Mails verschickt.
Das Skript funktioniert also nur im Testmodus.
enable_environment_macros=1 und
“variables_order” in “EGPCS” habe ich überprüft.
“variables_order” in “EGPCS”
Nicht in /etc/php5/apache2/php.ini
sondern in /etc/php5/cli/php.ini editieren!