I added a v3 to the title of the nfsd graph to reduce ambiguity.
This is also the initial commit of the nfs_client plugin. It is
essentially identical to server. The output of nfsstat for client is
somewhat different from server in the labeling of the cache entries.
As such, I've left them off here and will add a standalone plugin for
nfs_client_cache where the awful, terrible, hideous string parsing will
take place without sullying the triviality and simplicity of this
working plugin.
This is an initial commit of FreeBSD NFS plugins for the Munin
monitoring platform. The NFS plugins for Munin depend on the
/proc filesystem in Linux for statistics which does not exist in
FreeBSD by default. While one can add the linproc package to their
installation to emulate this functionality, I felt it would be better
to write plugins that made use of native tools.
I'm leveraging the nfsstat command to create these plugins. I'm sure
there is a better primary data source in FreeBSD to gather this output
from but for my purposes, using nfsstat is adequate and acceptable.
Unfortunately this means if the output of the nfsstat command changes
due to updates, these plugins will likely report inaccurate data.
These are the days of our lives, as they say. Someone with appropriate
levels of FreeBSD knowledge can probably improve these plugins
trivially.
I'm specifically targeting FreeNAS/NAS4Free, but the code should work
on any FreeBSD system with minimal package additions. Installing munin
on FreeNAS is not supported in general, but it's easy enough to do and
I wanted it monitored, ergo we are here.
The existing Unicorn plugins are written in Ruby, which didn't work well for me due to ENV variables etc.
This plugin monitors number of workers, total memory used and average memory per process for Unicorn.
ln -s /usr/share/munin/plugins/unicorn_ /etc/munin/plugins/unicorn_average
ln -s /usr/share/munin/plugins/unicorn_ /etc/munin/plugins/unicorn_memory
ln -s /usr/share/munin/plugins/unicorn_ /etc/munin/plugins/unicorn_processes
It can easily be adapated to any multi threaded server by just changing the value it searches for 'unicorn worker' in this case.
- The name in =head1 did not match the filename.
- The $pool-variable was used in the config-section, but was never initialized. It is now extracted from the fcgi-response