It seems like I’m either encountering a bug or misunderstanding the process to add a custom check manual. I added my manual to ~/local/share/check_mk/checkman/nvidia_gpu_utilization, it shows up just fine when I run cmk -M nvidia_gpu_utilization, but when I go to the plugin via the web page I get:
“Could not detect type of manpage: nvidia_gpu_utilization. Maybe the check is missing.”
Similarly, running check_mk -vv --debug --automation get-check-manpage -- nvidia_gpu_utilization also fails. Any idea what I’m doing wrong here?
For example, I recently created a check plugin and then this is how the documentation:
$OMD_ROOT/local/share/check_mk/checks/my_tcp_listener
$OMD_ROOT/local/share/check_mk/checkman/my_tcp_listener
$ cat $OMD_ROOT/local/share/check_mk/checkman/my_tcp_listener
title: My TCP Listener
agents: my_tcp_listener
catalog: custom/check
license: GPL
distribution: check_mk
description:
This is a check plugin that parses and process the output from the local check my_tcp_listener.
The check lists all the current open TCP ports that are currently listening on the this server
item:
tcp/port_number
inventory:
one service is created for each server
$ check_mk -vv --debug --automation get-check-manpage -- my_tcp_listener
{'group': None,
'has_perfdata': False,
'header': {u'agents': [u'my_tcp_listener'],
u'catalog': u'custom/check',
u'description': u'<br>\n\nThis is a check plugin that parses and process the output from the local check my_tcp_listener.\nThe check lists all the current open TCP ports that are currently listening on the this server\n<br>',
u'distribution': u'check_mk',
u'inventory': u'one service is created for each server',
u'item': u'tcp/port_number\n<br>',
u'license': u'GPL',
u'title': u'My TCP Listener'},
'service_description': 'TCP Listener %s',
'snmp_info': None,
'type': 'check_mk'}
And the manpage shows up for the local check plugin in the GUI.
Ok, it was my mistake. I had the checkman in place but didn’t have the check in place on the same site. Per the error message, both needed to be in place before the manual showed up.