Munin v3 is currently in beta stage, use at your own risk. The protcol is compatible to Munin v1 and Munin v2 nodes, so you don't have to update them.
Munin v3 contains a built-in minimal webserver that generates graphs on-demand so it should use less resources
than Munin v2 nodes with the default graph_strategy (cron).
You can either use it behind a reverse proxy (e.g. nginx) so you can have other virtual hosts on the server or expose it directly to the internet.
/var/lib/muninused to store the collected data/var/log/muninused to store logs/usr/local/etc/munin/munin-conf.dto add your own configuration
4948- Munin HTTP server
Create a directory to store your data and configuration files:
mkdir -p /var/volumes/munin/lib
mkdir -p /var/volumes/munin/conf
Make sure the lib directory is writable for munin (uid 1000).
Create a configuration file for munin, e.g (/var/volumes/munin/conf/hosts.conf):
[bauerj.eu;moonraker.bauerj.eu]
address moonraker.bauerj.eu
port 4949
If you use docker-compose:
munin:
image: bauerj/munin-v3:0.3b4
ports:
- "80:4948"
volumes:
- /var/volumes/munin/lib:/var/lib/munin
- /var/volumes/munin/conf:/usr/local/etc/munin/munin-conf.d
Or using docker run:
docker run --name munin -v '/var/volumes/munin/lib:/var/lib/munin' -v '/var/volumes/munin/conf:/usr/local/etc/munin/munin-conf.d' -p '80:4948' bauerj/munin-v3:0.3b3
In most cases, you want to use a reverse proxy to connect to munin. If you want to use nginx, you can use something like this:
server {
server_name munin.bauerj.eu;
location / {
proxy_pass http://munin:4948;
}
}
If nginx is running inside a docker container, make sure to link munin to your nginx container.
You can find a live demo of the current development version of munin here.