如何导出 Nagios 中所有受监控主机的列表?

如何导出 Nagios 中所有受监控主机的列表?

在 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

相关内容