HTTP.sys 默认创建错误日志C:\Windows\System32\LogFiles\HTTPERR 下的文件。
是否可以更改这些日志文件的格式以包含其他字段(包括 cs-host 和 cs-uri-query)?
答案1
微软的这份名单有点过时了,因为它没有包括最近推出的“流标识“字段存在于Windows Server 2016中,但它绝对可以帮助您指定所需的字段。 https://docs.microsoft.com/en-us/windows/win32/http/error-logging-in-windows-server-2003-sp1
要快速求和所有十六进制值,只需按原样在 Google 中输入它们(在此示例中,我选择包含所有字段,包括streamid
Windows Server 2016 及以上版本可用的新字段):
0x00000001 + 0x00000002 + 0x00000004 + 0x00000020 + 0x00000040 + 0x00000080 + 0x00000400 + 0x00001000 + 0x00002000 + 0x00004000 + 0x00008000 + 0x00010000 + 0x00020000 + 0x00040000 + 0x00080000 + 0x00100000 + 0x00400000 + 0x00800000 + 0x01000000 + 0x02000000 + 0x04000000 + 0x08000000
那将会回归0xFDFF4E7
!
只需创建然后执行包含以下内容的新 .REG 文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
; WIN 2016-2019-2022
; LOG THE FOLLOWING #Fields: date time s-computername c-ip c-port s-ip s-port cs-version cs-method cs-uri cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-bytes cs-bytes time-taken s-siteid s-reason s-queuename streamid
"ErrorLoggingFields"=dword:0fdff4e7
答案2
扩展之前的答案,您需要为所选字段的以下注册表项分配一个值。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters] "ErrorLoggingFields"=dword:0fc884c7
基本上,该值是以下列表中您想要包含的所有字段的位值的总和。
日志字段 | 默认记录 | 位值 |
---|---|---|
日期 | 是的 | 0x00000001 |
时间 | 是的 | 0x00000002 |
客户端 IP 地址 | 是的 | 0x00000004 |
服务器计算机名 | 不 | 0x00000020 |
服务器的IP地址 | 是的 | 0x00000040 |
方法 | 是的 | 0x00000080 |
协议状态 | 是的 | 0x00000400 |
SC 字节 | 不 | 0x00001000 |
CS 字节 | 不 | 0x00002000 |
所用的时间 | 不 | 0x00004000 |
服务器端口 | 是的 | 0x00008000 |
用户代理 | 不 | 0x00010000 |
曲奇饼 | 不 | 0x00020000 |
引荐来源 | 不 | 0x00040000 |
协议版本 | 是的 | 0x00080000 |
主持人 | 不 | 0x00100000 |
客户端端口 | 是的 | 0x00400000 |
URI | 是的 | 0x00800000 |
站点编号 | 是的 | 0x01000000 |
原因短语 | 是的 | 0x02000000 |
队列名称 | 是的 | 0x04000000 |
流 ID | 是的 | 0x08000000 |
答案3
这是一个解决方法:
按照 HTTPErr 日志文件的列顺序创建一个头文件,并将其保存为 - header.txt
使用以下格式进行 SQL 查询
LogParser.exe“从 C:\temp\HTTPLogs*.log 中选择 sc-status、s-reason、s-queuename、count(*),按 sc-status、s-reason、s-queuename 分组,按 count(*) 降序排序”-i:TSV -iseparator:space -iHeaderFile C:\temp\HTTPLogs\header.txt