Назад | Перейти на главную страницу

collectd: использование динамического IP для сетевого плагина

Я настроил сервер, который собирает статистику с других серверов. Я использую сетевой плагин collectd, поэтому я настроил сеть плагинов, настроив слушателя.

В моей сети я могу использовать частный IP-адрес в качестве «Сервера» в конфигурации. Все работает. Один из этих серверов является удаленным и доступен только через Интернет. Итак, сервер настроен на отправку данных на DNS-адрес (см. Фрагмент конфигурации). После запуска сервиса collectd на этом сервере он работает отлично. Если я получаю новый динамический IP-адрес для своего подключения, удаленный сервер не отправляет данные в collectd. Только если я перезапущу collectd на удаленном сервере, он будет работать до тех пор, пока IP-адрес снова не будет изменен.

На мой взгляд, плагин разрешает DNS-адрес только один раз при запуске. Есть ли способ решить мою проблему без перезапуска службы collectd?

config:

<Plugin network>
#       # client setup:
        Server "name.of.server" "25826"
</Plugin>

Есть ли способ решить мою проблему без перезапуска службы collectd?

Этот вопрос был задан также семь лет назад. Но по-прежнему нет обходного пути для этого ограничения, кроме перезапуска collectd.

См. Также аналогичную проблему с github: Сетевой плагин не подключается автоматически с динамическим IP-адресом

Сетевой плагин использует UDP, поэтому реального «соединения» не происходит. Исправление этого означало бы поиск в DNS для каждого пакета значений, отправленных по сети, что было бы компромиссом по производительности.

Я думаю, это проблема, с которой вы сталкиваетесь и с другими системами "клиент-сервер", использующими эту настройку? Разве вы не можете уведомить collectd об изменении IP-адреса сервера? Или cron перезагрузить collectd по истечении срока аренды DHCP? Или использовать плагин AMQP для отправки значений на сервер без риска потери? Я уверен, что мы можем представить другие решения того, что действительно больше похоже на проблему настройки сети.