Назад | Перейти на главную страницу

Настройте IIS 7 для создания события Windows при ошибке HTTP (или для запуска действия)

Как настроить IIS 7 так что создает событие Windows каждый раз Возникла ошибка HTTP?

Самое близкое, что я нашел, это: https://docs.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms524984(v%3Dvs.90). Он описывает две переменные конфигурации AspErrorsToNTLog и AspLogErrorRequests. Однако я не могу заставить IIS создавать события для ошибок HTTP. И я даже не уверен, применимы ли они, поскольку в документации упоминаются только ошибки ASP, а не ошибки HTTP.

AspErrorsToNTLog

Если установлено значение TRUE, это свойство указывает, что Ошибки ASP регистрируются как в средстве просмотра событий, так и в файле журнала IIS.

Если установлено значение FALSE, это свойство указывает, что Ошибки ASP регистрируются только в файле журнала IIS.

Запись в файл работает правильно. В c:\inetpub\logs\LogFiles\...\u_ex200123.log, у нас есть такие ожидаемые строки (обратите внимание на 500 ближе к концу линии)

2020-01-23 05:38:06 ip-address GET /MyService/ param1=value1&param2=value2|-|ASP_0146|New_Session_Failed 80 - ip-address - 500 0 0 545

Чтобы избежать проблемы X-Y: мы хотели бы использовать его для запуска действия (например, отправки электронного письма в Operations), когда некоторые веб-службы возвращают статус HTTP 500.

Вы можете сделать это с помощью (бесплатного) стороннего программного обеспечения. EventSentry (Light) - один из продуктов, который может делать это, отслеживая фактический файл журнала и фильтруя любой появляющийся текст. На стороне IIS вам ничего не нужно делать - пока он записывается в файл журнала.

Я действительно нашел скрин, который проведет вас через это: https://youtu.be/1Cu_e1PkI2w.