у меня есть Плагин суперсэмплинга Munin который возвращает данные с высоким разрешением (частота дискретизации 1 секунда). Узел, предлагающий этот плагин, запрашивается двумя мастерами Munin, один из которых является экземпляром версии 1.4 и не может обрабатывать данные плагина. Точнее, мастер 1.4 выдает кучу предупреждений «Установка неизвестной опции» при каждом вызове munin-update.
В идеале я бы хотел, чтобы плагин возвращал разные наборы данных в зависимости от того, какой из серверов Munin запрашивает их.
На данный момент я обнаружил, что могу запускать разные экземпляры munin-node на разных портах с разными конфигурациями. Поскольку это создает накладные расходы на управление, и я хотел бы упростить управление, мне интересно, можно ли внести некоторые изменения в код плагина для достижения желаемой цели.
Есть ли способ предоставить переменную среды в главной конфигурации Munin, которая могла бы быть оценена при выполнении плагина? Или IP-адрес или имя хоста мастера присутствует в некоторой переменной, предварительно заполненной munin-node?
Насколько я знаю, такого нет. Сетевой протокол munin очень упрощен. (Это несколько задокументировано на страница сетевого протокола munin, но это не учитывает возможности, которые позволяют осуществлять обмен данными между сервером и клиентом.)
Возможно, можно будет добавить что-то вроде того, что вы хотите, через расширение протокола возможностей munin, но они обрабатываются в коде как на стороне клиента, так и на стороне сервера, поэтому вам придется изменить исходный код для каждого, чтобы поддержать ваши новые возможности. (Я должен отметить, что ваша проблема заключается в том, что расширение возможностей было написано для адресации, чтобы узлы могли выбирать вывод определенных вещей, таких как плагины с несколькими графами, только если сервер их поддерживал.)