如何更改,sorting,添加,删除graphics与穆宁?

为了密切关注我们生产服务器上发生的事情,我最近发现了Munin 。 这是微不足道的安装,但我有很多麻烦,如何添加/删除graphics。

我发现一些文档build议我可以重新sorting,但关于如何pipe理插件configuration的讨论很less。 大部分插件文档讨论了如何创build插件; 而不是使用它们。

这个问题是非常基本的:我如何使用庞大的插件库,这样我就可以看到发生了什么,例如nginx,mysql和memcache。

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

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

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

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

要添加一个graphics,你必须在plugins目录中添加一个符号链接到一个可执行文件。 例如:

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

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

 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" 

在节点上configuration插件

安装必备模块

但可能是事情不好。 运行插件时的错误也logging在这里,是获得插件工作的关键线索。 这里我们看到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)上安装了一个大集合。 主要是用户贡献,他们似乎在质量上有很大差异,但他们都需要向系统查询所需的数据,然后将其安排成可供慕尼黑使用的格式。

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

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

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

 apt-get install libwww-perl 

或者它可能不…

启用数据源

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

或者可能是正确的。

提供环境variables

另外,您可能需要为插件提供一些环境/configurationvariables。 这是通过编辑/etc/munin/plugin-conf.d/munin-node并添加任何需要的。 例如:

 [mysql_innodb] env.warning 0 env.critical 0 

你也可以通过创build一个新的文件来处理这个目录中的文件, 但我没有尝试。

为了testing这个插件,它实际上读取了环境variables,有一个工具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 。 告诉他们期望什么的最好方法是阅读插件的内容。 一些更好的构build插件甚至可以帮助你。 例如: /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_ 

configuration远程访问

主节点轮询节点的数据,所以,如果你使用的是远程主节点,不要忘记通过节点上的/etc/munin/munin-node.conf授予访问权限。

configuration主

您可以在同一主机上运行主节点和节点。 或者你可以把主人放在其他地方 – 如果你正在观看一个繁忙的生产服务器,每隔几分钟就要生成一个图表,这是可取的。

我使用标准文档并将节点添加到/etc/munin/munin.conf没有任何问题。

要查看轮询的进行情况,请关注/var/log/munin/munin-update.log 。 当第一次看到新插件的数据时,你应该得到一堆logging新的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' 

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

最后一个问题是,默认情况下,节点数据收集只会每两分钟发生一次,而远程轮询只会每五分钟发生一次。 此外,将数据转换为graphics可能需要60秒,最后第一个条目可能是单个不可见的数据点。 所以,除非你摆弄周期时间,否则在正确configuration插件和数据出现在图表之间可能需要15分钟。

我没事了 如果这不能帮助别人,那至less可以帮助我记住我做了什么。

最后的结果是伟大的信息…

在这里输入图像描述

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

从你的munin-nodeconfiguration中删除一个插件,该插件的graphics将被删除。

我将如何添加插件来显示发生了什么,例如,nginx,mysql和memcache。

你在munin-node上安装这些产品的munin插件。