[op5-users] Merlin crashed on me?
Frater, Greg J
GJFRATER at bechtel.com
Wed Jul 1 19:13:05 CEST 2009
Frater, Greg J wrote:
>>> Plus Merlin does not appear to be writing any host or service data,
>>> the
>> only tables that are showing any data are the comment,
program_status,
>> and scheduled_downtime tables. Here is what I see in the daemon.log,
>> this pattern is repeated over and over again, I get this for each
>> host/service.
>>
>>> ...
>>> [1246380200] 6: inbound data available on ipc socket
>>
>>> [1246380200] 7: Successfully read 1 NEBCALLBACK_SERVICE_CHECK_DATA
>> event
>>> (555 bytes; 491 bytes body) from socket 7
>>
>>> [1246380200] 3: Failed to get stored state for service 'CPU:
>>> Utilization' on host 'host0052'
>>> [1246380200] 7: sel_val: 7; ipc_listen_sock: 5; ipc_sock: 7;
net_sock:
>>> 6/usr/local/nagios/merlin/logs/
>>> [1246380200] 7: select() returned 1 (errno = 0: Success)
>>
>>> [1246380200] 6: inbound data available on ipc socket ...
>>
>>
>> I looked at my config files and realized that I needed to run the
>> import script manually.
>
>That shouldn't be necessary with the merlin version you're using. The
daemon should run the import script when the module connects and sends
it the paths it needs (objects.cache and status.log), so this really
needs to be amended. Can you try and see what happens if you start the
daemon first and Nagios afterwards? It could be as simple as just an
ordering thing. If not, have you got the CLI-version of PHP installed?
>Merlin requires that in order to be able to run the import script
properly.
>
When starting Merlin after Nagios I get the following results. That
made a difference, I don't remember seeing it run the import script
before, it could have and I just didn't notice. I definitely did not
get all of the errors "Table 'merlin.hostdowntime' doesn't exists"
before this last time.
# service nagios restart
Running configuration check...done.
Stopping nagios: .done.
Starting nagios:Logging to '/usr/local/nagios/merlin/logs/neb.log'
done.
# Importing objects to database merlin
importing objects from /usr/local/nagios/var/objects.cache
importing status from /usr/local/nagios/var/status.dat
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
.... (repeats many times)
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>REPLACE INTO hostdowntime(id) VALUES('1')</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
.....
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>REPLACE INTO hostdowntime(id) VALUES('2')</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
.....
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>REPLACE INTO hostdowntime(id) VALUES('3')</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
......
<b>describe hostdowntime</b><br />
SQL query failed with the following error message;<br />
Table 'merlin.hostdowntime' doesn't exist<br />
Query was;<br />
<b>REPLACE INTO hostdowntime(id) VALUES('4')</b><br />
obj_array is not empty
Array
(
[0] => hostdowntime
)
PHP Warning: assert(): Assertion "empty($obj_array)" failed in
/usr/local/nagios/merlin/object_importer.inc.php on line 492
>> When I first looked at the merlin.conf file I thought it would run
as
>> part of the daemon or something. Since then, I'm not seeing the SQL
>> errors that I reported previously.
>I'm guessing you're still seeing the error when adding or deleting host
downtime (UPDATE merlin.host set scheduled_downtime = scheduled_downtime
+ 1 where host_name = 'foo' and service_description = 'something'), as
that was an actual bug. I've pushed a fix for it now, so if you update
in 5 minutes you should get the fixed version.
>
>
Will do, thanks.
Regards,
-greg
More information about the op5-users
mailing list