Distributing Custom Plugins in CRE

Hi there,

We have a need to monitor NCache cache instances. There does not seem to be an existing solution for this in Checkmk so we are looking at writing our own plugin(s).

According to the Plugins downloaden forum thread, it seems that the only way Checkmk officially supports distributing custom plugins is via the Agent Bakery. Is this correct?

The thread offers a possible workaround of copying the plugin to <siteRoot>/share/check_mk/agents/plugins/ but, since ./share is actually a simlink that ultimately points to the directory where the current CRE version is stored, this seems like a bad idea. For one thing, if the server hosts multiple sites that use the same version, the custom plugin may not be installed on all of them; for another, the copied scripts would almost certainly not be automatically ported when a new version was installed, meaning that administrators would need to keep a list of all plugins managed this way and manually copy them each time a version upgrade is done.

I like the idea of creating and sharing an MKP, but taking the extra effort to ensure the plugin is at least somewhat optimally designed is much less enticing if we will still need to maintain copies of the agent plugin outside of the Checkmk server for distribution to the agents that need them.

Outside of the Agent Bakery, which is not available in CRE, and “contaminating” the code directories by adding custom stuff that really doesn’t belong there, are there other methods for distributing custom plugins that have been installed to a CRE site?

If there is an existing solution for monitoring NCache in Checkmk, then by all means point me in that direction. The question here is intentionally posed from the perspective of plugins in general, though. This is because there are other things we want to monitor that are specific to our implementations so we expect to need to extend Checkmk regardless of whether the specific example here (NCache) already has a solution.

Additionally, I specifically do not consider configuration management a viable solution in this case. We do not currently have a configuration management solution in place and, although we are moving in that direction, the intention here is to come up with a stop-gap to carry us through until we are ready for that.

Thanks in advance for your input and feedback,
Jason Smyth

Not exactly. Agent Bakery is only used for agent plugins not for check plugins on the monitoring server.

Most checks that are not SNMP or special agent based, consist of an script (agent plugin) and a check (check plugin). The MKP is used to distribute all files together between different CMK instances. Really needed on the CMK server is only the check plugin part. The agent plugin can be distributed using the agent bakery but i know many customers who use there own software deployment also for the CMK agents and it’s plugins.

If i understand you problem correctly then you only need to decide how to deploy the agent plugin on all your monitored servers.

I would recommend to use a dedicated instance for check development and also on this instance to package all the files together into MKPs.

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