如何使用LogParser统计成功的域用户authentication(Log Ins)

我需要能够只计数我们的基于IIS的Web Portal成功的身份validation尝试。 所有用户来自相同的IP地址。 在w3c日志中是否有特定的东西来查找以执行我所追求的内容?

W3SVC1 HTTP状态。 您的身份validationlogging在Security事件日志中。 成功的networkinglogin注册事件ID 540,types3。

为这个名为query.sql查询创build一个简单的SQL文件:

 SELECT TimeGenerated, EventID, EXTRACT_TOKEN(Strings,0,'|') AS User, EXTRACT_TOKEN(Strings,3,'|') AS Type FROM Security WHERE (EventID = 540) AND (Type LIKE '3') ORDER BY TimeGenerated DESC 

然后我们可以生成一个DataGrid来快速查看:

 LogParser.exe file:query.sql -o:DATAGRID -i:EVT 

请注意,networkinglogin还包括共享文件和打印机访问authentication。 如果您的IIS服务器共享IIS之外的打印机或文件,您可能需要一个不同的方法来收集这些数据。

@dexter但是networking日志跟踪authentication。 如果您使用域\用户获得200,则已成功通过该元素的身份validation。 您可能无权执行任何操作,但您已成功通过了Web服务器的身份validation。

在W3SVC日志中,您可能会在页面的每个元素(图片,javascript等)上显示401之后看到成功的200,所以这不是一个有用的计数,因为单个页面可能会显示10个以上的身份validation每个用户。 但是,如果使用日志parsing器将其缩小到特定元素(如index.aspx),则会告诉您该文件有多less次成功的身份validation,并且可以忽略该页面上的其余负载。

您可能还想忽略https状态,只是针对特定文件注意域\用户。 这样你会得到身份validation显示为其他身份validation(但500错误),但页面上的东西失败。