关于我们的设置的一些背景

关于我们的设置的一些背景

我尝试通过在单个图表中组合多个主机来比较使用 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.htmlload.html

实现这一目标的实用示例是什么?

答案1

我自己也为组合图苦苦挣扎了好一阵子。从我的经验来看,munin 的输入验证非常糟糕。因此,如果您忘记设置必需选项或设置了太多选项,它通常会默默失败。此外,我还遇到了一个非常奇怪的问题,导致我的组合图在服务器启动几分钟后消失。升级到 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

重要的陷阱

  • 配置最后部分的标签定义是必需的。省略它们会导致 munin 悄悄失败!
  • 更新号是必需的,但我不确定你是否需要myplugin.update 没有
  • 确保您使用的是最新版本的 munin,因为错误已被积极修复。

答案2

您收到此警告消息是因为语法检查不理解用“\”分隔的多行,因此它认为您的变量“load”是配置命令结尾的有效关键字。我认为这是当前 munin 中的一个错误。

尽管它们被正确处理,你可以通过删除'\'并将所有以下行压缩为一行来避免该警告:

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

相关内容