我发现some documentation建议我可以对它们进行重新排序,但很少讨论如何管理插件配置.大部分插件文档讨论了如何创建插件;而不是使用它们.
通过节点的/ 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库,或者感兴趣的服务的诊断程序.例如,varnish的插件需要varnishstat.类似于memcached的插件.
但回到上面的问题…幸运的是,我在我的时间里做了一点Perl,并做了一个有根据的猜测,插件需要一个perl模块LWP :: Useragent.如果你打开了抛出错误的插件,它可能会为你提供一些线索来解决它的要求.其中一些你可以从命令行运行,看看会发生什么/如果它们工作.
要继续上面的示例,这可能会压缩上面显示的Nginx_request错误:
apt-get install libwww-perl
或者它可能不…
启用数据源
举例来说,如果你看一下插件的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分钟.
我失去了兴趣.如果这对其他人没有帮助,它至少会帮助我记住我做过的事情.
最后的结果是很好的信息…