prometheus.exporter.windows
prometheus.exporter.windows
组件集成了 windows_exporter,该工具为基于 Windows 的系统提供了各种硬件和操作系统指标。
windows_exporter
本身包含各种 收集器,您可以根据需要启用或禁用它们。有关收集器的更多信息,请参阅 collectors-list
部分。
注意
配置参数blacklist
和whitelist
适用于向后兼容,但已弃用。建议使用include
和exclude
参数。
用法
prometheus.exporter.windows "LABEL" {
}
参数
以下参数可用于配置导出器的行为。所有参数都是可选的。省略的字段将使用默认值。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_collectors | 列表(字符串) | 要启用的收集器列表。 | ["cpu","cs","logical_disk","net","os","service","system"] | 否 |
enabled_collectors
定义了一个默认启用的收集器列表。如果设置了此值,则列表中未提供的内容默认禁用。请参阅收集器列表获取默认集。
块
以下块在 prometheus.exporter.windows
定义中受支持,用于配置特定收集器的选项
层次结构 | 名称 | 描述 | 必需 |
---|---|---|---|
dfsr | dfsr | 配置 dfsr 收集器。 | 否 |
exchange | exchange | 配置 exchange 收集器。 | 否 |
iis | iis | 配置 iis 收集器。 | 否 |
logical_disk | logical_disk | 配置 logical_disk 收集器。 | 否 |
msmq | msmq | 配置 msmq 收集器。 | 否 |
mssql | mssql | 配置 mssql 收集器。 | 否 |
network | network | 配置 network 收集器。 | 否 |
physical_disk | physical_disk | 配置 physical_disk 收集器。 | 否 |
printer | printer | 配置 printer 收集器。 | 否 |
process | process | 配置 process 收集器。 | 否 |
scheduled_task | scheduled_task | 配置 scheduled_task 收集器。 | 否 |
service | service | 配置 service 收集器。 | 否 |
smb | smb | 配置 smb 收集器。 | 否 |
smb_client | smb_client | 配置 smb_client 收集器。 | 否 |
smtp | smtp | 配置 smtp 收集器。 | 否 |
text_file | text_file | 配置 text_file 收集器。 | 否 |
dfsr 块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
source_enabled | 列表(字符串) | 要使用 DFSR Perflib 源的列表。 | ["connection","folder","volume"] | 否 |
exchange 块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_list | 列表(字符串) | 要使用的收集器列表。 | ["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 | 列表(字符串) | 要使用 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
字符串将被 包装 成正则表达式。
处理块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的进程的正则表达式。 | "^$" | 否 |
include | string | 要包含的进程的正则表达式。 | "^.+$" | 否 |
进程必须匹配由include
指定的正则表达式,并且不得匹配由exclude
指定的正则表达式才能被包含。
用户提供的 exclude
和 include
字符串将被 包装 成正则表达式。
计划任务块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要排除的任务的正则表达式。 | "^$" | 否 |
include | string | 要包含的任务的正则表达式。 | "^.+$" | 否 |
要包含的服务器名必须匹配由include
指定的正则表达式,并且不得匹配由exclude
指定的正则表达式。
用户提供的 exclude
和 include
字符串将被 包装 成正则表达式。
服务块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
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 | 列表(字符串) | 已弃用(无操作),要使用的收集器列表。 | [] | 否 |
enabled_list
指定的收集器可以包括以下内容
ServerShares
例如,enabled_list
可以设置为["ServerShares"]
。
smb_client块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled_list | 列表(字符串) | 已弃用(无操作),要使用的收集器列表。 | [] | 否 |
enabled_list
指定的收集器可以包括以下内容
ClientShares
例如,enabled_list
可以设置为"ClientShares"
。
smtp块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
exclude | string | 要忽略的虚拟服务器的正则表达式。 | "^$" | 否 |
include | string | 要包含的虚拟服务器的正则表达式。 | "^.+$" | 否 |
要包含的服务器名必须匹配由include
指定的正则表达式,并且不得匹配由exclude
指定的正则表达式。
用户提供的 exclude
和 include
字符串将被 包装 成正则表达式。
text_file块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
text_file_directory | string | 包含要摄取的文件的目录。 | see_below | 否 |
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性能对象度量指标 | |
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远程度量指标 | |
netframework_clrsecurity | .NET Framework安全检查度量指标 | |
net | 网络接口I/O | ✓ |
os | OS度量指标(内存、进程、用户) | ✓ |
physical_disk | 物理磁盘 | ✓ |
printer | 打印机度量指标 | |
process | 按进程度量指标 | |
remote_fx | 远程FX协议(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虚拟机代理安装的性能计数器 |
有关报告的度量指标、配置设置和用法示例的更多信息,请参阅每个收集器链接的文档。
注意
某些收集器如果在没有安装所需基础设施的情况下使用,将导致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
:发送指标要发送到的 Prometheus 远程_write 兼容服务器的 URL。USERNAME
:用于远程_write API 认证的用户名。PASSWORD
:用于远程_write API 认证的密码。
兼容组件
prometheus.exporter.windows
包含可以被以下组件消费的导出项
- 消费 目标 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接文档以获取更多详细信息。