如何收集IIS日志?
IIS Log:%SystemDrive%inetpublogsLogFilesW3SVC{siteid}
C:inetpublogsLogFilesW3SVC{siteid}
HttpErr Log : %SystemDrive%WindowsSystem32LogFilesHTTPERR
C:WindowsSystem32LogFilesHTTPERR
注意事项:
IIS和HTTPERR日志都是UTC 0,换算到北京时间需要 8小时
比如我截图的时间是2023-3-1 02:24:52实际就是2023-3-1 10:24:52
收集日志的办法:
Step 1:以管理员身份启动命令行窗口
Step 2:分别输入如下两条命令
wevtutil epl Application c:%COMPUTERNAME%_Application.evtx
wevtutil epl System c:%COMPUTERNAME%_System.evtx
Step 3:拷贝C盘根目录下面的两个EVTX文件
IIS 日志开启:点击对应站点 -> 双击Logging -> 点击右侧Actions栏中的Enable。在中间的Directory项中可以设置IIS日志保存的位置。
默认就是启用的,如果关闭了,就按上述办法启用
在上述截图中找到IIS日志保存的位置,如果有多个IIS站点,请点击Sites,找到对应的站点ID,然后到日志路径下找到对应的W3SVC ID的文件夹。找到当天的日志,拷贝出来。
ID为1的,对应的日志就是C:inetpublogsLogFilesW3SVC1
ID为2的,对应的日志就是C:inetpublogsLogFilesW3SVC2
ID为3的,对应的日志就是C:inetpublogsLogFilesW3SVC3
HTTP Error日志:默认路径C:WindowsSystem32LogFilesHTTPERR
如果日志分析不出什么来,并且问题现象能稳定复现,那就得结合procdump来看了
代码语言:javascript复制https://docs.microsoft.com/en-us/sysinternals/downloads/procdump
c:windowssystem32inetsrvappcmd list wp
procdump -ma -n 3 后面跟pid