1. Debian 8 с установленной Zabbix 3.0.1
2. Скрипт для отправки сообщений на внешний сервер jabber.
При вызове скрипта из командной строки всё отлично работает.
При срабатывании триггера в заббикс происходит успешная попытка отправки сообщений, но по факту ничего не происходит.
По логам выясняется, что Zabbix успешно обращается к скрипту, но не передает в скрипт никаких данных(сообщение, тема, получатель).
Помогите разобраться в этом!
Вот сам скрипт:
#! /usr/bin/perl
use Net::XMPP;
use utf8;
my $to = $ARGV[0];
my $subj = $ARGV[1];
my $body = ".\n".$ARGV[2];
my $type = $ARGV[3];
if (!defined($type)) {
$type = 'headline';
}
my $s = utf8::decode($subj);
my $b = utf8::decode($body);
my $hostName = 'name_server';
my $portNumber = 5222;
my $componentName = '';
my $userName = 'zabbix';
my $passWord = 'password';
my $resource = 'zabbix-srv';
my $tls = 0;
my $connectionType = 'tcpip';
my $debugLevel = 2;
my $bot = new Net::XMPP::Client(
debuglevel => $debugLevel,
debugfile => "/tmp/jab.log"
);
$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 => $type
);
print "Sended\n";
$bot->Disconnect();
}
sub disconnectedCB {
print "Disconnected\n";
}
В настройках оповещения появился пункт ПАРАМЕТР СКРИПТА. Может туда что-то надо добавить?
2. Скрипт для отправки сообщений на внешний сервер jabber.
При вызове скрипта из командной строки всё отлично работает.
При срабатывании триггера в заббикс происходит успешная попытка отправки сообщений, но по факту ничего не происходит.
По логам выясняется, что Zabbix успешно обращается к скрипту, но не передает в скрипт никаких данных(сообщение, тема, получатель).
Помогите разобраться в этом!
Вот сам скрипт:
#! /usr/bin/perl
use Net::XMPP;
use utf8;
my $to = $ARGV[0];
my $subj = $ARGV[1];
my $body = ".\n".$ARGV[2];
my $type = $ARGV[3];
if (!defined($type)) {
$type = 'headline';
}
my $s = utf8::decode($subj);
my $b = utf8::decode($body);
my $hostName = 'name_server';
my $portNumber = 5222;
my $componentName = '';
my $userName = 'zabbix';
my $passWord = 'password';
my $resource = 'zabbix-srv';
my $tls = 0;
my $connectionType = 'tcpip';
my $debugLevel = 2;
my $bot = new Net::XMPP::Client(
debuglevel => $debugLevel,
debugfile => "/tmp/jab.log"
);
$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 => $type
);
print "Sended\n";
$bot->Disconnect();
}
sub disconnectedCB {
print "Disconnected\n";
}
В настройках оповещения появился пункт ПАРАМЕТР СКРИПТА. Может туда что-то надо добавить?
Comment