我试图比较使用Munin 1.4.6-3ubuntu3的多个服务器的负载平均值,在一个图表中组合多个主机。
我的尝试:
[domain.com;Totals] load.graph_title Load load.graph_category System load.graph_order s1=s1.domain.com:load.load \ s2=s2.cisco.com:load.load \ s3=s3.cisco.com:load.load \ s4=s4.cisco.com:load.load \ s5=s5.cisco.com:load.load \ s6=s6.cisco.com:load.load \ s7=s7.cisco.com:load.load
结果是:
[WARNING] munin_set_var_loc: Setting unknown option 'load' at domain.com;Totals;s2=s2;domain;com:load: [WARNING] munin_set_var_loc: Setting unknown option 'load' at domain.com;Totals;s3=s2;domain;com:load: [WARNING] munin_set_var_loc: Setting unknown option 'load' at domain.com;Totals;s4=s2;domain;com:load:
而且在/var/cache/munin/www/domain.com/Totals ,只是index.html和load.html没有生成图
什么是一个工作的例子来完成这个?
我自己拼图很久了。 我可以从我的经验中得知,慕尼黑的inputvalidation非常糟糕。 因此,如果您忘记设置必需的选项或者设置了太多的选项,它往往会悄无声息地失败。 此外,我遇到了一个非常奇怪的问题,使得我的组合图在服务器正常运行几分钟后消失。 升级到Ubuntu 13.04(munin 2.0.9-1ubuntu1)就解决了这个问题。
我们目前在负载平衡器后面有三台生产服务器。 他们每个人计数传入的请求的数量。 所有这些服务器都由munin监控,一个自定义插件(myplugin)检索请求计数器,并将其作为单个数据源(称为“请求”)公开。 使用这个设置我们有三个不同的服务器的不同的图表。 现在这显然是一个完美的组合图的用例。
[server-1.production] address xxx.xxx.xxx.xxx use_node_name yes [server-2.production] address xxx.xxx.xxx.xxx use_node_name yes [server-3.production] address xxx.xxx.xxx.xxx use_node_name yes [aggregate.production] update no myplugin.update no myplugin.graph_args --base 1000 -l 0 myplugin.graph_category myplugin myplugin.graph_vlabel requests/s myplugin.graph_title request rate myplugin.graph_order \ total \ server-1=server-1.production:myplugin.requests \ server-2=server-2.production:myplugin.requests \ server-3=server-3.production:myplugin.requests myplugin.total.sum \ server-1.production:myplugin.requests \ server-2.production:myplugin.requests \ server-3.production:myplugin.requests myplugin.server-1.label server-1 myplugin.server-2.label server-2 myplugin.server-3.label server-3 myplugin.total.label total
你得到的这个警告信息是因为语法检查不能理解用'\'分隔的多行,因此它认为你的variables'load'是configuration命令结束的有效关键字。 我认为这是目前的一个错误。
虽然他们正确处理,您可以通过删除“\”并将所有以下行只压缩到一个:
load.graph_order s1=s1.domain.com:load.load s2=s2.cisco.com:load.load s3=s3.cisco.com:load.load s4=s4.cisco.com:load.load s5=s5.cisco.com:load.load s6=s6.cisco.com:load.load s7=s7.cisco.com:load.load
独立于上面的解决方法,您还需要添加:
use_node_name no update no load.update no