无法将新的 munin 节点添加到现有的 munin 主节点

无法将新的 munin 节点添加到现有的 munin 主节点

我正在尝试将一个节点添加到现有的 munin master(我没有设置它,但它似乎运行良好,因为它显示了 8 个现有节点的图表),但遇到了一些问题。以下是我遵循的步骤:

掌握

已将节点添加到/etc/munin/munin.conf

[server.example.org]
   address private.server.example.org

master 的 html 目录是(与 apache 配置匹配):

htmldir /opt/munin

该目录包含以下文件和文件夹:

ls -lh /opt/munin/
drwxr-xr-x 20 munin munin 4.0K 2011-11-07 16:15 example.org <= FOLDER NAMED AFTER OUR DOMAIN
-rw-r--r--  1 munin munin 2.5K 2010-08-03 14:11 definitions.html
-rw-r--r--  1 munin munin 3.0K 2010-08-03 14:11 favicon.ico
-rw-r--r--  1 munin munin  15K 2011-11-07 16:21 index.html  <= MAIN MUNIN PAGE
-rw-r--r--  1 munin munin 1.8K 2010-08-03 14:11 logo-h.png
-rw-r--r--  1 munin munin  473 2010-08-03 14:11 logo.png
-rw-r--r--  1 munin munin 5.6K 2010-11-03 14:07 style.css

页脚索引.html表示该文件是由 munin 动态生成的,所以我知道我不必触碰该文件。

This page was generated by <a href='http://munin-monitoring.org/'>Munin</a> version 1.4.4 at 2011-11-07 16:21:30+0000 (UTC)

域目录包含所有节点的文件夹。我最终为新节点创建了一个文件夹,希望这会有所帮助,但并没有什么区别

mkdir /opt/munin/example.org/server.example.org
chown munin:munin -R /opt/munin/example.org/server.example.org

我杀死了 munin-cron 并重新启动了它,但还是没有什么区别。

$ sudo su munin munin-cron start
$ sudo ps aux | grep munin-cron
munin    26566  0.0  0.2   4092   584 ?        Ss   16:35   0:00 /bin/sh -c if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi
munin    26567  0.0  0.2   4092   576 ?        S    16:35   0:00 /bin/sh /usr/bin/munin-cron

Munin 节点

已安装 munin-node 包

apt-get install munin-node

修改了/etc/munin/munin-node.conf文件允许来自 munin master 的访问

host *
allow ^A\.B\.C\.D$  # master IP address
port 4949

重新启动 munin 节点

service munin-node start

如果我在新节点上运行 tcpdump,我可以看到一些数据正在与主节点交换,所以我相信此时问题在于配置主节点。

您知道我遇到了什么问题或该如何进一步排除故障吗?

其他故障排除

根据建议,我检查了日志

$ grep server.example.org /var/log/munin/munin-update.log

2011/11/08 08:40:03 [WARNING] Config node server.example.org listed no services for server.example.org.  Please see http://munin-monitoring.org/wiki/FAQ_no_graphs for further information.
2011/11/08 09:10:02 [INFO] Reaping Munin::Master::UpdateWorker<example.org;server.example.org>.  Exit value/signal: 0/0

警告将我带到此页面http://munin-monitoring.org/wiki/FAQ_no_graphs。我按照给出的建议一步一步进行操作。虽然符号链接似乎已正确创建,但我确实运行了命令munin-node-configure --shell | sh -x,相信该命令已解决问题。上述页面还建议更改设置host_name,我照做了(尽管我不认为这有帮助,因为其他工作节点没有配置它)。

当我到达时,telnet 故障排除已经成功

$ telnet private.server.example.org 4949
Trying A.B.C.D...
Connected to private.server.example.org.
Escape character is '^]'.
# munin node at server.example.org

> nodes
server.example.org
.

> list server.example.org
cpu df df_inode entropy forks fw_conntrack fw_forwarded_local fw_packets if_err_eth0 if_err_eth1 if_eth0 if_eth1 interrupts iostat iostat_ios ip_A.B.C.D irqstats load memory open_files open_inodes postfix_mailqueue postfix_mailvolume proc_pri processes swap threads uptime users vmstat

> fetch df
_dev_sda1.value 23.1295909196156
_dev.value 1.2890625
_dev_shm.value 0
_var_run.value 0.00782368542525642
_var_lock.value 0
_lib_init_rw.value 0

答案1

我看不出你的设置有什么明显问题。我建议两点;

  • 阅读 munin-master 上的日志。 /var/log/munin/munin-update.log这是开始的地方。如果您有确认更新成功的条目,并且您获得了 rrd 文件/var/lib/munin/- 继续munin-graph.logmunin-html.log

  • 验证主节点是否能够连接到 munin-node 的地址。请使用netcat或类似命令进行测试:nc private.server.example.org 4949。预期输出应为:# munin node at hostname。可能的错误是数据包被防火墙丢弃(而 nc 将挂起在connect(),如果使用 strace 则可见),或无法解析名称(而 netcat 输出nc: getaddrinfo: Name or service not known)。

如果在尝试上述操作后您仍找不到任何内容,请从主机粘贴完整的 munin.conf(如果需要,请使用数字匿名化数字 IP 地址,并使用一些虚假文本匿名化主机名)。

不太罕见的错误;cron-job 可能在某个时候由 root 调用,其中某些文件具有 root 所有权,并且无​​法由 munin 用户更新,而 munin 用户通常需要对 /var/lib/munin 和 html 目录中的所有文件的写权限。

答案2

嘿,我遇到了同样的问题。

检查主机上的 /etc/hosts 文件,并仔细检查第一个主机名是否与您在服务器上的 munin conf 文件中指定的主机名相同。

直到我们发现这一点,这才彻底破坏了我们的设置。

我们的 /etc/host 设置为:1.2.3.4 hostname hostname.domain

Munin conf 设置为 hostname.domain。服务器认为它被命名为 hostname 而不是 hostname.domain。

答案3

有时使用 use_node_name 覆盖节点提供的主机名会有所帮助:

[server.example.org]
   address private.server.example.org
   use_node_name yes

相关内容