Wildcard Plugins

Wildcard plugins are plugins designed to be able to monitor more than one resource. By symlinking the plugin to different identifiers, the exact same plugin will be executed several times and give the associated output.

Operation & Naming Convention

Our standard example plugin is the if_ plugin, which will collect data from the different network interfaces on a system. By symlinking if_ to if_eth0 and if_eth1, both interfaces will be monitored, and creating separate graphs, using the same plugin.

Wildcard plugins should, by nomenclature standards, end with an underscore (_).

Installation

Because a wildcard plugin normally relies on the symlink name to describe what item of data it is graphing, the plugin itself should be installed in the system-wide plugin dir (/usr/share/munin/plugins in Linux). Then via the munin-node-configure command, your munin-node will suggest shell commands to setup the required symlinks in the servicedir under /etc/munin/plugins.

For 3rd-Party wildcard plugins We recommend to install them into an own directory e.g. /usr/local/munin/lib/plugins and call munin-node-configure with flag --libdir <your 3rd-party directory>.

E.g.:

Before the plugin is installed:

# munin-node-configure --shell

Install the new plugin:

# mv /tmp/smart_ /usr/share/munin/plugins/smart_

Rescan for installed plugin:

# munin-node-configure --shell
ln -s /usr/share/munin/plugins/smart_ /etc/munin/plugins/smart_hda
ln -s /usr/share/munin/plugins/smart_ /etc/munin/plugins/smart_hdc

You can now either manually paste the symlink commands into a shell, or pipe the output of munin-node-configure --shell to a shell to update in one sequence of commands.

SNMP Wildcard Plugins

SNMP plugins are a special case, as they have not only one but two parts of the symlinked filename replaced with host-specific identifiers.

SNMP plugins follow this standard: snmp_[hostname]_something_[resource to be monitored]

E.g.: snmp_10.0.0.1_if_6

which will monitor interface 6 on the host 10.0.0.1. The unlinked filename for this plugin is snmp__if_ (note two underscores between snmp and if).

See Using SNMP plugins for information about configuring SNMP plugins.