Web test error zabbix

I am running some Zabbix Web Scenario's to gather information on certain websites and API's for some of the API's 401 and 404 status codes are acceptable and I want to adopt these in the trigger

I am running some Zabbix Web Scenario’s to gather information on certain websites and API’s for some of the API’s 401 and 404 status codes are acceptable and I want to adopt these in the trigger expression. Currently they are considered to be «down» because they do not match the 200 response code.

I have created a Web Scenario in Zabbix that accepts the following response codes: 200, 401, 404 (currently hosting some API’s so these are very common)

This Check was working fine when I was only allowing the 200 status code. To this check I have added 2 ‘OR’ statements regarding the 401 and 404 status code. For some reason this confuses the trigger and every check «fails»

I had my trigger expression set up like this for the 200 status code check: (This works great!)

{Template App Nginx by Zabbix agent:web.test.error["Web Check Status 200, 401, 404"].last()}=0 or {Template App Nginx by Zabbix agent:web.test.fail["Web Check Status 200, 401, 404"].last()}>0 or {Template App Nginx by Zabbix agent:web.test.rspcode["Web Check Status 200, 401, 404","Web Check Status 200, 401, 404"].last()}<>200

For the 2 new status codes I changed it to this:

{Template App Nginx by Zabbix agent:web.test.error["Web Check Status 200, 401, 404"].last()}=0 or {Template App Nginx by Zabbix agent:web.test.fail["Web Check Status 200, 401, 404"].last()}>0 or {Template App Nginx by Zabbix agent:web.test.rspcode["Web Check Status 200, 401, 404","Web Check Status 200, 401, 404"].last()}<>200 or {Template App Nginx by Zabbix agent:web.test.rspcode["Web Check Status 200, 401, 404","Web Check Status 200, 401, 404"].last()}<>401 or {Template App Nginx by Zabbix agent:web.test.rspcode["Web Check Status 200, 401, 404","Web Check Status 200, 401, 404"].last()}<>404

Now how I understand the logic of the expression it is as follows:

Alert IF:

web.test.error is equal to 0
OR web.test.fail is bigger then 0
OR web.test.rspcode does not equal 200
OR web.test.rspcode does not equal 401
OR web.test.rspcode does not equal 404

Is my approach correct? And how can I fix this?
Creating another trigger won’t suffice (I think) because the original trigger will still be failing.

Для начало необходимо создать группу шаблона для web проверок:

«Configuration» -> «Templates» -> кнопка «Create template» назовем его web

Заполняем поле «New group»

Далее создать приложение у данного шаблона:

закладка «Applications» -> кнопка «create application» назовем его web1

И перейдем на закладку сценариев, для создания сценария проверки и создадим первый сценарий для сайта:

«Web scenarios» -> кнопка «Create web scenario»

мы заполняем:

  • Name — имя сценария
  • Application — выбираем ранее созданное приложение web1
  • Update interval — частота проверок нашего сайта
  • Agent — выбираем, что по душе ближе

Переходим на закладку «Steps», сдесь необходимо создать, что именно будем проверять, жмем ссылку «Add» в блоке Steps

Заполняем:

  • Name — имя шага проверки
  • URL — собственна сама страница, которую будем «дергать»
  • Timeout — время, которое данная проверка будет ожидать загрузки страницы, прежде чем пометить ее как ошибочной
  • Required string — текст, который мы ходим проверить в случае успешной загрузки страницы
  • Required status codes — 200, ОК — страница загружена

Жмем «Update» -> кнопку «Add»

Триггеры уведомление недоступности сайта

Следующим этапом будет создание триггера для уведомления нас в случае если после N проверок мы получили ошибку.

Преходи на закладку «Triggers» -> кнопка «Create trigger»

Создаем непосредственно триггер

Name

Expression:

