我没有得到使用python脚本在munin.conf中添加节点的确切解决方案。我尝试使用ConfigParser,但由于munin.conf是无段文件,因此使用该模块是不可行的。可以任何建议我可能的解决方案吗?
答案 0 :(得分:2)
使用python的配置解析器模块可以使用python脚本在munin中添加主机或节点。以下是解决方案: -
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中进行一些更改。首先你需要在顶部写一个默认部分到文件,第二个写你想写的数据,第三个删除那个部分。通过这种方式,您可以通过python添加一个节点以在munin中进行监控。