Check_Discovery Crash

Hi!

The Check_MK Agent version is 1.5.0b7, the OMD version is 1.5.0 Raw Edition and the host is a RHEL 5.9.

The check_discovery service from my xyz_host is crashing.

The output of the command cmk --debug -vvI xyz_host is:

Discovering services on: xyz_host
xyz_host:

  • FETCHING DATA
    [agent] Not using cache (Don’t try it)
    [agent] Execute data source
    [agent] Calling external program u’~/local/share/scripts/load_passive.sh ~/local/share/passive_checks/xyz_host.check’
    [agent] Write data to cache file /omd/sites/operations/tmp/check_mk/cache/xyz_host
    [agent] No persisted sections loaded
    [piggyback] Execute data source
    [piggyback] No persisted sections loaded
  • EXECUTING INVENTORY PLUGINS
    Traceback (most recent call last):
    File “/omd/sites/operations/bin/cmk”, line 96, in
    exit_status = modes.call(o, a, opts, args)
    File “/omd/sites/operations/lib/python/cmk_base/modes/init.py”, line 80, in call
    return mode.handler_function(*handler_args)
    File “/omd/sites/operations/lib/python/cmk_base/modes/check_mk.py”, line 1450, in mode_discover
    options[“discover”] == 1)
    File “/omd/sites/operations/lib/python/cmk_base/discovery.py”, line 124, in do_discovery
    _do_discovery_for(hostname, ipaddress, sources, multi_host_sections, check_plugin_names, only_new, on_error)
    File “/omd/sites/operations/lib/python/cmk_base/discovery.py”, line 151, in _do_discovery_for
    new_items = _discover_services(hostname, ipaddress, sources, multi_host_sections, on_error=on_error)
    File “/omd/sites/operations/lib/python/cmk_base/discovery.py”, line 687, in _discover_services
    for item, paramstring in _execute_discovery(multi_host_sections, hostname, ipaddress, check_plugin_name, on_error):
    File “/omd/sites/operations/lib/python/cmk_base/discovery.py”, line 909, in _execute_discovery
    discovered_items = discovery_function(section_content)
    File “/omd/sites/operations/share/check_mk/checks/mem”, line 418, in inventory_mem_used
    meminfo = parse_proc_meminfo(info)
    File “/omd/sites/operations/share/check_mk/checks/mem”, line 411, in parse_proc_meminfo
    return dict([ (i[0][:-1], int(i[1])) for i in info ])
    ValueError: invalid literal for int() with base 10: ‘119499.73’

I’m kinda lost here. Did someone go through this? How can I solve it?

Can you provide how the <<<mem>>> section of your agent output looks like?

My agent output is missing this <<<mem>>> section.

That’s interesting - Why do you have then an “mem” check in your discovery?
Somewhere must be an <<<mem>>> section.

Well, that is something that I don’t know how to answer.

The Memory service has the status Unknown. Some times the Memory service return Ok and then the agent output has the <<<mem>>> section, otherwise not.

Then i would inspect how your agent output is generated.

As this is not a normal agent call, i think there is somewhere a problem with the generation of your data.