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

Настройте 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

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

решение1

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

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

Связанный контент