Mail Notification

Hallo zusammen,
wir sind gerade dabei von Nagios auf check_mk umzusteigen. Das Grundgerüst steht auch soweit, Hosts & Services sind größtenteils erfolgreich integriert - was noch fehlt sind die Notifications.

Check_MK generiert Notifikations, versendet sie aber nicht per Mail. Das notify.log steigt immer bei folgendem Punkt aus:

2020-08-06 09:11:37 Preparing rule based notifications
2020-08-06 09:11:37 Found 0 user specific rules
2020-08-06 09:11:37 Global rule 'Notify all contacts of a host/service via HTML email'...
2020-08-06 09:11:37  -> matches!
2020-08-06 09:11:37    - adding notification of contact1, contact2 via mail
2020-08-06 09:11:37 Executing 1 notifications:
2020-08-06 09:11:37   * notifying contact1, contact2 via mail, parameters: host_subject, from, service_subject, elements, bulk: no
2020-08-06 09:11:37 Creating spoolfile: /omd/sites/DUG_MON/var/check_mk/notify/spool/1c598a7e-ef75-48a2-9599-9f25a6b8e74e
2020-08-06 09:11:42 ----------------------------------------------------------------------
2020-08-06 09:11:42 Got spool file fcd8ad73 (netNAS2-s3;Check_MK) for local delivery via mail
2020-08-06 09:11:42      executing /omd/sites/DUG_MON/share/check_mk/notifications/mail
2020-08-06 09:11:42 ERROR 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
Traceback (most recent call last):
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1448, in handle_spoolfile
    return call_notification_script(plugin, plugin_context)
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1339, in call_notification_script
    env=notification_script_env(plugin_context),
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1389, in notification_script_env
    {"NOTIFY_" + variable: format_(value) for variable, value in plugin_context.iteritems()})
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1389, in <dictcomp>
    {"NOTIFY_" + variable: format_(value) for variable, value in plugin_context.iteritems()})
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1385, in format_
    return value.encode("utf-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)

Im mknotify.log steigt er bei folgendem Punkt aus:

  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1339, in call_notification_script
    env=notification_script_env(plugin_context),
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1389, in notification_script_env
    {"NOTIFY_" + variable: format_(value) for variable, value in plugin_context.iteritems()})
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1389, in <dictcomp>
    {"NOTIFY_" + variable: format_(value) for variable, value in plugin_context.iteritems()})
  File "/omd/sites/DUG_MON/lib/python/cmk_base/notify.py", line 1385, in format_
    return value.encode("utf-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)

Testmails können erfolgreich vom System verschickt werden, hier liegt also kein Problem vor in der Konfiguration. Wir nutzen die virtualAppliance, Installation sollte also auch passen.

Vielleicht kann mir jemand bei diesem Thema behilflich sein :wink:
Viele Grüße
em

Ich tippe auf Ümläute entweder in einem Custom Attribute oder vielleicht auch in der E-Mail-Adresse?

Ich habe gerade mal geschaut, ist leider beides nicht der Fall. Custom Attribute haben wir keine vergeben und Mailadressen sind korrekt (ohne Umlaute).

Ich habe das Alias Feld missbraucht für nähere Infos zu den Hosts (zb. Domaincontroller 1), aber auch dort ist nichts ungewöhnliches als Zeichen auffindbar…

Umlaute in Vor- oder Nachnamen?

Auch das leider nicht :neutral_face:

Wird generell keine Notification Mail verschickt oder nur bei einem Host nicht?

Vielleicht ist etwas im Host Alias? Bei uns finden sich dort immer wieder Umlaute…
0xe2 könnte ein â sein oder ein ganzer Haufen Sonderzeichen
Oder wurde ggf. das Mail Template angepasst und dort passt was nicht?

Notification geht keine raus egal welcher Host oder Service betroffen ist. Testmails funktionieren in den “Email-Settings” und unter “notify User” im Kontakt-Menü.

Unter “Notification” sehe ich auch “Recent notifications (for analysis)” gelistet. Wenn ich dort auf “analyze ruleset with this notification” klicke kommt der grüne Punkt und als “Resulting notifications - contact1 Plugin: HTML Email”.

Scheint also alles gut zu sein, er erkennt dass benachrichtig werden soll, wer ist auch klar - wie per Email. Und dann passt am Ende irgend ein Step nicht vom Prozess :thinking:

geht das asciimail plugin?

Nein, auch damit kommt nichts an

Bevor das Notification-Skript (unter ~/share/check_mk/notifications oder ~/local/share/check_mk/notifications) aufgerufen wird, werden die notwendigen Informationen ja über Environment-Variablen (z.B. NOTIFY_SERVICEDESC, NOTIFY_HOSTSTATE, usw.) zusammengestellt. Dann wird das Skript mit diesem Environment gestartet.

Die Exception tritt aber schon beim Bau des Environments auf, d.h. noch bevor irgendein Notify-Skript aufgerufen wird. Deswegen vermute ich, dass überhaupt keine Notification funktioniert, auch nicht SMS oder sowas.

Was du aber mal machen kannst, falls die Notifications (wie per Voreinstellung) mit Hilfe des Notification-Spoolers verarbeitet werden:

Gucke mal im Verzeichnis ~/var/check_mk/notify/spool. Wenn du Glück hast, liegen da die Daten rum, aus denen das Environment für Notifications zusammengebaut wird. Falls nicht, kannst du mal kurzzeitig den Notification Spooler stoppen (omd stop mknotifyd) und abwarten, dass sich in dem Verzeichnis Dateien einfinden (pro Notification eine Datei). Dann guck mal in so eine Datei, ob dir da was auffällt, umlaute-technisch.

Vergiss nicht, den Spooler wieder zu starten (omd start mknotifyd).

Servus!
So Urlaub ist vorbei - Problem ist leider unverändert noch vorhanden :frowning:
Danke für die Hilfe Dirk, die Dateien werden erzeugt wenn ich den Dienst stoppe. Leider ist aber nichts ersichtlich für mich, oder fällt euch evtl was auf?

root@srvmon1:/omd/sites/DUG_MON/var/check_mk/notify/spool# cat d5807263-d083-4ae7-a333-cbd30c17ec4a {'context': {'CONTACTALIAS': u’Admin',
         'CONTACTEMAIL': u'mail@dadmin.de',
         'CONTACTNAME': u’admin',
         'CONTACTPAGER': '\xe2\x80\xad01732327005\xe2\x80\xac',
         'CONTACTS': u’admin',
         'DATE': u'2020-08-20',
         'HOSTACKAUTHOR': u'',
         'HOSTACKCOMMENT': u'',
         'HOSTADDRESS': u'192.168.120.111',
         'HOSTALIAS': u'EMC/Brocade S3 - FC Switch 1',
         'HOSTATTEMPT': u'1',
         'HOSTCHECKCOMMAND': u'check-mk-host-smart',
         'HOSTCONTACTGROUPNAMES': u'IT',
         'HOSTDOWNTIME': u'0',
         'HOSTFORURL': u'netSW-s3-f01',
         'HOSTGROUPNAMES': u'vz-adm',
         'HOSTNAME': u'netSW-s3-f01',
         'HOSTNOTES': u'',
         'HOSTNOTESURL': u'',
         'HOSTNOTIFICATIONNUMBER': u'1',
         'HOSTOUTPUT': u'Packet received via smart PING',
         'HOSTOUTPUT_HTML': u'(This macro is deprecated: see Werk#7427) Packet received via smart PING',
         'HOSTPERFDATA': u'',
         'HOSTPROBLEMID': u'0',
         'HOSTSHORTSTATE': u'UP',
         'HOSTSTATE': u'UP',
         'HOSTSTATEID': u'0',
         'HOSTTAGS': u'/wato/main-dug/network/switche/ OS_etc auto-piggyback ip-v4 ip-v4-only lan no-agent prod site:DUG_MON snmp snmp-v2 switch_vz vz',
         'HOSTURL': u'/check_mk/index.py?start_url=view.py%3Fview_name%3Dhoststatus%26host%3DnetSW-s3-f01%26site%3DDUG_MON',
         'HOST_ADDRESS_4': u'192.168.120.111',
         'HOST_ADDRESS_6': u'',
         'HOST_ADDRESS_FAMILY': u'4',
         'HOST_EC_CONTACT': u'',
         'HOST_FILENAME': u'/wato/main-dug/network/switche/hosts.mk',
         'HOST_SL': u'',
         'HOST_TAGS': u'/wato/main-dug/network/switche/ OS_etc auto-piggyback ip-v4 ip-v4-only lan no-agent prod site:DUG_MON snmp snmp-v2 switch_vz vz',
         'LASTHOSTPROBLEMID': u'0',
         'LASTHOSTSHORTSTATE': u'UP',
         'LASTHOSTSTATE': u'UP',
         'LASTHOSTSTATECHANGE': u'1595500390',
         'LASTHOSTSTATECHANGE_REL': u'28d 01:11:50',
         'LASTHOSTSTATEID': u'0',
         'LASTHOSTUP': u'1597923898',
         'LASTHOSTUP_REL': u'0d 00:00:02',
         'LASTSERVICEOK': u'1597923581',
         'LASTSERVICEOK_REL': u'0d 00:05:19',
         'LASTSERVICEPROBLEMID': u'18064',
         'LASTSERVICESHORTSTATE': u'WARN',
         'LASTSERVICESTATE': u'WARNING',
         'LASTSERVICESTATECHANGE': u'1597923650',
         'LASTSERVICESTATECHANGE_REL': u'0d 00:04:10',
         'LASTSERVICESTATEID': u'1',
         'LOGDIR': u'/omd/sites/DUG_MON/var/check_mk/notify',
         'LONGDATETIME': u'Thu Aug 20 13:45:00 CEST 2020',
         'LONGHOSTOUTPUT': u'',
         'LONGSERVICEOUTPUT': u'',
         'LONGSERVICEOUTPUT_HTML': u'(This macro is deprecated: see Werk#7427) ',
         'MAIL_COMMAND': u"mail -s '$SUBJECT$' '$CONTACTEMAIL$'",
         'MAXHOSTATTEMPTS': u'1',
         'MAXSERVICEATTEMPTS': u'1',
         'MICROTIME': u'1597923900267263',
         'MONITORING_HOST': u'srvmon1',
         'NOTIFICATIONAUTHOR': u'',
         'NOTIFICATIONAUTHORALIAS': u'',
         'NOTIFICATIONAUTHORNAME': u'',
         'NOTIFICATIONCOMMENT': u'',
         'NOTIFICATIONTYPE': u'FLAPPINGSTOP',
         'OMD_ROOT': u'/omd/sites/DUG_MON',
         'OMD_SITE': u'DUG_MON',
         'PREVIOUSHOSTHARDSHORTSTATE': u'UP',
         'PREVIOUSHOSTHARDSTATE': u'UP',
         'PREVIOUSHOSTHARDSTATEID': u'0',
         'PREVIOUSSERVICEHARDSHORTSTATE': u'OK',
         'PREVIOUSSERVICEHARDSTATE': u'OK',
         'PREVIOUSSERVICEHARDSTATEID': u'0',
         'SERVICEACKAUTHOR': u'',
         'SERVICEACKCOMMENT': u'',
         'SERVICEATTEMPT': u'1',
         'SERVICECHECKCOMMAND': u'check_mk-brocade_fcport',
         'SERVICECONTACTGROUPNAMES': u'IT',
         'SERVICEDESC': u'Port 00 port0',
         'SERVICEDISPLAYNAME': u'Port 00 port0',
         'SERVICEDOWNTIME': u'0',
         'SERVICEFORURL': u'Port%2000%20port0',
         'SERVICEGROUPNAMES': u'',
         'SERVICENOTES': u'',
         'SERVICENOTESURL': u'',
         'SERVICENOTIFICATIONNUMBER': u'1',
         'SERVICEOUTPUT': u'WARN - Speed: 16 Gbit/s, In: 40.59 kB/s, Out: 1.59 MB/s, No TX buffer credits: 3.04%(!), Physical: in sync, Operational: online, Administrative: online',
         'SERVICEOUTPUT_HTML': u'(This macro is deprecated: see Werk#7427) WARN - Speed: 16 Gbit/s, In: 40.59 kB/s, Out: 1.59 MB/s, No TX buffer credits: 3.04%<b class="stmarkWARNING">WARN</b>, Physical: in sync, Operational: online, Administrative: online',
         'SERVICEPERFDATA': u'in=41566.25864;;;0;1600000000 out=1663396.109872;;;0;1600000000 rxframes=318.500441;;;; txframes=938.533535;;;; rxcrcs=0;;;; rxencoutframes=0;;;; rxencinframes=0;;;; c3discards=0;;;; notxcredits=29.448832;;;; fc_bbcredit_zero=29.448832;;;;',
         'SERVICEPROBLEMID': u'18064',
         'SERVICESHORTSTATE': u'WARN',
         'SERVICESTATE': u'WARNING',
         'SERVICESTATEID': u'1',
         'SERVICEURL': u'/check_mk/index.py?start_url=view.py%3Fview_name%3Dservice%26host%3DnetSW-s3-f01%26service%3DPort%2000%20port0%26site%3DDUG_MON',
         'SERVICE_EC_CONTACT': u'',
         'SERVICE_SL': u'',
         'SHORTDATETIME': u'2020-08-20 13:45:00',
         'SVC_SL': u'',
         'WHAT': u'SERVICE'}, 'plugin': u'mail'}

das sieht sehr verdächtig aus

Das war der “Fehler” :partying_face:
Ich habe die Nr. die eingetragen war gelöscht, schon kommen die Benachrichtigungen an.
Vielen Dank für den Hinweis Mace!

Erwartet check_mk zwingend das Format “+49” o.ä. bei Eingabe einer Tel-Nr.?

Checkmk prüft da nix, aber möglicherweise der Dienst, für den die Nummer dann evtl. benutzt wird (SMS-Gateway o.ä.).

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.