[Shinken-devel] "; " in plugin output seems to be different from Nagios and breaks livestatus brok
Status: Beta
Brought to you by:
naparuba
From: Sven V. <sv...@ve...> - 2011-05-30 14:29:09
|
Hi! Problem exists with Shinken 0.6.4 on Debian/Squeeze, used plugin is "check_disk" from Nagios-Plugins package, all services are passive (for now) but I also happens with active services (verified). Running it on the server: ,---- | % /usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p / -p /home | DISK WARNING - free space: / 837 MB (27% inode=78%); /home 1222 MB (20% inode=77%);| /=2196MB;2476;2786;0;3096 /home=4761MB;4836;5440;0;6045 `---- See the ";" after ")" in plugin output (not perfdata!) Have a look at this service output in "status.dat" of Nagios3: ,---- | % grep "DISK WARNING" status.dat | plugin_output=DISK WARNING - free space: / 837 MB (27% inode=78%): /home 1222 MB (20% inode=77%): `---- No more ";" but ":"! Some(one|thing) replaced it! Haven't found the source in Nagios... And have also a look at this with Shinken: ,---- | % grep "DISK WARNING" status.dat | plugin_output=DISK WARNING - free space: / 837 MB (27% inode=78%); /home 1222 MB (20% inode=77%); `---- It's getting a BIG problem if you want to use livestatus from Shinken: ,---- | Error : got an exeption (bad code?) {} <type 'exceptions.ValueError'> | Process Process-9: | Traceback (most recent call last): | File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap | self.run() | File "/usr/lib/python2.6/multiprocessing/process.py", line 88, in run | self._target(*self._args, **self._kwargs) | File "/home/shinken/shinken/shinken/modules/livestatus_broker/livestatus_broker.py", line 874, in main | self.manage_brok(b) | File "/home/shinken/shinken/shinken/basemodule.py", line 184, in manage_brok | return manage(brok) | File "/home/shinken/shinken/shinken/modules/livestatus_broker/livestatus_broker.py", line 570, in manage_log_brok | host_name, service_description, state, state_type, attempt, plugin_output = options.split(';') | ValueError: too many values to unpack | Begin Loop : manage broks 0 | Error : the external module Livestatus goes down unexpectly! `---- "options.split(';')" does not work anymore... So, the Nagios way is (seems to be) to replace ";" by ":". For maximum compatibility it looks like it's the best to do the same - for active and passive checks! May be I have some time this evening to have a look at the Shinken code to implement this. Bye Sven -- Leukämie -> http://de.wikipedia.org/wiki/Leuk%C3%A4mie Heilung -> http://de.wikipedia.org/wiki/Knochenmark#Knochenmarkspende Typisierung -> http://www.knochenmarkspende.de/page.php?id=12 Warum&Fragen -> sv...@ve... |