我想在ASP.NET MVC站点(使用ELMAH)中收集和分析404数据以解决任何实际问题。主要要求是以更专业,密集但仍可查询的格式存储此信息,包括引荐网站/网址。
我目前可以在ELMAH中查看404。但是我不希望ELMAH收集我所有的404(至少不是默认格式),因为这些错误日志变得太快了。只有约1%的ELMAH 404日志通常是相关数据,例如记录有关普通漏洞扫描的无关异常详细信息。然后,如果我必须每周截断我的ELMAH表,那么找到真正的错误变得非常困难,甚至是不可能的。
此外,即使在收集ELMAH中的所有数据后,它也不会为关键target
和referer
URL字段(查询或聚合)提供专门的字段,以便管理404。“ p>
如果有一个能够存储到SQL的包(例如通过NuGet),包括一个表示层,可以通过实际引用来源对最常见的错误或错误进行排序,甚至允许将它们标记为已查看/寻址,这样它们就不会在未来的报告中显示,这将是一个理想的解决方案。提供其中一部分的任何解决方案都是一个很好的开始。
我可能会为ELMAH添加一个自定义处理程序并通过我自己的数据层登录到SQL。
但是,我更喜欢打包的解决方案,而不需要利用ELMAH。如果ELMAH不是解决方案的一部分,我可以手动将过滤器添加到ELMAH(Elmah reporting unwanted 404 errors,ELMAH - Filtering 404 Errors)。
答案 0 :(得分:1)
我是https://elmah.io背后的开发人员之一。 elmah.io提供您正在寻找的一些功能。您可以按不同的键属性搜索错误。此外,可以使用我们的规则选项实现过滤器部分,您可以在其中忽略来自特定用户代理的错误等。
我们还为ELMAH创建了一个ErrorLog实现,使您可以在Elasticsearch中存储错误:https://github.com/elmahio/Elmah.Io.ElasticSearch。您可以使用Elasticsearch的用户界面搜索和汇总所有404,例如Kibana。