Доброго дня.
Использую следующий триггер для определения того, что веб-мониторинг сбойнул из-за превышения таумаута:
В двух словах его смысл: если в сценарии возникла ошибка "Timeout was reached" (при этом для уверенности берется 2 проверки), то поднимаем триггер.
Так вот возникла проблема, что триггер сработал в ситуации, когда ошибка была другая.
Все данные на скриншоте, но я еще прокомментирую словами:
- В 12:22:09 поднимается триггер "Timeout error".
- По номеру сбойного шага (=1) проверки видно, что к 12:22:09 2 проверки завершились ошибкой.
- По содержанию ошибок видно, что в последних 2 сообщениях об ошибке нет строки "Timeout was reached". Текущая проблема - это код 502.
--- Но тем не менее триггер сработал, чего по моей задумке не должно было произойти.
Мое предположение: в момент проверки триггера в таблице с ошибками еще нет данных за 12:22:09, так как СУБД их еще не скинула на диск. И в итоге проверка проходит не так, как задумано. А виновата конкретно опция СУБД
innodb_flush_log_at_trx_commit = 2
Вопросы:
1. Верно ли мое предположение насчет СУБД?
2. Чтобы не менять innodb_flush_log_at_trx_commit на =1 в ущерб производительности, может кто посоветует более удачные триггеры для мониторинга web ресурсов?
Применять item net.tcp.service[http] не хочу, так как он подчиняется параметру Timeout из конфиг файла, и увеличивать его не хочу.
Использую следующий триггер для определения того, что веб-мониторинг сбойнул из-за превышения таумаута:
Code:
{<hostname>_FROM_BARNAUL:web.test.fail[Check HTTPS port 8081].[B]min([/B]#2[B])[/B]}>0 and {<hostname>_FROM_BARNAUL:web.test.error[Check HTTPS port 8081].[B]str([/B]Timeout was reached,#2[B])[/B]}=1
Так вот возникла проблема, что триггер сработал в ситуации, когда ошибка была другая.
Все данные на скриншоте, но я еще прокомментирую словами:
- В 12:22:09 поднимается триггер "Timeout error".
- По номеру сбойного шага (=1) проверки видно, что к 12:22:09 2 проверки завершились ошибкой.
- По содержанию ошибок видно, что в последних 2 сообщениях об ошибке нет строки "Timeout was reached". Текущая проблема - это код 502.
--- Но тем не менее триггер сработал, чего по моей задумке не должно было произойти.
Мое предположение: в момент проверки триггера в таблице с ошибками еще нет данных за 12:22:09, так как СУБД их еще не скинула на диск. И в итоге проверка проходит не так, как задумано. А виновата конкретно опция СУБД
innodb_flush_log_at_trx_commit = 2
Вопросы:
1. Верно ли мое предположение насчет СУБД?
2. Чтобы не менять innodb_flush_log_at_trx_commit на =1 в ущерб производительности, может кто посоветует более удачные триггеры для мониторинга web ресурсов?
Применять item net.tcp.service[http] не хочу, так как он подчиняется параметру Timeout из конфиг файла, и увеличивать его не хочу.
Comment