Custom Plugin doesn't get picked up in CheckMK

Hello everyone,

I’m a bit frustrated and hope you can help me :slight_smile:

For my LAN-Party I’m setting up a complete new environment and therefore need some checks. After some searching I found this Git Project for my TeamSpeak 3 Server:

https://github.com/thannaske/cmk-teamspeak

Short setup overview:

RAW CheckMK with Debian Buster 64 bit :slight_smile:

After compiling this git project I copied it into /usr/lib/check_mk_agent/plugins/ and running /usr/bin/check_mk_agent gives me the wished result:

ctxt 128358
btime 1587294129
processes 1747
procs_running 2
procs_blocked 0
softirq 179735 1 39661 100 5375 0 0 203 34696 0 99699
<<<md>>>
<<<vbox_guest>>>
<<<job>>>
<<<local>>>
<<<Teamspeak3>>>
ConfigError: No
QueryPortReachable: Yes
AuthSuccess: Yes
Version: 3.12.1
Platform: Linux
Build: 1585305527
VirtualServer: (9987 online 0 32 0 yes 0 0)

But for some reason there is so service popping up at CheckMK, even after a full discovery:

Can someone tell me what I’m missing?

Thanks!

Cheers,
Stephan

The agent plugin you linked creates a new agent data section.

I do not see any check plugin for the check engine on the monitoring server that handles this section. Therefore no new services are created.

Ah okay, since this is a complete self written plugin, is there any documentation hot to make this check Plugin?

Put the script in the local folder instead of the plugin folder.
/usr/lib/check_mk_agent/local/

Should work then :wink:

Hey @Norm

moved the script, but still doesn’t show up :confused: Is there maybe an right issue? Bcs. the script is executable.

Did you do chmod +x cmk-teamspeak ?

Oh I forgot you need to create a config file for the script. Config looks like this:

[serverquery]
address=
queryport=
user=
password=
voiceport=

Place your config file right there: /etc/check_mk/teamspeak3.cfg

Then you should be able to use it :v:

Heyho :slight_smile:
Yes I did, I asked the developer of the Git Project how the config sould look and even the testresults are expectet :frowning:

But still, no showing up. I mean, the owner of the script is root, should it be someone else?

TestAgent Result

thp_swpout 0
thp_swpout_fallback 0
balloon_inflate 0
balloon_deflate 0
balloon_migrate 0
swap_ra 0
swap_ra_hit 0
cpu 2702 0 4114 533739 1100 0 84 0 0 0
cpu0 1487 0 2319 266514 485 0 41 0 0 0
cpu1 1214 0 1794 267225 614 0 42 0 0 0
intr 543146 3 9 0 0 0 0 0 0 1 0 0 0 15 0 0 0 1 0 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7264 8975 0 1443 4313 345 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 762024
btime 1587299965
processes 4441
procs_running 1
procs_blocked 0
softirq 1042006 1 282638 654 17014 0 0 667 272045 0 468987
<<<md>>>
<<<vbox_guest>>>
<<<job>>>
<<<local>>>
<<<Teamspeak3>>>
ConfigError: No
QueryPortReachable: Yes
AuthSuccess: Yes
Version: 3.12.1
Platform: Linux
Build: 1585305527
VirtualServer: (9987 online 0 32 0 yes 0 0)

Hi @Norm,

this is not a Local Check. Please do not advise putting non-Local-Check scripts in the directory for local checks.

The script @Gamienator found is an agent plugin and belongs into the plugins directory. What is missing is the check plugin.

Information about writing agent based checks can be found in the legacy documentation at https://checkmk.com/cms_legacy_writing_checks.html

The original author should provide the check plugin as we would have to guess on how to interpret the data generated by the agent plugin.

1 Like

@r.sander was so nice and put an Issue into the GitHub Project. It turned out that the creator if that project never did a check plugin. I’m now sitting here for two hour straight at the documentation @r.sander sent me but and I’m not able to complete it, because I never worked with python or any other programming language in any way :pensive:

So is maybe someone here so kind and could help me with the check plugin?

While the “working” result is:

<<<Teamspeak3>>>
ConfigError: No
QueryPortReachable: Yes
AuthSuccess: Yes
Version: 3.12.1
Platform: Linux
Build: 1585305527
VirtualServer: (9987 online 0 32 0 yes 0 0)

The nonworking output is:

<<<Teamspeak3>>>
ConfigError: No
QueryPortReachable: No

So if anybody would help me with that, this would be really awesome!

Thanks in advance!

Cheers,
Gamie

I created a very rough check plugin for the data section Teamspeak3 at https://github.com/HeinleinSupport/cmk-teamspeak and a pull request to the original repo.

You also find an MKP for the installation into the monitoring site.

1 Like

Thank you very much! As I mentioned in the GitHub Issue already, it’s almost perfect :smiley:

One Check Plugin gives the result “UNKN”:

Cheers,

Gamie

Can you please post the data section generated by the teamspeak3 plugin?

Heyho @r.sander

did you mean this?:

OMD[monitor]:~$ check_mk -nv W2TJVM05
[...]
Teamspeak3 9987      OK - online (0 clients, 0 channels), autostart yes
Teamspeak3 Global    OK - Platform: Linux, Version: 3.12.1 1585305527

Cheers,

Gamie

This looks OK, not UNKNOWN.

I meant the output of the agent plugin. You can get it from $OMD_ROOT/tmp/check_mk/cache/W2TJVM05. I only need the <<<Teamspeak3>>> section.

Heyho,

this is it:

<<<Teamspeak3>>>
ConfigError: No
QueryPortReachable: Yes
AuthSuccess: Yes
Version: 3.12.1
Platform: Linux
Build: 1585305527
VirtualServer: (9987 online 0 32 0 yes 0 0)

That’s strange. I do not get an UNKNOWN from the check.

Could it be that something was cached? I mean, while installing the mkp, I had the error there was a conflict. I just deleted then the checkfile.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.