Здравствуйте!
Возникла проблема с решением задачи по снижению ложных срабатываний веб проверок.
Для решения задачи была предпринята попытка реализовать след.алгоритм:
при срабатывании веб-проверки запускается ряд доп.проверок(4-5) аналогичных веб-проверке.
При ложном срабатывании в 20-30% считается что было ложное срабатывание и триггер не активируется. В противном случае срабатывает проверка и высылается письмо.
При реализации этого решения возникла проблема с тем, что при выполнении внешнего скрипта с использованием wget и sleep, заббикс не сохраняет результат работы.
Возникло 2 вопроса:
1) кто нибудь сталкивался с такой задачей? Найдено ли решение:
2) Как вообще в заббиксе организован процесс веб-проверки.Возмонжо ли в код внести правку, например добавить цикл проверки каждого шага.
Возникла проблема с решением задачи по снижению ложных срабатываний веб проверок.
Для решения задачи была предпринята попытка реализовать след.алгоритм:
при срабатывании веб-проверки запускается ряд доп.проверок(4-5) аналогичных веб-проверке.
При ложном срабатывании в 20-30% считается что было ложное срабатывание и триггер не активируется. В противном случае срабатывает проверка и высылается письмо.
При реализации этого решения возникла проблема с тем, что при выполнении внешнего скрипта с использованием wget и sleep, заббикс не сохраняет результат работы.
Code:
SQLQuery=`mysql -h localhost -uzabbix -pzabbix zabbix2 -NBe "select required,url from httpstep where httptestid in (select httptestid from httptest where name = '$webscena' and status = 0) and no in (select lastfailedstep from httptest where name = '$webscena' and status =0);"| sed 's/\t/|/'`
word=`echo $SQLQuery|awk 'BEGIN{FS="|"}{print $1}'`
#URL
url=`echo $SQLQuery|awk 'BEGIN{FS="|"}{print $2}'`
Nostep=`mysql -h localhost -uzabbix -pzabbix zabbix2 -NBe "select lastfailedstep from httptest where name = '$webscena' and status = 0"`
############################################
# Main module
############################################
checking_module(){
Nattempt=0
result=0
if [ $Nostep -gt 0 ];then
while [ $Nattempt -lt $attempt ]
do
wget -q "$url" -T $timeout -t 1 -O "/tmp/$webscena.web.tmp.file"
find=`grep "$word" $tmp_file|wc -l`
let result=result+find
let Nattempt=Nattempt+1
sleep $delay
done
let result=attempt-result
let check_result=count_of_false-result
else
check_result=1
fi
}
1) кто нибудь сталкивался с такой задачей? Найдено ли решение:
2) Как вообще в заббиксе организован процесс веб-проверки.Возмонжо ли в код внести правку, например добавить цикл проверки каждого шага.