Munin not creating HTML files in Ubuntu Server 14.04

I have used munin in several servers and this is the first time is taking me so much time to set it up.

When I telnet munin directly, I can list the services, there is no error at the logs and munin its being updated every 5 minutes. However no html files are created. I'm using the default location (/var/cache/munin/www) and I can confirm the permissions of that directory are set to munin.munin

(IP and domain has been changed)

munin.conf:

dbdir   /var/lib/munin
htmldir /var/cache/munin/www
logdir  /var/log/munin
rundir  /var/run/munin
[example.ne.jp;]
    address 100.100.50.200

munin-node.conf:

log_level 4
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid
background 1
setsid 1
user root
group root
host_name example.ne.jp
allow ^127\.0\.0\.1$
allow ^100\.100\.50\.200$
allow ^::1$

/etc/hosts :

100.100.50.200 example.ne.jp mail.example.ne.jp
127.0.0.1      localhost

$ telnet example.ne.jp 4949

Trying 100.100.50.200...
Connected to example.ne.jp.
Escape character is '^]'.
# munin node at example.ne.jp

list

apache_accesses apache_processes apache_volume cpu cpuspeed df df_inode entropy fail2ban forks fw_packets if_err_eth0 if_err_eth1 if_eth0 if_eth1 interrupts ipmi_fans ipmi_power ipmi_temp irqstats load memory munin_stats mysql_bin_relay_log mysql_commands mysql_connections mysql_files_tables mysql_innodb_bpool mysql_innodb_bpool_act mysql_innodb_insert_buf mysql_innodb_io mysql_innodb_io_pend mysql_innodb_log mysql_innodb_rows mysql_innodb_semaphores mysql_innodb_tnx mysql_myisam_indexes mysql_network_traffic mysql_qcache mysql_qcache_mem mysql_replication mysql_select_types mysql_slow mysql_sorts mysql_table_locks mysql_tmp_tables ntp_2001:e40:100:208::123 ntp_91.189.94.4 ntp_kernel_err ntp_kernel_pll_freq ntp_kernel_pll_off ntp_offset ntp_states open_files open_inodes postfix_mailqueue postfix_mailvolume proc_pri processes swap threads uptime users vmstat

fetch df

_dev_sda3.value 2.1762874086869
_sys_fs_cgroup.value 0
_run.value 0.0503536980635825
_run_lock.value 0
_run_shm.value 0
_run_user.value 0
_dev_sda5.value 0.0176986285727571
_dev_sda8.value 1.08464646179852
_dev_sda7.value 0.0346633563514803
_dev_sda9.value 6.81031810822797
_dev_sda6.value 9.0932802215469
.

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

Process Backgrounded
2014/08/16-14:13:36 Munin::Node::Server (type Net::Server::Fork) starting! pid(19610)
Binding to TCP port 4949 on host 100.100.50.200 with IPv4
2014/08/16-14:23:11 CONNECT TCP Peer: "[100.100.50.200]:55949" Local: "[100.100.50.200]:4949"
2014/08/16-14:36:16 CONNECT TCP Peer: "[100.100.50.200]:56209" Local: "[100.100.50.200]:4949"

/var/log/munin/munin-update.log

...
2014/08/16 14:30:01 [INFO]: Starting munin-update
2014/08/16 14:30:01 [INFO]: Munin-update finished (0.00 sec)
2014/08/16 14:35:02 [INFO]: Starting munin-update
2014/08/16 14:35:02 [INFO]: Munin-update finished (0.00 sec)
2014/08/16 14:40:01 [INFO]: Starting munin-update
2014/08/16 14:40:01 [INFO]: Munin-update finished (0.00 sec)

$ ls -la /var/cache/munin/www/

drwxr-xr-x 3 munin munin   19 Aug 16 13:55 .
drwxr-xr-x 3 root  root    16 Aug 16 13:54 ..
drwxr-xr-x 2 munin munin 4096 Aug 16 13:55 static

Any ideas on why it is not working?

EDIT

This is how /var/log/munin/ log looks like after some days:

-rw-r----- 1 www-data    0 Aug 16 13:54 munin-cgi-graph.log
-rw-r----- 1 www-data    0 Aug 16 13:54 munin-cgi-html.log
-rw-rw-r-- 1 munin       0 Aug 16 13:55 munin-html.log
-rw-r----- 1 munin       0 Aug 19 06:18 munin-limits.log
-rw-r----- 1 munin     15K Aug 18 14:10 munin-limits.log.1
-rw-r----- 1 munin    1.8K Aug 18 06:15 munin-limits.log.2.gz
-rw-rw-r-- 1 munin    1.3K Aug 17 06:15 munin-limits.log.3.gz
-rw-r--r-- 1 root     6.5K Aug 16 13:55 munin-node-configure.log
-rw-r--r-- 1 root        0 Aug 17 06:18 munin-node.log
-rw-r--r-- 1 root      420 Aug 16 14:52 munin-node.log.1.gz
-rw-r----- 1 munin       0 Aug 19 06:18 munin-update.log
-rw-r----- 1 munin     11K Aug 18 14:10 munin-update.log.1
-rw-r----- 1 munin    1.6K Aug 18 06:15 munin-update.log.2.gz
-rw-rw-r-- 1 munin    1.5K Aug 17 06:15 munin-update.log.3.gz

UPDATE

Trying to execute munin-cron or munin-html directly (su - munin --shell=/bin/bash),

$ perl /usr/share/munin/munin-html
$ /usr/bin/munin-cron --debug

displays this error:

not a reference at /usr/share/perl5/Munin/Master/Utils.pm line 863.

hostname (or uname -n): (changed domain for example)

example.ne.jp

According to: http://www.mail-archive.com/[email protected]/msg1248923.html

This bug has popped up also seemingly randomly on fresh install of other distrib.

It was always caused by no node being configured, or more exactly the single node being incorrectly configured.

There was a mismatch between the naming config of the node in the master and in the node (which usually are both on the same host when this triggers)


Solution 1:

To update charts I use :

su - munin --shell=/bin/bash
test -x /usr/bin/munin-cron && /usr/bin/munin-cron

Probably not the solution, but worth trying ...

Solution 2:

I solved the problem but I'm not 100% sure what was the source of it. I tried many things to bring back the error without success. I suspect there was an -old- munin process hanging there. The server is a production server so I didn't restart it.

This is why I suspect that: When I had the problem described above, I restarted munin as usual "/etc/init.d/munin restart" or "service munin restart" and also "munin-node". I even purge and reinstalled munin but the problem persisted. Just few minutes ago, I copied from other server all the /etc/munin directory (with an older version of munin), so I killed all "munin" processes before trying again. After retrying, munin was working without issues. I thought it was something inside the configuration files but even replacing the munin directory with the previous one it worked without problem (after restarting all munin services and removing any munin process) .

Summary: I probably installed munin too soon, when the server was not properly set up. After munin failed, some process might have been running which prevented munin to work correctly. Killing all "munin" process may have solved the problem.

Solution 3:

In your munin.conf, set use_node_name yes under address 100.100.50.200 (the default is no: http://munin-monitoring.org/wiki/use_node_name).

See also http://munin-monitoring.org/ticket/1285