题 如何使用Munin更改,排序,添加,删除图表?


要密切关注我最近发现的生产服务器发生的事情 穆宁。安装起来很简单,但我在解决如何添加/删除图表方面遇到了很多麻烦。

我发现 一些文件 建议我可以重新排序它们,但很少讨论如何管理插件配置。大部分插件文档讨论了如何创建插件;而不是使用它们。

问题非常基本:我如何使用庞大的插件库,以便我可以看到正在发生的事情,例如,nginx,mysql和memcache。


6
2018-03-04 06:36






答案:


在每个节点上启用和禁用插件

图表是通过符号链接添加和删除的 /etc/munin/plugins/ 节点的目录。

要删除图形,必须删除符号链接并重新启动节点:

rm /etc/munin/plugins/diskstats
service munin-node restart

要添加图形,必须将plugins目录中的符号链接添加到可执行文件中。例如:

ln -s /usr/share/munin/plugins/diskstats /etc/munin/plugins/diskstats
service munin-node restart

当您重新启动munin-node时,它会立即运行,并且会出现插件的任何问题 /var/log/munin/munin-node.log。如果一切顺利,你会看到每个周期都记录一个CONNECT;这记录了主连接收集最新数据的事实。

Process Backgrounded
2014/03/10-15:59:47 Munin::Node::Server (type Net::Server::Fork) starting! pid(32231)
Resolved [*]:4949 to [::]:4949, IPv6
Not including resolved host [0.0.0.0] IPv4 because it will be handled by [::] IPv6
Binding to TCP port 4949 on host :: with IPv6
2014/03/10-16:00:04 CONNECT TCP Peer: "[::ffff:203.28.51.227]:45965" Local: "[::ffff:50.23.111.122]:4949"
2014/03/10-16:05:04 CONNECT TCP Peer: "[::ffff:203.28.51.227]:46109" Local: "[::ffff:50.23.111.122]:4949"
2014/03/10-16:10:04 CONNECT TCP Peer: "[::ffff:203.28.51.227]:46109" Local: "[::ffff:50.23.111.122]:4949"

在节点上配置插件

安装必备模块

但事情可能不顺利。运行插件时的错误也会记录在这里,并且是获取插件工作的重要线索。这里我们看到nginx_request插件有问题...

2014/03/10-11:25:05 CONNECT TCP Peer: "[::ffff:203.28.51.227]:38474" Local: "[::ffff:50.23.111.122]:4949"
2014/03/10-11:25:19 [22482] Error output from nginx_request:
2014/03/10-11:25:19 [22482]     Use of uninitialized value $LWP::VERSION in sprintf at /etc/munin/plugins/nginx_request line 109.
2014/03/10-11:25:19 [22482]     Can't locate object method "new" via package "LWP::UserAgent" at /etc/munin/plugins/nginx_request line 109.
2014/03/10-11:25:19 [22482] Service 'nginx_request' exited with status 2/0.

插件是可执行程序 - 大多数是用Perl编写的。安装了一个大集合 /usr/share/munin/plugins/ (Ubuntu的)。由于主要是用户贡献,他们看起来质量差异很大,但他们都需要向系统查询所需的数据,然后将其安排成munin可以使用的格式。

他们中的大多数都依赖于您可能已安装或未安装的Perl库,或者感兴趣的服务的诊断程序。例如插件  需要varnishstat。类似于memcached的插件。

但回到上面的问题...幸运的是,我在我的时间里做了一点Perl,并做了一个有根据的猜测,插件需要一个perl模块LWP :: Useragent。如果你打开了抛出错误的插件,它可能会为你提供一些线索来解决它的要求。其中一些你可以从命令行运行,看看会发生什么/如果它们工作。

要继续上面的示例,这可能会压缩上面显示的nginx_request错误:

apt-get install libwww-perl

或者它可能不...

启用数据源

举例来说,nginx,如果你看一下插件的src,就会发现它从中收集了它的数据。 http://localhost/nginx-status 所以你需要启用它。或者,如前所述 varnishstat 就是一个例子。

