我inheritance了一个Munin安装,我想列出所有受监控的主机。 是否有命令或其他方式将所有受监视主机的列表导出为CSV或XML?
这似乎相当蹩脚,但我发现
grep '^\[' /etc/munin/munin.conf
取出所有的主机条目,没有其他的东西; 你可以用(例如) tr从中切出来。
最简单的方法是查找<dbdir>/munin-update.stats (在RHEL和Debian上,dbdir是/var/lib/munin )。 该文件包含在上次运行中检查的每个主机的一行。 每一行的格式是:
UD|hypervisor;both;esxi1|4.25
有三个字段,用|分隔 秒。 “UD”代表“更新细节”之类的东西; 还有一个“UT”线,用来更新所有的时间,所以你应该grep '^UD' /var/lib/munin/munin-update.stats 。 第二个字段是主机及其类别,格式与/etc/munin/munin.conf相同。 第三个字段是获取主机数据所花费的秒数。
这种方法比直接通过/etc/munin/munin.conf来得到一些好处有两个原因:主要是因为munin已经包含了指令,因此可能并不是所有主机都直接在主configuration文件中定义; 其次,仅仅是因为文件格式更简单,所以从中获取数据更容易。