Internet Information Services (IIS) 集成可从 IIS Web 服务器收集遥测数据。这些指标会提供连接信息以及传输的字节数的相关数据。此集成还会从访问日志收集信息。
如需详细了解 IIS,请参阅 Internet Information Services 文档。
准备工作
Ops Agent 2.15.0 版引入了对使用 workload.googleapis.com/
前缀的一组新 IIS 指标的支持。您必须配置该代理以收集这些指标,如示例配置中所述。
Ops Agent 始终支持一组数量有限的 IIS 指标;这些指标使用 agent.googleapis.com/iis/
前缀。您无需进行额外配置即可在 Windows 虚拟机上收集这些指标。
本文档将以 agent
为前缀的指标称为 v1 指标,将以 workload
为前缀的指标称为 v2 指标。如需查看这些指标的表,请参阅受监控的内容。
从 Ops Agent 2.15.0 版开始,您可以将该代理配置为收集 v1 指标和/或 v2 指标。
前提条件
如需收集 IIS 遥测数据,您必须安装 Ops Agent:
- 对于指标 v1,请安装 1.0.0 版或更高版本。
- 对于指标 v2,请安装 2.15.0 版或更高版本
- 对于日志,请安装 2.14.0 版或更高版本。
此集成支持 IIS 8.5 和 10.0 版。
为 IIS 配置 Ops Agent
按照配置 Ops Agent 指南,添加从 IIS 实例收集遥测数据所需的元素并重启代理。
配置示例
以下命令会创建相关配置来收集和注入 IIS 的遥测数据,并重启 Ops Agent。
此接收器仅支持默认的 W3C 日志记录格式。
配置日志收集
如需从 IIS 注入访问日志,您必须为该日志创建接收器,然后为新接收器创建流水线。
如需为 iis_access
日志配置接收器,请指定以下字段:
字段 | 默认 | 说明 |
---|---|---|
exclude_paths |
[] |
要从 include_paths 匹配的集合中排除的文件系统路径模式列表。 |
include_paths |
['C:\inetpub\logs\LogFiles\W3SVC1\u_ex*'] |
要通过对每个文件执行 tail 来读取的文件系统路径列表。路径中可以使用通配符 (* );例如 C:\inetpub\logs\LogFiles\W3SVC1\u_ex* 。 |
type |
该值必须为 iis_access 。 |
|
record_log_file_path |
false |
如果设置为 true ,则从中获取日志记录的特定文件的路径将作为 agent.googleapis.com/log_file_path 标签的值显示在输出日志条目中。使用通配符时,系统只会记录从中获取记录的文件的路径。 |
wildcard_refresh_interval |
60s |
include_paths 中通配符文件路径的刷新间隔。指定为 time.ParseDuration 可解析的时间间隔,例如 30 秒或 2 分钟。该属性在高日志记录吞吐量下可能很有用,因为日志文件的轮替速度快于默认时间间隔。 |
记录的内容
logName
派生自配置中指定的接收器 ID。LogEntry
中的详细字段如下所示。
iis_access
日志包含 LogEntry
中的以下字段:
字段 | 类型 | 说明 |
---|---|---|
httpRequest.referer |
字符串 | Referer 标头的内容 |
httpRequest.remoteIp |
字符串 | 发出请求的客户端的 IP |
httpRequest.requestMethod |
字符串 | HTTP 方法 |
httpRequest.requestUrl |
字符串 | 请求网址(通常只是网址的路径部分) |
httpRequest.serverIp |
字符串 | 请求的服务器的 IP 地址和端口 |
httpRequest.status |
数值 | HTTP 状态代码 |
httpRequest.userAgent |
字符串 | User-Agent 标头的内容 |
jsonPayload.sc_substatus |
数值 | 子状态错误代码 |
jsonPayload.sc_win32_status |
数值 | Windows 状态代码 |
jsonPayload.time_taken |
数值 | 操作所用的时长(以毫秒为单位) |
jsonPayload.user |
字符串 | 请求经过身份验证的用户名 |
timestamp |
字符串 (Timestamp ) |
收到请求的时间 |
配置 v1 指标收集
Microsoft Windows 虚拟机上的 Ops Agent 会自动收集 IIS v1 指标。您无需进行其他配置。 如需了解如何仅收集 v2 指标,请参阅配置 v2 指标收集。
设置新的 IIS 实例后,IIS 可能不会立即报告任何指标。使用 Windows Server 上安装的服务器管理器控制台,您可能会在“可管理性”列中看到服务器的状态为联机 - 未启动性能计数器。
启用 IIS 以生成指标的一种方法是在服务器管理器控制台中右键点击 IIS 服务器,然后选择启动性能计数器。您的服务器应开始向 Ops Agent 发送指标。
配置 v2 指标收集
如需从 IIS 注入 v2 指标,您必须为 IIS 生成的指标创建接收器,然后为新接收器创建流水线。
此接收器不支持在配置中使用多个实例,例如,监控多个端点。所有这些实例都会写入相同的时序,并且 Cloud Monitoring 无法区分它们。
如需为 iis
指标配置接收器,请指定以下字段:
字段 | 默认 | 说明 |
---|---|---|
collection_interval |
60 秒 | time.Duration 值,例如 30 秒或 5 分钟。 |
receiver_version |
收集的指标的版本;可使用 2 收集 v2 指标。 |
|
type |
该值必须为 iis 。 |
默认情况下,系统会自动收集 v1 指标。您可以通过额外收集 v2 指标来扩充 v1 指标,也可以替换 v1 指标以仅收集 v2 指标。
如需仅收集 v2 指标,请执行以下操作:
- 将接收器命名为
iis
。 - 将
type
字段设置为iis
。 - 将
receiver_version
字段设置为2
。 - 在
default_pipeline
流水线中使用此接收器。此配置会替换iis
接收器的内置配置。
- 将接收器命名为
如需同时收集 v1 和 v2 指标,请执行以下操作:
- 将接收者命名为
iis
以外的其他名称,例如iis_v2
。 - 将
type
字段设置为iis
。 - 将
receiver_version
设置为2
。 - 在新流水线中使用此接收器。此配置会添加 v2 接收器,而不是替换内置接收器。示例配置中的脚本会使用此方法。
- 将接收者命名为
监控的内容
从 2.15.0 版开始,Ops Agent 可以收集两组不同的指标:
- v1 指标:
agent.googleapis.com/iis/
。 - v2 指标:
workload.googleapis.com/
。
V1 指标
下表提供了 Ops Agent 从 IIS 实例收集的 v1 指标列表。
此表中的“指标类型”字符串必须以 agent.googleapis.com/iis/
为前缀。表中的条目已省略该前缀。
查询标签时,请使用 metric.labels.
前缀;例如 metric.labels.LABEL="VALUE"
。
指标类型发布阶段 (资源层次结构级别 显示名称 |
|
---|---|
种类、类型、单位 受监控的资源 |
说明 标签 |
current_connections
GA
(项目)
IIS 打开的连接数 |
|
GAUGE 、DOUBLE 、1
aws_ec2_instance gce_instance |
当前 IIS 的打开的连接。每 60 秒采样一次。 |
network/transferred_bytes_count
GA
(项目)
IIS 传输的字节数 |
|
CUMULATIVE 、INT64 、By
aws_ec2_instance gce_instance |
IIS 已传输的网络字节数。每 60 秒采样一次。direction :方向(已发送,已接收)
|
new_connection_count
GA
(项目)
IIS 连接数 |
|
CUMULATIVE 、INT64 、1
aws_ec2_instance gce_instance |
对 IIS 打开的连接。每 60 秒采样一次。 |
request_count
GA
(项目)
IIS 请求数 |
|
CUMULATIVE 、INT64 、1
aws_ec2_instance gce_instance |
向 IIS 发出的请求。每 60 秒采样一次。http_method :Http 方法(post、put、get、delete、option、trace、head)
|
世界协调时间 (UTC) 2024-12-05 22:01:39 生成的表。
V2 指标
下表提供了 Ops Agent 从 IIS 实例收集的 v2 指标列表。
指标类型 | |
---|---|
种类、类型 受监控的资源 |
标签 |
workload.googleapis.com/iis.connection.active
|
|
GAUGE 、INT64 gce_instance |
|
workload.googleapis.com/iis.connection.anonymous
|
|
CUMULATIVE 、INT64 gce_instance |
|
workload.googleapis.com/iis.connection.attempt.count
|
|
CUMULATIVE 、INT64 gce_instance |
|
workload.googleapis.com/iis.network.blocked
|
|
CUMULATIVE 、INT64 gce_instance |
|
workload.googleapis.com/iis.network.file.count
|
|
CUMULATIVE 、INT64 gce_instance |
direction
|
workload.googleapis.com/iis.network.io
|
|
CUMULATIVE 、INT64 gce_instance |
direction
|
workload.googleapis.com/iis.request.count
|
|
CUMULATIVE 、INT64 gce_instance |
request
|
workload.googleapis.com/iis.request.queue.age.max
|
|
GAUGE 、INT64 gce_instance |
|
workload.googleapis.com/iis.request.queue.count
|
|
GAUGE 、INT64 gce_instance |
|
workload.googleapis.com/iis.request.rejected
|
|
CUMULATIVE 、INT64 gce_instance |
|
workload.googleapis.com/iis.thread.active
|
|
GAUGE 、INT64 gce_instance |
|
workload.googleapis.com/iis.uptime
|
|
GAUGE 、INT64 gce_instance |
验证配置
本部分介绍了如何验证您是否正确配置了 IIS 接收器。Ops Agent 可能需要一两分钟才会开始收集遥测数据。
如需验证 IIS 日志是否已发送到 Cloud Logging,请执行以下操作:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 在编辑器中输入以下查询,然后点击运行查询:
resource.type="gce_instance" log_id("iis_access")
如需验证 IIS 指标是否已发送到 Cloud Monitoring,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在查询构建器窗格的工具栏中,选择名为 code MQL 或 code PromQL 的按钮。
- 验证已在MQL切换开关中选择 MQL。语言切换开关位于同一工具栏中,用于设置查询的格式。
- 对于 v1 指标,请在编辑器中输入以下查询,然后点击运行查询:
fetch gce_instance | metric 'agent.googleapis.com/iis/request_count' | every 1m
- 对于 v2 指标,请在编辑器中输入以下查询,然后点击运行:
fetch gce_instance | metric 'workload.googleapis.com/iis.request.count' | every 1m
查看信息中心
如需查看 IIS 指标,您必须配置一个图表或信息中心。 IIS 集成服务可为您提供一个或多个信息中心。在您配置集成并且 Ops Agent 开始收集指标数据后,所有信息中心都会自动安装。
您还可以在不安装集成的情况下查看信息中心的静态预览。
如需查看已安装的信息中心,请执行以下操作:
-
在 Google Cloud 控制台中,转到 信息中心页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 选择信息中心列表标签页,然后选择集成类别。
- 点击您要查看的信息中心的名称。
如果您已配置集成,但尚未安装信息中心,请检查 Ops Agent 是否正在运行。如果信息中心内没有图表的指标数据,则信息中心的安装将失败。Ops Agent 开始收集指标后,系统会为您安装信息中心。
如需查看信息中心的静态预览,请执行以下操作:
-
在 Google Cloud 控制台中,转到 集成页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 点击 Compute Engine 部署平台过滤条件。
- 找到 IIS 的条目,然后点击查看详细信息。
- 选择信息中心标签页以查看静态预览。如果信息中心已安装,您可以通过点击查看信息中心来转到信息中心。
如需详细了解 Cloud Monitoring 中的信息中心,请参阅信息中心和图表。
如需详细了解如何使用集成页面,请参阅管理集成。
安装提醒政策
提醒政策会指示 Cloud Monitoring 在满足指定条件时通知您。 IIS 集成包含一项或多项提醒政策供您使用。您可以从 Monitoring 中的集成页面查看和安装这些提醒政策。
如需查看可用提醒政策的说明并安装它们,请执行以下操作:
-
在 Google Cloud 控制台中,转到 集成页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 找到 IIS 的条目,然后点击查看详细信息。
- 选择提醒标签页。此标签页提供可用提醒政策的说明,并提供一个安装政策的界面。
- 安装提醒政策。提醒政策需要知道将提醒触发的通知发送到何处,因此它们需要您提供信息才能进行安装。如需安装提醒政策,请执行以下操作:
- 从可用提醒政策列表中,选择您要安装的提醒政策。
在配置通知部分中,选择一个或多个通知渠道。您可以选择禁止使用通知渠道,但如果您这样做,则您的提醒政策将以静默方式触发。您可以在 Monitoring 中查看其状态,但不会收到通知。
如需详细了解通知渠道,请参阅管理通知渠道。
- 点击创建政策。
如需详细了解 Cloud Monitoring 中的提醒政策,请参阅提醒简介。
如需详细了解如何使用集成页面,请参阅管理集成。
后续步骤
如需查看有关如何使用 Ansible 安装 Ops Agent、配置第三方应用和安装示例信息中心的演示,请观看安装 Ops Agent 以排查第三方应用的问题视频。