0

I have a Munin supersampling plugin which returns high resolution data (sample rate of 1 second). The node offering this plugin is queried by two Munin masters, one of which is a version 1.4 instance and unable to process the plugin's data. More precisely, the 1.4 master is spitting a bunch of "Setting unknown option" warnings with each invocation of munin-update.

What I ideally would like to see is the plugin returning different sets of data depending on which of the Munin servers is querying it.

What I have found so far is that I could run different instances of munin-node on different ports with different configurations. As this poses management overhead and I would like to keep management easy, I wonder if it would be possible to do make some changes to the plugin's code to achieve the desired goal.

Is there a way to supply an environment variable in the Munin master configuration which could be evaluated upon plugin execution? Or is the master's IP address or host name present in some variable pre-filled by munin-node?

the-wabbit
  • 40,737
  • 13
  • 111
  • 174

1 Answers1

1

As far as I know, there is no such thing. The munin network protocol is very simplistic. (It's somewhat documented on the munin network-protocol page, but that leaves out capabilities, which allow some communication from the server to the client.)

It might be possible to add something like what you want via the munin capabilities protocol extension, but those are handled in code on both the client and server side, so you'd have to modify the source code for each to support your new capability. (Your problem is, I should note, exactly the sort of thing the capabilities extension was written to address, so that nodes could chose to output certain things, like multigraph plugins, only if the server supported them.)

asciiphil
  • 3,086
  • 3
  • 28
  • 53
  • Cool, capabilities are exactly what I was looking for. The documentation page says, they were supported as of 1.4.0, but as seen so often in Munin documentation pages, fails to give a reference to the relevant configuration directives (if there are any at all). I should see what I can make from it. – the-wabbit Dec 26 '13 at 12:52