Rsyslog / Centreon / Mod::Syslog

Rsyslog / Centreon / Mod::Syslog

Voici un petit truc pour permettre de ne plus avoir un ip mais le nom de votre appareil dans les “logs” de Rsyslog au sein de l’interface de Centreon.

C’est en perl,
c’est vite fait,
mais ca fonctionne

[perl]
#!/usr/bin/perl
use warnings;
use strict;
use DBI;
my $user=”";
my $pass=”";
my $db=”DBI:mysql:Centreon:localhost”;
my $con = DBI->connect($db,$user,$pass) || die “Connection Error”;
my $query = $con->prepare(”SELECT h.host_name,h.host_address FROM host h WHERE h.host_address IS NOT NULL”);
my $address;
my $name;
$query->execute();
while (($name,$address) = $query->fetchrow_array()){
print “$addresst$namen”;
}
$query->finish();
$con->disconnect();
[/perl]

En exécutant le script de cette manière :

[shell]
#!/bin/sh
HOSTS=’/etc/hosts’
HOSTS_ORIG=’/etc/hosts.orig’
printf "#Hosts (Original)n" > $HOSTS
cat $HOSTS_ORIG >> $HOSTS
printf "#Centreonn" >> $HOSTS
perl /usr/local/hostsrebuild/hosts.pl >> $HOSTS
[/shell]

Le tout dans un cron:

[text]
@daily sh /usr/local/hostsrebuild/rebuild.sh
[/text]

Ca permette de mettre à jour votre fichier /etc/hosts de manière assez transparente.

Leave a Reply

Your email address will not be published. Required fields are marked *