Nach der Aktualisierung von NDOUtils von 1.4b9 auf 1.5.2 wurde ich mit ein paar Fehlern zugeschmissen.
NDOUtils schreibt die Fehler ins syslog.
Erster Fehler – Tabelle defekt:
Oct 9 07:49:14 SERVER ndo2db: mysql_error: 'Table './ndo/nagios_hostchecks' is marked as crashed and last (automatic?) repair failed' Oct 9 07:49:14 SERVER ndo2db: Error: mysql_query() failed for 'INSERT INTO nagios_hostchecks SET instance_id='1', host_object_id='1161', check_type='0', is_raw_check='0', current_check_attempt='1', max_check_attempts='5', state='0', state_type='1', start_time=FROM_UNIXTIME(1349761720), start_time_usec='784551', end_time=FROM_UNIXTIME(1349761725), end_time_usec='446306', timeout='10', early_timeout='0', execution_time='0.036930', latency='70.784000', return_code='0', output='PING OK - Packet loss = 0%, RTA = 3\.83 ms', long_output='', perfdata='rta=3\.830000ms;3000\.000000;5000\.000000;0\.000000 pl=0%;80;100;0', command_object_id='22', command_args='', command_line='' ON DUPLICATE KEY UPDATE instance_id='1', host_object_id='1161', check_type='0', is_raw_check='0', current_check_attempt='1', max_check_attempts='5', state='0', state_type='1', start_time=FROM_UNIXTIME(1349761720), start_time_usec='784551', end_time=FROM_UNIXTIME(1349761725), end_time_usec='446306', timeout='10', early_timeout='0', execution_time='0.036930', latency='70.784000', return_code='0', output='PING OK - Packet loss = 0%, RTA = 3\.83 ms', long_output='', perfdata='rta=3\.830000ms;3000\.000000;5000\.000000;0\.000000 pl=0%;80;100;0''
Lässt sich am einfachsten via phpmyadmin beheben. Einloggen – Tabellen überprüfen – und anschließend reparieren.
Zweiter Fehler: ndo2db scheint nichts mehr in die queue zu schreiben:
Oct 9 06:36:20 SERVER ndo2db: Message sent to queue. Oct 9 06:36:20 SERVER ndo2db: Warning: queue send error, retrying... Oct 9 06:36:21 SERVER ndo2db: Message sent to queue. Oct 9 06:36:21 SERVER ndo2db: Warning: queue send error, retrying... Oct 9 06:36:22 SERVER ndo2db: Message sent to queue. Oct 9 06:36:22 SERVER ndo2db: Warning: queue send error, retrying...
Die Ursache ist wohl ein neues „Feature“ in der neuen Version 1.5.2 von ndoutils welche Nachrichten nun in eine Warteschlange setzt, wenn der Kernel sie nicht annimmt. (Korrigiert mich, wenn ich falsch liegen sollte.)
Abhilfe schafft das hoch setzen der max. Nachrichten:
vi /etc/sysctl.conf (Einfach am Ende einfügen, falls nicht vorhanden.) kernel.msgmax = 131072000 kernel.msgmnb = 131072000 kernel.msgmni = 65536000
Danach habe ich noch ein Reboot gemacht.
(via)