The following is the GNU All-permissive License as recommended in

Copyright (C) 2024 Free Software Foundation

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

Contributions are welcome. See

munin install for client

set up according to:


on client (using as an example):

apt-get install munin-node

vim /etc/munin/munin-node.conf
+#bernie/sudoman: office NAT gateway for
+allow ^74\.94\.156\.210$

cd /etc/munin/plugins
rm -f threads if_err_eth0 fw_packets swap users exim_* entropy open_files open_inodes

vim /etc/munin/plugin-conf.d/munin-node
+user root
+env.graph_width 640

service munin-node restart


nc 4949

vim /etc/munin/munin-conf.d/

custom graphs

ssh'd into the target machine, in a script like: /etc/munin/plugins/foo_bar with permissions 750 and ownership root:munin if it contains a password:

#! /bin/bash

function config() {
        cat <<'EOM'
graph_title CiviCRM Contact Count
graph_vlabel contacts
civicrm_contacts.label CiviCRM contacts
        exit 0

# don't use the leading backslash for the source code version of this line. it's just for ikiwiki formatting
[[ $1 == "config" ]] && config

count="$(echo "select count(*) from civicrm_contact;" | mysql -u munin -pFOO civicrm | tail -n +2)"

echo "civicrm_contacts.value ${count}"

Give the munin user select access on the id column of the table you're accessing:

GRANT SELECT (id) ON civicrm_contact TO munin@localhost;

Start using the new script:

systemctl restart munin-node.service
systemctl status munin-node.service

vim /var/log/munin/munin-node.log


There is a script in /home/common that can download all of the graphs with day, week, month, and year views.


This is helpful for getting a wider view or sharing data with an external community admin.