Zabbix Agent integration on SME Server
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
use esmith::ConfigDB;
|
|
|
|
use MIME::Lite;
|
|
|
|
use Net::SMTP;
|
|
|
|
|
|
|
|
my $c = esmith::ConfigDB->open_ro();
|
|
|
|
my $domain = $c->get('DomainName')->value();
|
|
|
|
my $host = $c->get('SystemName')->value();
|
|
|
|
my $z = $c->get('zabbix-agent');
|
|
|
|
my $dest = $z->prop('StatusRecipient') || 'admin@' . $domain;
|
|
|
|
|
|
|
|
my $smtp = Net::SMTP->new('localhost');
|
|
|
|
my $mail = MIME::Lite->new(
|
|
|
|
From => 'smeserver-status@' . $domain,
|
|
|
|
To => $dest,
|
|
|
|
Subject => "[STATUS] $host.$domain",
|
|
|
|
Data => localtime(time)."\n" .
|
|
|
|
"\n#>tail /var/log/messages :\n" .
|
|
|
|
`/usr/bin/tail \$(readlink /var/log/messages)` .
|
|
|
|
"\n#>netstat --numeric-hosts -tpu :\n" .
|
|
|
|
`/bin/netstat --numeric-hosts -tpu`
|
|
|
|
);
|
|
|
|
|
|
|
|
$smtp->mail('smeserver-status@' . $domain);
|
|
|
|
$smtp->recipient($dest);
|
|
|
|
$smtp->data();
|
|
|
|
$smtp->datasend($mail->as_string);
|
|
|
|
$smtp->dataend();
|
|
|
|
$smtp->quit;
|
|
|
|
|