你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure Monitor 中使用 Log Analytics 代理收集 IIS 日志

Internet Information Services (IIS) 会将用户活动存储在日志文件中,这些日志文件由 Log Analytics 代理收集并存储在 Azure Monitor 日志中。

显示 IIS 日志的示意图。

重要

本文介绍如何使用 Log Analytics 代理收集 IIS 日志,该代理于 2024 年 8 月 31 日起弃用。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请现在迁移到 Azure Monitor 代理。 有关使用 Azure Monitor 代理收集 IIS 日志的详细信息,请参阅使用 Azure Monitor 代理收集 IIS 日志(预览版)

配置 IIS 日志

Azure Monitor 会从 IIS 创建的日志文件中收集条目,因此,必须配置 IIS 以进行日志记录

Azure Monitor 仅支持以 W3C 格式存储的 IIS 日志文件,不支持自定义字段或 IIS 高级日志记录。 它不会收集 NCSA 或 IIS 本机格式的日志。

在 Azure Monitor 中通过 Log Analytics 代理的代理配置菜单配置 IIS 日志。 只需选择“收集 W3C 格式 IIS 日志文件”,即可完成配置。

数据收集

每次日志时间戳更改时,Azure Monitor 都会从每个代理收集 IIS 日志条目。 每 5 分钟读取一次日志。 如果由于任何原因,IIS 在创建新文件时未在滚动更新时间之前更新时间戳,则会在创建新文件后收集条目。

新文件创建的频率由 IIS 站点的“日志文件滚动更新计划”设置控制。 默认情况下,该设置为每天一次。 如果设置为“每小时”,则 Azure Monitor 每小时收集一次日志。 如果设置为“每日”,则 Azure Monitor 每 24 小时收集一次日志。

重要

建议将“日志文件滚动更新计划”设置为“每小时一次”。 如果将其设置为“每天一次”,则可能会遇到数据峰值,因为每天只收集一次。

IIS 日志记录属性

IIS 日志记录的类型为 W3CIISLog,并具有下表中显示的属性:

属性 说明
Computer 从中收集事件的计算机的名称。
cIP 客户端的 IP 地址。
csMethod 请求的方法,如 GET 或 POST。
csReferer 用户通过链接转到当前站点的来源站点。
csUserAgent 客户端的浏览器类型。
csUserName 访问服务器的经身份验证的用户名称。 匿名用户会以连字符表示。
csUriStem 请求的目标,例如网页。
csUriQuery 客户端正在尝试执行的查询(如果有的话)。
ManagementGroupName Operations Manager 代理的管理组的名称。 对于其他代理,此名称是 AOI-<工作区 ID>。
RemoteIPCountry 客户端 IP 地址的国家/地区。
RemoteIPLatitude 客户端 IP 地址的纬度。
RemoteIPLongitude 客户端 IP 地址的经度。
scStatus HTTP 状态代码。
scSubStatus 子状态错误代码。
scWin32Status Windows 状态代码。
sIP Web 服务器的 IP 地址。
SourceSystem OpsMgr。
sPort 客户端连接到的服务器上的端口。
sSiteName IIS 站点的名称。
TimeGenerated 记录条目的日期和时间。
TimeTaken 处理请求的时间长度(以毫秒为单位)。
csHost 主机名。
csBytes 服务器接收的字节数。

使用 IIS 日志的日志查询

下表显示了检索 IIS 日志记录的日志查询的不同示例:

查询 说明
W3CIISLog 所有 IIS 日志记录。
W3CIISLog | where scStatus==500 返回状态为 500 的所有 IIS 日志记录。
W3CIISLog | summarize count() by cIP 按客户端 IP 地址的 IIS 日志条目计数。
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem 按主机的 URL www.contoso.com 的 IIS 日志条目的计数。
W3CIISLog | summarize sum(csBytes) by Computer | take 500000 每台 IIS 计算机接收的总字节数。

后续步骤

  • 配置 Azure Monitor 以收集其他数据源进行分析。
  • 了解日志查询以便分析从数据源和解决方案中收集的数据。