使用 Azure Monitor 从虚拟机收集 IIS 日志

Internet Information Services (IIS)将用户活动存储在日志文件中,这些日志文件可由 Azure Monitor 代理使用 数据收集规则(DCR)IIS 日志 数据源收集。 有关创建 DCR 的详细信息,请参阅 使用 Azure Monitor 从 VM 客户端收集数据。 本文提供有关 IIS 日志数据源类型的更多详细信息。

配置 IIS 日志数据源

通过使用 Azure Monitor 从虚拟机客户端收集数据中的流程创建 DCR。 在 DCR 的“收集和传递”选项卡上,从“数据源类型”下拉列表中选择 IIS 日志。 如果日志文件存储在与 IIS 中配置的位置不同的位置,则只需指定文件模式来标识日志文件所在的目录。 在大多数情况下,可以将此值留空。

显示 Azure 门户中用于在数据收集规则中选择基本性能计数器的窗体的屏幕截图。

添加目标

IIS 日志只能发送到存储在 W3CIISLog 表中的 Log Analytics 工作区。 添加 Azure Monitor 日志 类型的目标并选择 Log Analytics 工作区。 只能将一个工作区添加到 IIS 日志数据源的 DCR 中。 如果需要多个目标,请创建多个 DCR。 请注意,这会向每个接收方发送重复数据,从而导致额外的成本。

显示数据收集规则中 Azure Monitor 日志目标的配置的屏幕截图。

验证数据收集

若要验证是否正在收集数据,请检查 W3CIISLog 表中的记录。 在虚拟机或 Azure 门户中的 Log Analytics 工作区中,选择 “日志 ”,然后单击“ 查询 ”按钮。 在“虚拟机”类别下,单击“列出 IIS 日志条目”旁边的“运行”。

显示从 W3CIISLog 表返回的记录的屏幕截图。

在客户端上配置 IIS 日志的收集

在从计算机收集 IIS 日志之前,必须确保 IIS 日志记录已启用并已正确配置。

  • IIS 日志文件必须采用 W3C 格式并存储在运行代理的计算机的本地驱动器上。
  • 必须使用行尾来描述日志文件中的每个条目。
  • 日志文件不得使用循环日志记录,这会覆盖旧条目。
  • 日志文件不得使用重命名,这会移动一个文件并打开一个同名的新文件。

IIS 日志文件的默认位置为 C:\inetpub\logs\LogFiles\W3SVC1。 验证日志文件是否正在写入到此位置,或检查 IIS 配置以确定备用位置。 检查日志文件的时间戳以确保它们是最新的。

代理计算机上 IIS 日志记录配置对话框的屏幕截图。

备注

目前不支持 X-Forwarded-For 自定义域。 如果这是关键字段,则可以将 IIS 日志收集为 自定义文本日志

故障排除

如果未从 IIS 日志中收集到您所期望的数据,请执行以下步骤。

  • 验证是否在指定的位置创建了 IIS 日志。
  • 验证 IIS 日志是否已配置为 W3C 格式。
  • 请参阅验证操作,以验证代理是否正在运行,以及是否正在接收数据。

后续步骤