Я хочу собирать и анализировать данные 404 для решения любых реальных проблем на сайте ASP.NET MVC (с ELMAH). Главное требование - хранить эту информацию в более специализированном и плотном, но все же доступном для запросов формате, включая ссылающийся сайт / URL.
В настоящее время я могу просмотреть 404 в ELMAH. Однако я не хочу, чтобы ELMAH собирал все мои 404-е (по крайней мере, не в формате по умолчанию), потому что эти журналы ошибок слишком быстро становятся большими. Лишь около 1% журнала ELMAH 404 обычно представляют собой релевантные данные, например, регистрируют нерелевантные сведения об исключениях при обычном сканировании уязвимостей. Затем обнаружение реальных ошибок становится очень трудным или даже невозможным, если мне приходится обрезать мою таблицу ELMAH еженедельно.
Кроме того, даже после сбора всех этих данных в ELMAH, он не предлагает специализированных полей для критических полей URL target
и referer
(для запроса или агрегирования), которые делают возможным управление 404.
Если есть пакет (например, через NuGet), который может сохранять в SQL, включает уровень представления, может сортировать по наиболее распространенным ошибкам или ошибкам с фактическими источниками ссылок и даже позволяет помечать их как просмотренные / адресованные, чтобы они не отображались в будущем сообщает, что было бы идеальным решением. Любое решение, обеспечивающее часть этого, было бы отличным началом.
Вместо рекомендации я, вероятно, добавлю пользовательский обработчик в ELMAH и буду регистрироваться в SQL через свой собственный уровень данных.
Однако я бы предпочел пакетное решение, в котором не нужно использовать ELMAH. Я могу вручную добавить фильтр в ELMAH (Elmah сообщает о нежелательных ошибках 404, ELMAH - фильтрация ошибок 404), если ELMAH не является частью решения.