我需要在数组中的所有服务器日志中搜索特定字符串。具体来说,我需要确定给定用户是否正在使用 OWA、EWS 或其他 CAS 服务器。
有没有一种简单的方法可以让我并行搜索 CAS 阵列中的所有服务器?
由于这主要是 IIS 问题,并且 Web 数组非常常见,所以我怀疑这是一个“新”问题,但我在其他地方找不到类似的答案。
答案1
两个答案是日志集中化或者远程命令。
看Windows Server事件日志收集和分析对于第一个,并对第二个进行 Powershell 搜索(例如:Powershell Remoting:如何使用单独的参数在多台机器上运行命令?)
答案2
当你开始需要在服务器之间交叉关联日志时,你应该考虑使用中央日志服务器,例如Splunk。虽然可以使用其他产品(如日志解析器、grep 等)来实现这一点,但正如您所发现的,大多数产品都是为单个文件设计的。
答案3
一个答案logparser.exe http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24659
Visual log parser 也是一个很好的伴侣 http://visuallogparser.codeplex.com/
例子 http://technet.microsoft.com/en-us/library/ee692659.aspx
更多示例 http://blogs.msdn.com/b/carloc/archive/2008/02/06/logparser-scripts-for-various-occasions.aspx
答案4
您的意思是 W3C 日志,而不是事件日志,对吗?
LogParser 支持使用多个日志文件作为输入(即 *.log 在 FROM 子句中工作),因此这只是合并日志文件(或确保它们可访问)的问题,这对于脚本来说通常相当简单。