Как добавить узел для мониторинга в munin, используя скрипт Python?
Я не получаю точное решение для добавления узла в munin.conf с помощью скрипта Python. я пытаюсь использовать ConfigParser, но так как munin.conf - это файл без разделов, использовать этот модуль не представляется возможным. Может ли кто-нибудь предложить мне возможное решение?
1 ответ
Решение
Добавление хоста или узла в munin с помощью скрипта Python можно выполнить с помощью модуля парсера конфигурации Python. Ниже решение для этого:
def addhost(self, host):
cfile = '/etc/munin/munin.conf'
hostname = host['host_name']
address = host['address']
# use_node_name = host['use_node_name']
with open(cfile, "r+") as f:
s = f.read()
f.seek(0)
f.write("[default]\n" + s)
config.readfp(f)
# config.add_section(hostname)
# config.set(hostname, 'address '+ address )
# config.set(hostname, 'use_node_name yes')
#config.write(fout)
with open(cfile,"w") as fout:
print config.sections()
#config.readfp(fout)
config.add_section(hostname)
config.set(hostname, 'address ' + address)
config.set(hostname, 'use_node_name yes')
config.write(fout)
for line in fileinput.input(cfile, inplace=1):
line = line.strip()
if not '[default]' in line:
print line
здесь, для использования парсера конфигурации, нам нужно внести некоторые изменения в munin.conf. Во-первых, вам нужно записать секцию по умолчанию в файл вверху, во-вторых, записать данные, которые вы хотите записать, третий удалить эту секцию. Таким образом, вы можете добавить узел для мониторинга в munin через python.