或者按原样去做也许是正确的。

提供环境变量

此外,您可能需要为插件提供一些环境/配置变量。这是通过编辑完成的 /etc/munin/plugin-conf.d/munin-node并添加它需要的任何东西。例如:

[mysql_innodb]
env.warning 0
env.critical 0

您也可以通过创建具有此类内容的新文件来执行此操作,因为它将处理该目录中的任何文件;但我没试过。

为了测试插件,它实际上读取环境变量,有一个工具 munin-run。只需在插件目录中命名文件即可使用它

% munin-run nginx_request
request.value 10275
% 

那些挂有下划线文件名的插件怎么样?

相当多的插件 /usr/share/munin/plugins/ 目录有插件,如果你只是符号链接它们不起作用。他们是最后一个角色的下划线。例如: memcached_diskstat_if_。它们留下悬挂的下划线,因此可以使用不同的参数重复使用它们。

要使用它们的符号链接 /etc/munin/plugins/ 但附加一个参数,(a)可能是一个关键字,例如 memcached_bytes 或(b)可参考参数,例如: if_eth0。告诉它期望的最好的方法是阅读插件的内容。一些更好的构建插件甚至可以帮助你。例如: /usr/share/munin/plugins/mysql_ suggest 输出合适的后缀列表。

lrwxrwxrwx 1 root root 36 Mar 10 11:45 mysql_bytes -> /usr/share/munin/plugins/mysql_bytes
lrwxrwxrwx 1 root root 31 Mar 10 11:47 mysql_commands -> /usr/share/munin/plugins/mysql_
lrwxrwxrwx 1 root root 31 Mar 10 11:45 mysql_connections -> /usr/share/munin/plugins/mysql_
lrwxrwxrwx 1 root root 31 Mar 10 11:46 mysql_qcache -> /usr/share/munin/plugins/mysql_

配置远程访问

主节点轮询节点以获取数据,因此,如果您使用的是远程主节点,请不要忘记通过它授予其访问权限 /etc/munin/munin-node.conf 在节点上。

配置主服务器

您可以在同一主机上运行master和node。或者您可以将主人放在其他地方 - 如果您正在观看繁忙的制作服务器,建议每隔几分钟生成一次图表是相当有用的。

我使用标准文档并添加节点没问题 /etc/munin/munin.conf

要了解民意调查的进展情况,请继续关注 /var/log/munin/munin-update.log。当第一次看到来自新插件的数据时,您应该获得一堆记录新rrd数据库构造的日志条目:

2014/03/10 12:45:15 [INFO] creating rrd-file for mysql_innodb->free: '/var/lib/munin/caradvice.com.au/syd.caradvice.com.au-mysql_innodb-free-g.rrd'

这也是查找与传入数据相关的警告和错误的地方。

最后一个问题是,默认情况下,节点数据收集仅每两分钟发生一次,远程轮询仅每5分钟发生一次。此外,将数据转换为图形可能需要60秒,最后第一个条目可能是一个不可见的单个数据点。因此,除非您调整循环时间,否则在正确配置插件和图表上显示数据之间可能需要15分钟。

我失去了兴趣。如果这对其他人没有帮助,它至少会帮助我记住我做过的事情。

最后的结果是很好的信息...

enter image description here


19
2018-03-10 06:06



很好的答案。如果您还包括如何更改订单,那将是一件好事。例如我希望exim邮件队列靠近顶部。 - Steve
只是想提一下你的安装建议 libwww-perl修好了 nginx_request 和 nginx_status 在Ubuntu 12.04和14.04上为我工作。从来没有在我的CentOS盒子上出现过这个问题! - geerlingguy


我可以删除一些图表并添加其他图表,是否全部修复?

从你的删除插件 munin-node 配置和该插件的图表将被删除。

我如何添加插件来向我展示正在发生的事情,例如,nginx,   mysql和memcache。

你安装了那些产品的munin插件 munin-node


2
2018-03-04 12:46