Data exchange between master and node

Connect to the node

# telnet localhost 4949
Connected to localhost.
Escape character is '^]'.
# munin node at
# Unknown command. Try cap, list, nodes, config, fetch, version or quit
Connection closed by foreign host.

Node commands

The Munin node daemon will understand and answer to the following inquiries.

Lists the capabilities of the node, e.g. multigraph dirtyconfig
list [node]
Simply lists items available for gathering for this host. E.g. load, cpu, memory, df, et alia. If no host is given, default to host that runs the munin-node.
Lists hosts available on this node.
config <query-item>
Shows the plugins configuration items. See the config protocol for a full description.
fetch <query-item>
Fetches values
Print version string
Close the connection. Also possible to use a point “.”.


The master can exchange capabilities with the node using the “cap” keyword, and a list of capabilities. For each capability supported by both the master and node, the node setes an environment variable “MUNIN_CAP_CAPABILITY”, where CAPABILITY is the capability in upper case.

Capabilities used so far by munin node and master:


If the node and master support the “dirtyconfig” capability, the MUNIN_CAP_DIRTYCONFIG environment variable is set for all plugins.

This allows plugin to send config and data when the master asks for “config” for this plugin, reducing the round trip time.


If the node and master support the “multigraph” capability, the MUNIN_CAP_MULTIGRAPH environment variable is set for all plugins.

This allows plugins to use the “multigraph” format.

See also Protocol extension: multiple graphs from one plugin


If the node and master support the “spoolfetch” capability, the master can use the “spoolfetch” command to retrieve a spool of all plugin output since a given time.

This is used by Asynchronous proxy node.

Example outputs


> config load
< graph_args --title "Load average"
< load.label Load
< .
> config memory
< graph_args --title "Memory usage" --base 1024
< used.label Used
< used.draw AREA
< shared.label Shared
< shared.draw STACK
< buffers.label Buffers
< buffers.draw STACK
< cache.label Cache
< cache.draw STACK
< free.label Free
< free.draw STACK
< swap.label Swap
< swap.draw STACK


Fetches the current values.

Returned data fields:


Numeric value (e.g. “123.45”), timestamp and numeric value separated by a colon (e.g. “1234:56.7”) or ‘U’.

> fetch load
< load.value 0.42
< .
> fetch memory
< used.value 98422784
< shared.value 1058086912
< buffers.value 2912256
< cache.value 8593408
< free.value 235753472
< swap.value 85053440
< .
> fetch load_1sec
< load.value 2148659:0.42
< load.value 2148660:0.23
< load.value 2148661:0.12