我管理着几台安装了 .net web 应用程序的 Windows web 服务器,这些应用程序会将所有错误记录到事件查看器中。为了查看事件查看器,我远程访问每台 web 服务器并从这里访问它。
我正在寻找一个可以安装在本地 Windows 7 PC 上的应用程序,这样我就可以查看每个服务器的事件日志,而无需远程访问它们?如果可以实现或者存在这样的应用程序,那对我来说会更方便。
有人对此有什么想法吗?
答案1
事件查看器 MMC 管理单元与许多其他管理单元一样支持连接到其他计算机。
只需右键单击“事件查看器(本地)”根节点并选择“连接到另一台计算机...”。我猜“(本地)”位已经是一个提示。
不过,请确保您当前的用户在目标计算机上拥有适当的权限。如有必要,请先运行net use \\computername /user:username
以获取 IPC 访问权限。
答案2
另一个选择是类似圈套序列化事件日志数据并将其转发到 snare 服务器 ($$) 或 syslog 服务器。
请注意,原始事件日志数据有时在语义上与原始计算机相关联(某些消息/内容参考计算机上安装的软件/文件)。我相信如果您按照 billc.cn 的建议使用原始计算机查看日志,则不会出现这种情况,但这确实意味着您不一定能以原始格式保存事件日志并在其他地方打开它。
答案3
有许多第三方应用程序可以实现这种功能。您几乎需要在日志监控/整合产品和替代事件日志阅读器(无需连接到每个服务器即可查询多个服务器)之间进行选择。
前者的优势在于通常支持增强功能,例如在事件发生时通过电子邮件通知您、增强报告(例如统计信息)以及长期存档。由于这些产品还将事件存储在其数据库中,因此您还可以避免本地和远程计算机之间的连接问题。我们的产品事件哨兵提供此类功能(如果需要,还可以提供更多功能)。免责声明:我为 NETIKUS.NET ltd 工作。
后者(我没有评估过这些产品中的任何一个,但我谈论的是来自评论、截图等的经验)可能设置起来更快、更便宜——但功能有限。
无论您选择哪种解决方案,我都不建议您手动查看日志。这是一个繁琐而被动的过程。相反,通知实际上是在问题发生时可靠地解决问题的唯一方法。此外,还应监控 Web 服务器的总体运行状况(磁盘空间、性能、服务可用性等)。
希望这可以帮助。
答案4
您可以使用命令行脚本(例如用 powershell 编写)读取(甚至监控)远程 PC 上的事件日志。您还可以使用过滤器仅选择您的应用程序日志条目(希望它已指定“源”字段)。
查看一些链接了解详情:
http://technet.microsoft.com/en-us/library/ee176846.aspx http://blogs.msdn.com/b/powershell/archive/2009/05/21/processing-event-logs-in-powershell.aspx http://blogs.msdn.com/b/powershell/archive/2006/04/25/583266.aspx