使用 Azure Monitor 代理收集 IIS 日志
IIS 日志是数据收集规则 (DCR) 中使用的数据源之一。 有关创建 DCR 的详细信息,请参阅使用 Azure Monitor 代理收集数据。 本文提供有关 Windows 事件数据源类型的其他详细信息。
Internet Information Services (IIS) 会将用户活动存储在日志文件中,这些日志文件可由 Azure Monitor 代理收集并发送到 Log Analytics 工作区中。
先决条件
- Log Analytics 工作区,你在其中至少拥有参与者权限。 Windows 事件会发送到事件表。
- 如果你计划使用 Azure Monitor 专用链接,则需要数据收集终结点 (DCE)。 此数据收集终结点必须与 Log Analytics 工作区位于同一区域。 有关详细信息,请参阅如何根据部署设置数据收集终结点。
- 使用 Azure Monitor 代理收集数据中所述的新 DCR 或现有 DCR。
在客户端上配置 IIS 日志收集
在从计算机收集 IIS 日志之前,必须确保 IIS 日志记录已启用并已正确配置。
- IIS 日志文件必须采用 W3C 格式并存储在运行代理的计算机的本地驱动器上。
- 必须使用行尾来描述日志文件中的每个条目。
- 日志文件不得使用循环日志记录,这会覆盖旧条目。
- 日志文件不得使用重命名,这会移动一个文件并打开一个同名的新文件。
IIS 日志文件的默认位置为 C:\inetpub\logs\LogFiles\W3SVC1。 验证日志文件是否正在写入到此位置,或检查 IIS 配置以确定备用位置。 检查日志文件的时间戳以确保它们是最新的。
配置 IIS 日志数据源
按照使用 Azure Monitor 代理收集数据中的说明,创建数据收集规则。 在“收集和传递”步骤中,从“数据源类型”下拉列表中选择“IIS 日志”。 如果日志文件存储在与 IIS 中配置的位置不同的位置,则只需指定文件模式来标识日志文件所在的目录。 在大多数情况下,可以将此值留空。
目标
IIS 日志数据可以发送到以下位置。
目标 | 表/命名空间 |
---|---|
Log Analytics 工作区 | W3CIISLog |
示例 IIS 日志查询
按主机的 URL www.contoso.com 统计 IIS 日志条目的数量。
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem
查看每个 IIS 计算机接收的总字节数。
W3CIISLog | summarize sum(csBytes) by Computer
标识任何返回状态为 500 的记录。
W3CIISLog | where scStatus==500 | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
注意
目前不支持 X-Forwarded-For 自定义字段。 如果这是关键字段,你可以将 IIS 日志作为自定义文本日志来收集。
故障排除
如果没有从预期的 JSON 日志中收集到数据,请执行以下步骤。
- 验证是否在指定的位置创建了 IIS 日志。
- 验证 IIS 日志是否已配置为 W3C 格式。
- 请参阅验证操作,以验证代理是否正在运行,以及是否正在接收数据。
后续步骤
了解有关以下方面的详细信息: