Я пытаюсь сравнить среднюю нагрузку с нескольких серверов, используя 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
Какой рабочий пример для этого?
Я долго боролся с комбинированными графиками. По своему опыту могу сказать, что проверка ввода 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
Это предупреждающее сообщение, которое вы получаете, связано с проверкой синтаксиса, которая не понимает многострочного разделения с '\' и, следовательно, считает, что ваша переменная 'load' является допустимым ключевым словом для завершения команды конфигурации. Считаю, что это ошибка текущего мунина.
Хотя они обрабатываются правильно, вы можете избежать этого предупреждения, удалив символ '\' и сжав все следующие строки только в одну:
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