{web:web.test.fail[domain.com].last(#5)}<>0 and {web:web.test.fail[domain.com].last(#4)}<>0 and {web:web.test.fail[domain.com].last(#3)}<>0 and {web:web.test.fail[domain.com].last(#2)}<>0 and {web:web.test.fail[domain.com].last(#1)}<>0

В результате данного триггера, в случае не прохождения проверки нашей тестовой страницы в течении 5 последних раз — сформировать уведомление приоритета важности «Hight» и отправить тем, способом согласно, которому настроены уведомления у Вас в zabbix

После добавления N сайтов, можно построить красивый график, в котором будет отражена информация по скорости загрузки того или иного сайта, а также его времени ответа

Перейдем на закладку «Graphs» и нажмем кнопку «create graph»

заполним названия и типы графиков, ждем ссылку «Add», тут самое интересное, можно выбрать по каким критериям рисовать графики:

  • Download speed for scenario — скорость загрузки всего сценария
  • Download speed for step — скорость загрузки конкретного шага сценария
  • Failed step of scenario — ошибки для всего сценария
  • Response code for step — код ответа для шага сценария
  • Response time for step — время ответа для шага сценария

Выбираем необходимое и в конечном итоге можно несколько занятся украшательством, выбрать цвета и иные параметры для того или иного сайта:

В результате имеем графики следующего вида:

Главная
> Zabbix > Zabbix как настроить мониторинг web сайта или как я мониторил питание в сети

На днях возникла необходимость в мониторинге электро сети предприятия, а точнее надо было понять когда выключается основной ввод в серверной.

Так как под рукой у меня ничего из правильного оборудования не было, пришлось изобретать на коленках «велосипед».

Поискав и немного пораскинув мозгом который остался к концу рабочего дня, наткнулся на неиспользуемый принт сервер «DP-301U». Естественно у меня сразу родилась идея, цепляем принт сервер на тот же ввод где сидит УПС и все оборудование (только на свободную розетку где УПС не работает). Таким образом если электричество выключается, принт сервер тоже падает а все остальное остается работать еще несколько часов до часа икс. Так как у этого принт сервера было web морда, то все оказалось куда проще.

Ну это так сказать предыстория, а теперь как настроить мониторинг web сервиса или сайта за zabbix’e.

Заходим в zabbix, тыркаем в «Настройка» — «Узлы сети» — «Создать узел сети».

Далее, вводим имя, добавляем в группу, остальное оставляем без изменений и жмем Сохранить.

Далее возвращаемся к Узлам сети и жмем на «Группы элементов данных» напротив нашего нового узла.

В открывшимся окне нажимаем на кнопку «Создать группу элементов данных»

Далее выбираем группу, вводим имя (не важно как будите обзывать, я всегда обзываю так же как и узел сети» и жмем Сохранить.

Теперь идем во вкладку Web, выбираем соответствующий узел и группу и жмем «Создать сценарий»

В появившимся окне, выбираем «Группу элементов данных», заполняем «Имя», Агента лучше выставить больше чем IE6, и жмем кнопку «Добавить»

В следующем окне «Шаг сценария», заполняем все поля за исключением «Post» если хотим сделать проверку по присутствию указанного словосочетания на странице. На моем примере это сайт http://backnet.ru и слово которое я хочу на нем найти это «backnet». Код состояния пишет 200, это означает, что страница доступна, время ожидания — это время сколько будем ждать ответа от странице, если канал медленный или сам сервер или устройство которое тестим медленное, ставим время побольше и жмем «Добавить».

Возвращаемся в нам уже знакомое окно «Сценарий» в котором видим, что наше условие добавилось и жмем Сохранить.

 

Далее возвращаемся в «Узлы сети» и теперь жмем на ссылку «Тригеры» на против нашего узла.

После жмем «Создать триггер»

В новом окне заполняем «Имя», «Генерация событий» выставляем «нормальное», «Важность» выставляем на усмотрение я поставил «высокое», после жмем кнопку «Добавить».

Теперь нам надо настроить реакцию триггера, главное не ошибиться иначе триггер не сработает и все труды пойдут на смарку. Сначала выбираем «Функцию» со значением «Last value NOT N», остальные поля не трогаем и жмем на против «Элемент данных» кнопку «Выбрать».

В «Элемент данных» выбираем строку с ключем «web.test.fail[WebTest] и описанием «Failed step of scenario ‘WebTest'».

В результате получаем полностью заполненное «условие», жмем «вставить» и в следующем окне «сохранить».

Все, на этом настройки закончились, мы должны получить вот такую картину с ошибкой (ошибка будет до того времени пока не пройдет первая проверка на правильность, это зависит от тех параметров времени которые мы выставляли при создании всего сценария, 15-30 секунд должно хватить и с красного крестика иконка должна поменяться на галочку)

Так, теперь нам нужно сделать оповещение в случае состояния «проблема» и состояния «восстановлено». Для этого идем в раздел «настройка» — «действие» и жмем «создать действие».

Заполняем способ оповещения (у меня это email), название действия, выбираем по каким условиям нужно выполнять оповещение, в версии 1.8.10 по умолчанию уже все настроено. В итоге должно получиться примерно так как показано ниже на скрин шотах.

Вот и все, теперь когда будет происходить опрос нашего web адреса и НЕ будет получено поисковое словосочетание мы получим сообщение на указанный email. Таким образом из подручных средств мне удалось сделать «пинговалку» электропитания в серверной. Удачи.

Загрузка…

Понравилась статья? Поделить с друзьями:
  • Web server is returning an unknown error что это
  • Web server is returning an unknown error yaplakal
  • Web server is down error code 521 visit cloudflare com for more information
  • Web server is down error code 521 rutracker
  • Web server error codes