在 Nagios 2 和 3 中,我正在寻找一种方法将所有受监控主机的列表导出为 CSV 或 XML 或类似格式。
答案1
这个怎么样...
root@box:/etc/nagios3# cat conf.d/hosts/*.cfg | grep "host_name\|address\|alias" |grep -v localhost | perl -ne '$line = $_;
chomp($line);
if ($line =~ /host_name(.*)/) {
$match = $1 ;
$match =~ s/ |\t//g;
print "\n".$match."\t";
};
if ($line =~ /address(.*)/) {
$match = $1 ;
$match =~ s/ |\t//g;
print $match."\t";
}
if ($line =~ /alias(.*)/) {
$match = $1 ;
$match =~ s/^\s+//;
$match =~ s/\t//g;
print $match."\t";
};
'
它将输出一个以制表符分隔的列表,其中包含 nagios 配置中每个主机的主机名、IP 地址和别名。
答案2
如果您没有配置主机,conf.d/hosts
您可以尝试以下操作:
grep host_name /var/log/nagios/objects.cache | cut -f3 | sort -u | paste -d, -s
答案3
看一眼MK 实时状态:
echo -e 'GET hosts\nColumns: address' | unixcat /var/nagios/rw/live