我已在多个服务器上使用过 munin,这是第一次花费这么多时间来设置它。
当我直接 telnet munin 时,我可以列出服务,日志中没有错误,munin 每 5 分钟更新一次。但是没有创建 html 文件。我使用默认位置 (/var/cache/munin/www),我可以确认该目录的权限设置为 munin.munin
(IP和域名已更改)
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
关于它为什么不起作用有什么想法吗?
编辑
几天后 /var/log/munin/ 日志的样子如下:
-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
更新
尝试直接执行 munin-cron 或 munin-html(su - munin --shell=/bin/bash),
$ perl /usr/share/munin/munin-html
$ /usr/bin/munin-cron --debug
显示此错误:
not a reference at /usr/share/perl5/Munin/Master/Utils.pm line 863.
主机名(或 uname -n):(例如更改域名)
example.ne.jp
根据:http://www.mail-archive.com/[电子邮件保护]/msg1248923.html
这个错误似乎也在其他发行版的新安装上随机出现。
它总是由于没有配置节点,或者更确切地说单个节点配置不正确而引起的。
主节点和节点中的节点命名配置不匹配(触发此事件时,它们通常位于同一主机上)
答案1
要更新图表我使用:
su - munin --shell=/bin/bash
test -x /usr/bin/munin-cron && /usr/bin/munin-cron
可能不是解决方案,但值得尝试......
答案2
我解决了问题,但我不能 100% 确定问题的根源。我尝试了很多方法来恢复错误,但没有成功。我怀疑有一个 -old- munin 进程挂在那里。该服务器是生产服务器,所以我没有重新启动它。
这就是我怀疑的原因:当我遇到上述问题时,我像往常一样重新启动了 munin“/etc/init.d/munin restart”或“service munin restart”以及“munin-node”。我甚至清除并重新安装了 munin,但问题仍然存在。就在几分钟前,我从其他服务器复制了所有 /etc/munin 目录(使用旧版本的 munin),所以我在重试之前终止了所有“munin”进程。重试后,munin 运行正常。我以为是配置文件中的问题,但即使用以前的目录替换 munin 目录,它也能正常工作(重新启动所有 munin 服务并删除任何 munin 进程后)。
摘要:我可能在服务器设置不正确时过早安装了 munin。munin 失败后,可能正在运行某个进程,导致 munin 无法正常工作。终止所有“munin”进程可能可以解决问题。
答案3
在您的 中munin.conf
设置(默认use_node_name yes
值为:address 100.100.50.200
no
http://munin-monitoring.org/wiki/use_node_name)。
答案4
我在 Ubuntu 18.04 上遇到了类似的问题,当时没有安装 apache,但安装了 nginx。我显然必须创建一个 nginx 配置,但标准目录 (/var/www/html) 是空的。
我最终意识到 munin 文件是在中创建的/var/cache/munin/www
,因此创建了一个符号链接:
ln -s /var/cache/munin/www /var/www/html/munin