我有许多应用程序在ASP.NET上运行我想要监控。我关心的主要事项是:
例外:我们目前有一些自定义代码会在发生异常时通过电子邮件发送给我们。如果应用程序失败了将会崩溃我们的前景...我知道(和使用)elmah部分地解决了问题,但它仍然只是一个很好的(ish)UI的异常表。我想要一些让所有这些异常 sense 的东西(例如,群组异常,新的异常时发出警报,告诉我应该修复的常见内容等等)
记录:我们当前登录的文件可以通过共享文件夹访问,该文件夹是dev的grep&尾巴。有谁知道更好的方式来呈现这些信息。在理想的世界中,我想将它与异常联系起来。
效果:请求时间,内存使用情况,cpu等,无论我得到什么统计数据
我猜这可能会被许多工具解决,有人有任何建议吗?
答案 0 :(得分:3)
好吧,我们目前的解决方案完全相同。电子邮件上的电子邮件会丢弃我的收件箱,而且大多数都会被忽略。在假期期间,错误导致dev中的每个人都达到其收件箱限制;)
那么我们在哪里找到解决方案?
异常生成器(在上面的修改之前)位于:
它通过用以下代码替换ResX生成器与visual studio集成:
我还没有发布MC生成器或HRESULT生成器;但是,当我抽出时间时,它将在上述位置提供。
- 更新 -
现在可以在线获取所有工具和来源。那么我从哪里开始呢?
CmdTool.exe REGISTER
以使用Visual Studio注册该工具CmdTool
CSharpTest.Net.Generators.exe RESXTOMESSAGEDLL /output=MyCustomMessages.dll /input=TheProjectWithAResX.csproj
InstallUtil.exe MyCustomMessages.dll
这应该让你开始,直到我有时间记录它。
答案 1 :(得分:3)
你应该看看Gibraltar我自己没用过但看起来很好!也适用于nLog和log4net,所以如果你使用那些你很幸运!!
答案 2 :(得分:1)
就处理的异常或只是典型的日志记录而言,l4ndash值得一看。我总是将log4net设置为不仅写出文本文件,而且还附加到数据库。这样l4ndash可以轻松分析它。它会将您的错误分组,让您看到坏事发生的地方。你得到一个免费的开发许可证
对于Elmah,我们只是定期下拉日志。它可以作为csv导出,然后我们使用Excel做过滤/分组数据。它并不理想,但它有效。编写一个脚本来自动化这一点会更好。我没见过Elmah的其他东西。
答案 3 :(得分:1)
答案 4 :(得分:1)
我首先选择 log4net 。 SmtpAppender可以在发送电子邮件之前等待N个异常累积,并避免Outlook崩溃。 log4net还会记录到可以存储在网络驱动器上的日志文件,并使用cat和grep等进行读取。
关于统计信息,您可以使用相同的工具执行运行状况/性能日志记录,即。产生一个每分钟记录CPU使用率等的线程。
我对问题的第一部分没有具体的答案,因为它意味着自动日志分析和合并。在大学,我们制作了一个工具,旨在完成这些工作的一部分,但不适用于您的场景(但它与log4net是双向集成的)。
答案 5 :(得分:0)
您可以通过IIS日志运行LogParser来获取请求时间(以及其他任何已保存的)的指标。
答案 6 :(得分:0)
我们已经构建了一个简单的监控应用程序,它位于桌面上,当从服务器上的某个应用程序写入事件日志的异常或者将错误写入错误日志表时,它会闪烁红色。数据库。它还监视数据库运行状况,检查碎片等。
我们遇到的唯一问题是它可能会在桌面上有点干扰,因为如果出现问题,它会不断弹出一个红色的消息框。但是它确实鼓励你尽快修复它。
我们目前在几台开发者机器上运行。我们正在考虑的改进是在服务器上运行一个监控应用程序,然后发布一个RSS订阅源,以便应用程序只在一个地方检查一次,但我们可以使用我们当时选择的任何方法从任何地方使用这些信息(例如当我们不在办公室时通过我们的手机)。
答案 7 :(得分:0)