Munin-C¶
Munin C
is a C
rewrite of various munin components.
The node is a rewrite of munin-node, and the plugins are a rewrite of commonly used munin plugins a single binary.
Purpose¶
- reducing resource usage
disk space: the binary is smaller than the plugins together
more diskspace: it has no dependencies on other programs
less forks: it does not fork internally
faster startup: it doesn’t start perl or shell
less memory: just a small C program
less file accesses: one binary for many plugins
no need for Perl
everything can be run from inetd
It makes it very useful for machines without native support for Perl scripting, mostly because of restricted resources like embedded machines.
Limits¶
- You lose flexibility as it is compiled code
plugin modification is not that easy
you have to create and distribute binaries
you have to care about portability across architectures.
- Not all the features are implemented
root uid is not supported. All plugins are run with a single user, usually nobody.
no socket is opened. Everything runs from inetd.
What plugins are included?¶
cpu
entropy
forks
fw_packets
interrupts
load
open_files
open_inodes
processes
swap
uptime
memory
Install¶
After compiling there will be a binary named munin-plugins-c
. You can just replace the symlinks in /etc/munin/plugins/
with symlinks to this binary.
Note that the C version of the plugins do not need the C version of the node. It is just recommended as it gives you the full benefits at no added cost.