- убедимся, что переменная не закомментированна и пройдем в этот каталог
AlertScriptsPath=/etc/zabbix/alert.d/
- создадим скрипт jabber в папке alert.d и назначим права на выполнение
- поставим все необходимые модули perl(perl -MCPAN -e shell и install Net::XMPP).
- также надо закомментить sasl в perl если будет выдавать ошибки.
#! /usr/bin/perl
use Net::XMPP;
use utf8;
my $to = $ARGV[0];
my $subj = $ARGV[1];
my $body = $ARGV[2];
my $type = $ARGV[3];
if (!defined($type)) {
$type = 'headline';
}
my $s = utf8::decode($subj);
my $b = utf8::decode($body);
my $hostName = 'server';
my $portNumber = 5222;
my $componentName = '';
my $userName = 'zabbix';
my $passWord = 'pass';
my $resource = 'Kbkv6';
my $tls = 0;
my $connectionType = 'tcpip';
my $debugLevel = 0;
my $bot = new Net::XMPP::Client(
debuglevel => $debugLevel
);
$bot->SetCallBacks(
onconnect => \&connectedCB,
onauth => \&authedCB,
ondisconnect => \&disconnectedCB
);
$bot->Execute(
hostname => $hostName,
port => $portNumber,
tls => $tls,
username => $userName,
password => $passWord,
resource => $resource,
register => 0,
connectiontype => $connectionType
);
sub connectedCB {
print "Connected\n";
}
sub authedCB {
print "Authed\n";
$bot->PresenceSend;
$bot->MessageSend(
to => $to,
subject => $subj,
body => $body,
type => 1
);
print "Sended\n";
$bot->Disconnect();
}
sub disconnectedCB {
print "Disconnected\n";
}
0 коммент.:
Отправить комментарий