prometheus.exporter.windows
prometheus.exporter.windows
组件内嵌了 windows_exporter
,用于暴露 Windows 系统上的各种硬件和操作系统指标。
windows_exporter
本身包含各种收集器(collector),您可以根据需要启用或禁用它们。有关收集器的更多信息,请参阅 collectors-list
部分。
注意
blacklist
和whitelist
配置参数为了向后兼容而保留,但已被弃用。后续更推荐使用include
和exclude
参数。
用法
prometheus.exporter.windows "<LABEL>" {
}
参数
您可以为 prometheus.exporter.windows
配置以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_collectors | list(string) | 要启用的收集器列表。 | ["cpu","cs","logical_disk","net","os","service","system"] | 否 |
enabled_collectors
定义了一个手动挑选的默认启用收集器列表。如果设置了此参数,则未在此列表中提供的任何收集器将默认禁用。有关默认设置,请参阅收集器列表。
块 (Blocks)
您可以为 prometheus.exporter.windows
配置以下块 (block)
名称 | 描述 | 必需 |
---|---|---|
dfsr | 配置 dfsr 收集器。 | 否 |
exchange | 配置 exchange 收集器。 | 否 |
iis | 配置 iis 收集器。 | 否 |
logical_disk | 配置 logical_disk 收集器。 | 否 |
msmq | 配置 msmq 收集器。 | 否 |
mssql | 配置 mssql 收集器。 | 否 |
network | 配置 network 收集器。 | 否 |
physical_disk | 配置 physical_disk 收集器。 | 否 |
printer | 配置 printer 收集器。 | 否 |
process | 配置 process 收集器。 | 否 |
scheduled_task | 配置 scheduled_task 收集器。 | 否 |
service | 配置 service 收集器。 | 否 |
smb_client | 配置 smb_client 收集器。 | 否 |
smb | 配置 smb 收集器。 | 否 |
smtp | 配置 smtp 收集器。 | 否 |
text_file | 配置 text_file 收集器。 | 否 |
dfsr
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
source_enabled | list(string) | 要使用的 DFSR Perflib 源列表。 | ["connection","folder","volume"] | 否 |
exchange
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_list | list(string) | 要使用的收集器列表。 | ["ADAccessProcesses", "TransportQueues", "HttpProxy", "ActiveSync", "AvailabilityService", "OutlookWebAccess", "Autodiscover", "WorkloadManagement", "RpcClientAccess", "MapiHttpEmsmdb"] | 否 |
iis
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
app_exclude | string | 要忽略的应用程序的正则表达式。 | "^$" | 否 |
app_include | string | 要报告的应用程序的正则表达式。 | "^.+$" | 否 |
site_exclude | string | 要忽略的站点的正则表达式。 | "^$" | 否 |
site_include | string | 要报告的站点的正则表达式。 | "^.+$" | 否 |
用户提供的 app_exclude
、app_include
、site_exclude
和 site_include
字符串将被包装在正则表达式中。
logical_disk
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的卷的正则表达式。 | "^$" | 否 |
include | string | 要包含的卷的正则表达式。 | "^.+$" | 否 |
卷名必须匹配 include
指定的正则表达式,且不能匹配 exclude
指定的正则表达式才能被包含。
用户提供的 exclude
和 include
字符串将被包装在正则表达式中。
msmq
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
where_clause | string | 用于 WMI 指标查询的 WQL 'where' 子句。 | "" | 否 |
指定 enabled_classes
有助于将响应限制为您指定的 MSMQ,从而减小响应的大小。
mssql
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_classes | list(string) | 要使用的 MSSQL WMI 类列表。 | ["accessmethods", "availreplica", "bufman", "databases", "dbreplica", "genstats", "locks", "memmgr", "sqlstats", "sqlerrors", "transactions", "waitstats"] | 否 |
network
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的网卡 (NIC) 的正则表达式。 | "^$" | 否 |
include | string | 要包含的网卡 (NIC) 的正则表达式。 | "^.+$" | 否 |
网卡 (NIC) 名称必须匹配 include
指定的正则表达式,且不能匹配 exclude
指定的正则表达式才能被包含。
用户提供的 exclude
和 include
字符串将被包装在正则表达式中。
physical_disk
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的物理磁盘的正则表达式。 | "^$" | 否 |
include | string | 要包含的物理磁盘的正则表达式。 | "^.+$" | 否 |
用户提供的 exclude
和 include
字符串将被包装在正则表达式中。
printer
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的打印机的正则表达式。 | "^$" | 否 |
include | string | 要包含的打印机的正则表达式。 | "^.+$" | 否 |
打印机必须匹配 include
指定的正则表达式,且不能匹配 exclude
指定的正则表达式才能被包含。
用户提供的 exclude
和 include
字符串将被包装在正则表达式中。
process
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的进程的正则表达式。 | "^$" | 否 |
include | string | 要包含的进程的正则表达式。 | "^.+$" | 否 |
进程必须匹配 include
指定的正则表达式,且不能匹配 exclude
指定的正则表达式才能被包含。
用户提供的 exclude
和 include
字符串将被包装在正则表达式中。
scheduled_task
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的任务的正则表达式。 | "^$" | 否 |
include | string | 要包含的任务的正则表达式。 | "^.+$" | 否 |
要包含服务器名,它必须匹配 include
指定的正则表达式,且不能匹配 exclude
指定的正则表达式。
用户提供的 exclude
和 include
字符串将被包装在正则表达式中。
service
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enable_v2_collector | string | 启用 V2 服务收集器。 | "false" | 否 |
use_api | string | 使用 API 调用而非 WMI 来收集服务数据。 | "false" | 否 |
where_clause | string | 用于 WMI 指标查询的 WQL 'where' 子句。 | "" | 否 |
where_clause
参数可用于将响应限制为您指定的服务,从而减小响应的大小。如果启用了 use_api
,则 where_clause
将无效。
v2 收集器可以更高效地查询服务状态,但无法提供通用的服务信息。
smb
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_list | list(string) | 已弃用(无操作),要使用的收集器列表。 | [] | 否 |
enabled_list
指定的收集器可包含以下内容
ServerShares
例如,enabled_list
可以设置为 ["ServerShares"]
。
smb_client
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_list | list(string) | 已弃用(无操作),要使用的收集器列表。 | [] | 否 |
enabled_list
指定的收集器可包含以下内容
ClientShares
例如,enabled_list
可以设置为 "ClientShares"
。
smtp
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要忽略的虚拟服务器的正则表达式。 | "^$" | 否 |
include | string | 要包含的虚拟服务器的正则表达式。 | "^.+$" | 否 |
要包含服务器名,它必须匹配 include
指定的正则表达式,且不能匹配 exclude
指定的正则表达式。
用户提供的 exclude
和 include
字符串将被包装在正则表达式中。
text_file
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
text_file_directory | string | 包含要摄取的文件目录。 | 见下方 | 否 |
text_file_directory
的默认值是相对于 Alloy 可执行文件的位置。默认情况下,text_file_directory
被设置为 Alloy 安装目录中的 textfile_inputs
目录。例如,如果 Alloy 安装在 C:\Program Files\GrafanaLabs\Alloy\
,则默认值为 C:\Program Files\GrafanaLabs\Alloy\textfile_inputs
。
设置 text_file_directory
后,只会读取指定目录内扩展名为 .prom
的文件。
注意
.prom
文件必须以空行结尾,组件才能识别和读取它们。
导出的字段
以下字段是导出的,可供其他组件引用。
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 可用于收集导出器指标的目标。 |
例如,targets
可以传递给 discovery.relabel
组件以重写目标的标签集,或者传递给 prometheus.scrape
组件以收集暴露的指标。
组件健康状况
prometheus.exporter.windows
仅在给定无效配置时报告为不健康。在这种情况下,导出的字段将保留其上次健康时的值。
调试信息
prometheus.exporter.windows
不会暴露任何组件特定的调试信息。
调试指标
prometheus.exporter.windows
不会暴露任何组件特定的调试指标。
包装正则表达式字符串
某些收集器块,例如 scheduled_task
,接受字符串格式的正则表达式参数。prometheus.exporter.windows
会将一些正则表达式字符串参数前缀为 ^(?:
,后缀为 )$
。例如,如果用户将 exclude
参数设置为 ".*"
,Alloy 会将其设置为 "^(?:.*)$"
。
要了解某个特定的正则表达式参数是否会被包装,请参考收集器块的文档。
注意
包装可能会改变正则表达式的行为。例如,正则表达式
e.*
通常会同时匹配“service”和“email”字符串。然而,^(?:e.*)$
只会匹配“email”。
收集器列表
下表列出了 windows_exporter
中可用的收集器。有些收集器仅适用于特定的操作系统,在 Alloy 运行的主机操作系统上启用不受支持的收集器将是一个空操作。
用户可以选择启用部分收集器以限制 prometheus.exporter.windows
组件暴露的指标数量,或禁用运行成本较高的收集器。
名称 | 描述 | 默认启用 |
---|---|---|
ad | Active Directory 域服务 | |
adcs | Active Directory 证书服务 | |
adfs | Active Directory 联合身份验证服务 | |
cache | 缓存指标 | |
cpu | CPU 使用率 | 是 |
cpu_info | CPU 信息 | |
cs | “计算机系统”指标(系统属性,CPU 数量/总内存) | 是 |
container | 容器指标 | |
dfsr | DFSR 指标 | |
dhcp | DHCP 服务器 | |
dns | DNS 服务器 | |
exchange | Exchange 指标 | |
fsrmquota | Microsoft 文件服务器资源管理器 (FSRM) 配额收集器 | |
hyperv | Hyper-V 主机 | |
iis | IIS 站点和应用程序 | |
logical_disk | 逻辑磁盘,磁盘 I/O | 是 |
logon | 用户登录会话 | |
memory | 内存使用指标 | |
mscluster_cluster | MSCluster 集群指标 | |
mscluster_network | MSCluster 网络指标 | |
mscluster_node | MSCluster 节点指标 | |
mscluster_resource | MSCluster 资源指标 | |
mscluster_resourcegroup | MSCluster 资源组指标 | |
msmq | MSMQ 队列 | |
mssql | SQL Server Performance Objects 指标 | |
netframework_clrexceptions | .NET Framework CLR 异常 | |
netframework_clrinterop | .NET Framework 互操作指标 | |
netframework_clrjit | .NET Framework JIT 指标 | |
netframework_clrloading | .NET Framework CLR 加载指标 | |
netframework_clrlocksandthreads | .NET Framework 锁和线程指标 | |
netframework_clrmemory | .NET Framework 内存指标 | |
netframework_clrremoting | .NET Framework Remoting 指标 | |
netframework_clrsecurity | .NET Framework 安全检查指标 | |
net | 网络接口 I/O | 是 |
os | 操作系统指标(内存、进程、用户) | 是 |
physical_disk | 物理磁盘 | 是 |
printer | 打印机指标 | |
process | 按进程指标 | |
remote_fx | RemoteFX 协议 (RDP) 指标 | |
scheduled_task | 计划任务指标 | |
service | 服务状态指标 | 是 |
smb | IIS SMTP 服务器 | |
smb_client | IIS SMTP 服务器 | |
smtp | IIS SMTP 服务器 | |
system | 系统调用 | 是 |
tcp | TCP 连接 | |
teradici_pcoip | Teradici PCoIP 会话指标 | |
time | Windows 时间服务 | |
thermalzone | 热信息 | |
terminal_services | 终端服务 (RDS) | |
textfile | 从文本文件中读取 Prometheus 指标 | |
vmware_blast | VMware Blast 会话指标 | |
vmware | 由 VMware Guest 代理安装的性能计数器 |
有关报告指标、配置设置和使用示例的更多信息,请参考每个收集器的链接文档。
注意
如果使用了某些收集器但未安装所需的基础设施,Alloy 可能会崩溃。这些收集器包括但不限于
mscluster_*
、vmware
、nps
、dns
、msmq
、teradici_pcoip
、ad
、hyperv
和scheduled_task
。
示例
以下示例使用 prometheus.scrape
组件从 prometheus.exporter.windows
收集指标
prometheus.exporter.windows "default" { }
// Configure a prometheus.scrape component to collect windows metrics.
prometheus.scrape "example" {
targets = prometheus.exporter.windows.default.targets
forward_to = [prometheus.remote_write.demo.receiver]
}
prometheus.remote_write "demo" {
endpoint {
url = "<PROMETHEUS_REMOTE_WRITE_URL>"
basic_auth {
username = "<USERNAME>"
password = "<PASSWORD>"
}
}
}
替换以下内容
<PROMETHEUS_REMOTE_WRITE_URL>
: 要将指标发送到的 Prometheusremote_write
兼容服务器的 URL。<USERNAME>
: 用于remote_write
API 认证的用户名。<PASSWORD>
: 用于remote_write
API 认证的密码。
兼容的组件
prometheus.exporter.windows
导出的内容可供以下组件使用
- 使用 Targets 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接文档。