Столкнулся с непонятным мне поведением Zabbix-агента.
В документации указано, что:
Проверяем:
Теперь подключаем к Zabbix-агенту:
Т.е. агент передал только то, что было во внутренних квадратных скобках.
Вопросы для Руси стандартные - кто виноват и что делать?
P.S. Агента взял последнего, стало хуже:
В документации указано, что:
Если параметр ключа это строка, заключенная в кавычки, тогда разрешен любой символ в Юникоде, и если требуется включение двойных кавычек, то они должны быть экранированы обратной наклонной чертой.
Code:
#!/usr/bin/perl
use Data::Dumper;
use Getopt::Std;
my %options=();
getopts("k:", \%options);
print Dumper %options;
#./test.pl -k [p1=abc].def
$VAR1 = 'k';
$VAR2 = '[p1=abc].def';
#./test.pl -k "[p1=abc].def"
$VAR1 = 'k';
$VAR2 = '[p1=abc].def';
$VAR1 = 'k';
$VAR2 = '[p1=abc].def';
#./test.pl -k "[p1=abc].def"
$VAR1 = 'k';
$VAR2 = '[p1=abc].def';
Code:
UserParameter=argv[*],/..../test.pl -k "$1"
# zabbix_agentd -t argv["[123]"]
argv[[123]] [t|$VAR1 = 'k';
$VAR2 = '123'
;]
# zabbix_agentd -t argv["[p1=abc].def"]
argv[[p1=abc].def] [t|$VAR1 = 'k';
$VAR2 = 'p1=abc'
;]
argv[[123]] [t|$VAR1 = 'k';
$VAR2 = '123'
;]
# zabbix_agentd -t argv["[p1=abc].def"]
argv[[p1=abc].def] [t|$VAR1 = 'k';
$VAR2 = 'p1=abc'
;]
Вопросы для Руси стандартные - кто виноват и что делать?
P.S. Агента взял последнего, стало хуже:
# zabbix_agentd -V
Zabbix Agent (daemon) v2.4.5 (revision 53282) (21 April 2015)
Compilation time: Apr 23 2015 03:33:58
# zabbix_agentd -t argv["[p1=abc].def"]
argv[[p1=abc].def] [m|ZBX_NOTSUPPORTED] [Invalid item key format.]
Zabbix Agent (daemon) v2.4.5 (revision 53282) (21 April 2015)
Compilation time: Apr 23 2015 03:33:58
# zabbix_agentd -t argv["[p1=abc].def"]
argv[[p1=abc].def] [m|ZBX_NOTSUPPORTED] [Invalid item key format.]
решение: дописать самому или создавать тикет.
Comment