Динамически обновлять конфигурацию Telegraf агентами хостов?
У меня есть несколько сетевых коммутаторов в моей инфраструктуре, и я использую telegraf для сбора информации о трафике данных от коммутаторов с помощью snmp. Пока IP-адреса коммутатора были добавлены в конфигурацию статически. Мне было интересно, если можно вызвать список IP-адресов из базы данных, поэтому мне не нужно добавлять его каждый раз статически в конфигурации? Или, может быть, телеграф просто не инструмент для этого.
Обычный конфиг выглядит так:
[[inputs.snmp]]
agents = [ "192.168.252.15:161" ]
version = 2
community = "public"
name = "snmp"
[[inputs.snmp.field]]
name = "hostname"
oid = "RFC1213-MIB::sysName.0"
is_tag = true
[[inputs.snmp.table]]
name = "snmp"
inherit_tags = [ "hostname" ]
oid = "IF-MIB::ifXTable"
[[inputs.snmp.table.field]]
name = "ifName"
oid = "IF-MIB::ifName"
is_tag = true
1 ответ
Я бы просто написал скрипт, который бы изменял файл telegraf.conf по мере необходимости. Я делаю нечто подобное для автоматически масштабируемых серверов в AWS... Итак, у меня есть скрипт bash, который запускает cloud-init, когда экземпляры создаются из образа, в котором уже находится большая часть моего телеграфного конфига, а затем этот скрипт изменяет его так имя хоста изменяется с новым IP-адресом.
В конечном счете, я думаю, что вам просто нужен сценарий, который запускается при создании или любой другой сценарий для ваших нужд. Мои два цента в любом случае...