В качестве системы мониторинга у нас используется zabbix. Недавно один из клиентов обратился с просьбой/вопросом может ли подключить сервера еще и к его zabbix серверу.
Чтение документации подсказало, что очевидного решения нету и один клиент может принимать запросы только от одного сервера. Но нет ничего невозможного. Немного поразмыслив и понаблюдав за работой zabbix агента было принято решение запускать 2 агента на одном хосте, с использованием одних и тех же бинарников и разными конфигурационными файлами.
Осталось только сделать второй набор конфигурационных файлов. Второй экземпляр zabbix агента настроить на нужный сервер и настроить его на другой порт, немного подправить скрипт автозапуска и запустить второй zabbix агент.
В скрипт автозапуска было добавлено:
В такой конфигурации все работает прекрасно.
P.S.: Изначально был вариант иметь два отдельных init скрипта, но выяснилось, что для stop там прописано killall и это приводило к остановки обоих агентов. В случае рестарта, получалось, что останавливались оба агента, а запускался только один.
UPD
Ошибочка вышла.
Правильно делать через
Server=192.168.0.1,192.168.0.2
ServerActive=192.168.0.1,192.168.0.2
Спасибо! )
Чтение документации подсказало, что очевидного решения нету и один клиент может принимать запросы только от одного сервера. Но нет ничего невозможного. Немного поразмыслив и понаблюдав за работой zabbix агента было принято решение запускать 2 агента на одном хосте, с использованием одних и тех же бинарников и разными конфигурационными файлами.
Осталось только сделать второй набор конфигурационных файлов. Второй экземпляр zabbix агента настроить на нужный сервер и настроить его на другой порт, немного подправить скрипт автозапуска и запустить второй zabbix агент.
В скрипт автозапуска было добавлено:
init.d/zabbix-agent
conf_c=/etc/zabbix_client/zabbix_zgentd.conf
lockfile_c=/var/lock/subsys/zabbix-agent_c
....................................................................
start()
{
echo -n $"Starting Zabbix agent: "
daemon $exec -c $conf
rv=$?
echo
[ $rv -eq 0 ] && touch $lockfile
return $rv
echo -n $"Starting client Zabbix agent : "
daemon $exec -c $conf_c
rv=$?
echo
[ $rv -eq 0 ] && touch $lockfile_c
return $rv
}
В такой конфигурации все работает прекрасно.
P.S.: Изначально был вариант иметь два отдельных init скрипта, но выяснилось, что для stop там прописано killall и это приводило к остановки обоих агентов. В случае рестарта, получалось, что останавливались оба агента, а запускался только один.
Автор: Magvai69
UPD
Ошибочка вышла.
Правильно делать через
Server=192.168.0.1,192.168.0.2
ServerActive=192.168.0.1,192.168.0.2
Спасибо! )