Host management interface with IPMI

Hello,

Freshly moved to 2.0 (what a mistake !? :see_no_evil: ). I am working on cleaning up all the troubles it made (10% of my services are stalled, yeah ! ).
One of the 2 big issues i have for now is related to ipmi and it’s failure.
CMK Agent fail on mgmt_ipmi.
Going with the command line report this :

OMD[xxx]:~/local/share/check_mk/checks$ cmk --debug -nv --checks=mgmt_ipmi yyy
WARNING: ‘–checks’ is deprecated in favour of option ‘detect-plugins’
Checkmk version 2.0.0

  • FETCHING DATA
    [TCPFetcher] Execute data source
    [IPMIFetcher] Execute data source
    Traceback (most recent call last):
    File “/omd/sites/xxx/bin/cmk”, line 98, in
    exit_status = modes.call(“–check”, None, opts, args)
    File “/omd/sites/xxx/lib/python3/cmk/base/modes/init.py”, line 69, in call
    return handler(*handler_args)
    File “/omd/sites/xxx/lib/python3/cmk/base/modes/check_mk.py”, line 1616, in mode_check
    return checking.do_check(
    File “/omd/sites/xxx/lib/python3/cmk/base/decorator.py”, line 37, in wrapped_check_func
    status, infotexts, long_infotexts, perfdata = check_func(hostname, *args, **kwargs)
    File “/omd/sites/xxx/lib/python3/cmk/base/checking.py”, line 195, in do_check
    fetcher_messages = list(
    File “/omd/sites/xxx/lib/python3/cmk/base/checkers/_checkers.py”, line 246, in fetch_all
    raw_data = source.fetch()
    File “/omd/sites/xxx/lib/python3/cmk/base/checkers/_abstract.py”, line 163, in fetch
    return fetcher.fetch(self.mode)
    File “/omd/sites/xxx/lib/python3/cmk/fetchers/_base.py”, line 221, in fetch
    return result.OK(self._fetch(mode))
    File “/omd/sites/xxx/lib/python3/cmk/fetchers/_base.py”, line 250, in _fetch
    raw_data = self._fetch_from_io(mode)
    File “/omd/sites/xxx/lib/python3/cmk/fetchers/ipmi.py”, line 76, in _fetch_from_io
    return AgentRawData(b"" + self._sensors_section() + self._firmware_section())
    File “/omd/sites/xxx/lib/python3/cmk/fetchers/ipmi.py”, line 140, in _sensors_section
    sdr = ipmi_sdr.SDR(self._command)
    File “/omd/sites/xxx/lib/python3/pyghmi/ipmi/sdr.py”, line 634, in init
    self.read_info()
    File “/omd/sites/xxx/lib/python3/pyghmi/ipmi/sdr.py”, line 665, in read_info
    self.get_sdr()
    File “/omd/sites/xxx/lib/python3/pyghmi/ipmi/sdr.py”, line 740, in get_sdr
    sdrrec = self.ipmicmd.raw_command(netfn=0x0a, command=0x23,
    File “/omd/sites/xxx/lib/python3/pyghmi/ipmi/command.py”, line 500, in raw_command
    rsp = self.ipmi_session.raw_command(netfn=netfn, command=command,
    File “/omd/sites/xxx/lib/python3/pyghmi/ipmi/private/session.py”, line 779, in raw_command
    self._send_ipmi_net_payload(netfn, command, data,
    File “/omd/sites/xxx/lib/python3/pyghmi/ipmi/private/session.py”, line 819, in _send_ipmi_net_payload
    data = bytearray(data)
    TypeError: ‘float’ object cannot be interpreted as an integer

Would anyone have a great idea to fix that ?

Happens this error also if you define this host as its own host und use the IPMI special agent?
The mgmt_ipmi had also some problems in version 1.6 and that’s the reason i only use the special agent.

Rule can be found under “IPMI Sensors via Freeipmi or IPMItool”.

I use management board config part of the host config and the ip is different from the host itself.
It was working fine on 1.6.
Mgmt board with snmp is working fine on 2.0.

Yes that can be but not with IPMI

Same problem here, I’ve created a separate host as suggested, but now the output is empty/no service is found.

When using FreeIPMI:

OMD[prod]:~$ cmk --debug -d server-idrac
Traceback (most recent call last):
File “/omd/sites/prod/bin/cmk”, line 92, in
exit_status = modes.call(mode_name, mode_args, opts, args)
File “/omd/sites/prod/lib/python3/cmk/base/modes/init.py”, line 69, in call
return handler(*handler_args)
File “/omd/sites/prod/lib/python3/cmk/base/modes/check_mk.py”, line 417, in mode_dump_agent
raw_data = source.fetch()
File “/omd/sites/prod/lib/python3/cmk/base/checkers/_abstract.py”, line 163, in fetch
return fetcher.fetch(self.mode)
File “/omd/sites/prod/lib/python3/cmk/fetchers/_base.py”, line 221, in fetch
return result.OK(self._fetch(mode))
File “/omd/sites/prod/lib/python3/cmk/fetchers/_base.py”, line 250, in _fetch
raw_data = self._fetch_from_io(mode)
File “/omd/sites/prod/lib/python3/cmk/fetchers/program.py”, line 139, in _fetch_from_io
raise MKFetcherError(“Agent exited with code %d: %s” %
cmk.fetchers._base.MKFetcherError: Agent exited with code 1: ERROR: 'Get Session Challenge command failed
Error: Unable to establish LAN session
Error: Unable to establish IPMI v1.5 / RMCP session
, Get Session Challenge command failed
Error: Unable to establish LAN session
Error: Unable to establish IPMI v1.5 / RMCP session
'.

when using IPMItool:

OMD[prod]:~$ cmk --debug -d prg-v11-pbs-idrac
Traceback (most recent call last):
File “/omd/sites/prod/bin/cmk”, line 92, in
exit_status = modes.call(mode_name, mode_args, opts, args)
File “/omd/sites/prod/lib/python3/cmk/base/modes/init.py”, line 69, in call
return handler(*handler_args)
File “/omd/sites/prod/lib/python3/cmk/base/modes/check_mk.py”, line 417, in mode_dump_agent
raw_data = source.fetch()
File “/omd/sites/prod/lib/python3/cmk/base/checkers/_abstract.py”, line 163, in fetch
return fetcher.fetch(self.mode)
File “/omd/sites/prod/lib/python3/cmk/fetchers/_base.py”, line 221, in fetch
return result.OK(self._fetch(mode))
File “/omd/sites/prod/lib/python3/cmk/fetchers/_base.py”, line 250, in _fetch
raw_data = self._fetch_from_io(mode)
File “/omd/sites/prod/lib/python3/cmk/fetchers/program.py”, line 139, in _fetch_from_io
raise MKFetcherError(“Agent exited with code %d: %s” %
cmk.fetchers._base.MKFetcherError: Agent exited with code 1: ERROR: 'ipmi_ctx_open_outofband: session timeout
'.

How does your IMPI config looks like?

On my side problem was with UCS blades/racks IPMI, it use ipmi v2 which isn’t used with cmk2.0 (no clue how magically it was working before)
Anyway, i moved to separate host and it’s mostly working now. I had to use some hosts with freeipmi and some with ipmi-tool

  • add fixes to the ipmi python code to ignore some ok messages.

Here it is:
image

I used the same config also for IPMItool, monitored device is Dell iDRAC 6 (what worked fine in cmk1.6)

This will not work. You need to set the proper IPMI driver and type.
The correct format can be checked on the command line with FreeIPMI.

Yeah, with the LAN_2_0 driver I’m able to see several values/services, half in “State Deasserted”. Is there any way to restore cmk1.6 functionality? Or the only thing I can do is to play with that rule to try various options (doesn’t seem to help a lot)?

Thanks

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact @fayepal if you think this should be re-opened.