Wer Cacti mit dem Plugin „camm“ (Cacti Message Management) und SNMPTT in einem deutschen Umfeld im Einsatz hat, der hat vielleicht schon mal festgesellt, das bei einigen Einträgen (beispielsweise Traps via evntwin.exe von dt. Windows Systemen) einfach die Nachricht (Feld ‚Message‘ bzw. ‚Formatline‘) fehlt.
Der ein oder andere hat dann auch schon mal die Vermutung angestellt, das es mit dt. Umlauten (äöü) zu tun haben könnte (jedenfalls ging es mir so).
Schaut man in die ‚cacti‘ Datenbank, so steht dort zwar alles sauber drin, aber das CAMM Plugin liest es scheinbar nicht korrekt aus der Datenbank.
Screenshot – Formatline ist leer
Meine Lösung in diesem Fall ist es das SNMPTT perl Script anzupassen:
Im Script nach dem String „$message_short2“ suchen – bei mir ab Zeile 1835 zu finden
Vor der Änderung:
# Backslash any quotes
my $message_short2 = $message_short;
$message_short2 =~ s(\‘)(\\\‘)g; #‘
$message_short2 =~ s(\“)(\\\“)g; #“
Nach der Änderung:
# Backslash any quotes
my $message_short2 = $message_short;
$message_short2 =~ s(\‘)(\\\‘)g; #‘
$message_short2 =~ s(\“)(\\\“)g; #“
use utf8;
utf8::encode($message_short2);
Danach snmptt daemon neu starten.
Trap Eintrag nach der Änderung.