В Nagios 2 и 3 я ищу способ экспортировать список всех отслеживаемых хостов в CSV, XML или что-то подобное.
Если вы не настраиваете свои хосты в conf.d/hosts
вы можете попробовать это:
grep host_name /var/log/nagios/objects.cache | cut -f3 | sort -u | paste -d, -s
Как насчет этого...
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";
};
'
Он выдаст список, разделенный табуляцией, с именем хоста, IP-адресом и псевдонимом для каждого хоста в вашей конфигурации nagios.
Взгляни на МК Livestatus:
echo -e 'GET hosts\nColumns: address' | unixcat /var/nagios/rw/live