菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow prometheusbreadcrumb arrow prometheus.exporter.windows
正式可用 (GA) 开源

prometheus.exporter.windows

prometheus.exporter.windows 组件内嵌了 windows_exporter,用于暴露 Windows 系统上的各种硬件和操作系统指标。

windows_exporter 本身包含各种收集器(collector),您可以根据需要启用或禁用它们。有关收集器的更多信息,请参阅 collectors-list 部分。

注意

blacklistwhitelist 配置参数为了向后兼容而保留,但已被弃用。后续更推荐使用 includeexclude 参数。

用法

alloy
prometheus.exporter.windows "<LABEL>" {
}

参数

您可以为 prometheus.exporter.windows 配置以下参数

名称类型描述默认值必需
enabled_collectorslist(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_enabledlist(string)要使用的 DFSR Perflib 源列表。["connection","folder","volume"]

exchange

名称类型描述默认值必需
enabled_listlist(string)要使用的收集器列表。["ADAccessProcesses", "TransportQueues", "HttpProxy", "ActiveSync", "AvailabilityService", "OutlookWebAccess", "Autodiscover", "WorkloadManagement", "RpcClientAccess", "MapiHttpEmsmdb"]

iis

名称类型描述默认值必需
app_excludestring要忽略的应用程序的正则表达式。"^$"
app_includestring要报告的应用程序的正则表达式。"^.+$"
site_excludestring要忽略的站点的正则表达式。"^$"
site_includestring要报告的站点的正则表达式。"^.+$"

用户提供的 app_excludeapp_includesite_excludesite_include 字符串将被包装在正则表达式中。

logical_disk

名称类型描述默认值必需
excludestring要排除的卷的正则表达式。"^$"
includestring要包含的卷的正则表达式。"^.+$"

卷名必须匹配 include 指定的正则表达式,且不能匹配 exclude 指定的正则表达式才能被包含。

用户提供的 excludeinclude 字符串将被包装在正则表达式中。

msmq

名称类型描述默认值必需
where_clausestring用于 WMI 指标查询的 WQL 'where' 子句。""

指定 enabled_classes 有助于将响应限制为您指定的 MSMQ,从而减小响应的大小。

mssql

名称类型描述默认值必需
enabled_classeslist(string)要使用的 MSSQL WMI 类列表。["accessmethods", "availreplica", "bufman", "databases", "dbreplica", "genstats", "locks", "memmgr", "sqlstats", "sqlerrors", "transactions", "waitstats"]

network

名称类型描述默认值必需
excludestring要排除的网卡 (NIC) 的正则表达式。"^$"
includestring要包含的网卡 (NIC) 的正则表达式。"^.+$"

网卡 (NIC) 名称必须匹配 include 指定的正则表达式,且不能匹配 exclude 指定的正则表达式才能被包含。

用户提供的 excludeinclude 字符串将被包装在正则表达式中。

physical_disk

名称类型描述默认值必需
excludestring要排除的物理磁盘的正则表达式。"^$"
includestring要包含的物理磁盘的正则表达式。"^.+$"

用户提供的 excludeinclude 字符串将被包装在正则表达式中。

printer

名称类型描述默认值必需
excludestring要排除的打印机的正则表达式。"^$"
includestring要包含的打印机的正则表达式。"^.+$"

打印机必须匹配 include 指定的正则表达式,且不能匹配 exclude 指定的正则表达式才能被包含。

用户提供的 excludeinclude 字符串将被包装在正则表达式中。

process

名称类型描述默认值必需
excludestring要排除的进程的正则表达式。"^$"
includestring要包含的进程的正则表达式。"^.+$"

进程必须匹配 include 指定的正则表达式,且不能匹配 exclude 指定的正则表达式才能被包含。

用户提供的 excludeinclude 字符串将被包装在正则表达式中。

scheduled_task

名称类型描述默认值必需
excludestring要排除的任务的正则表达式。"^$"
includestring要包含的任务的正则表达式。"^.+$"

要包含服务器名,它必须匹配 include 指定的正则表达式,且不能匹配 exclude 指定的正则表达式。

用户提供的 excludeinclude 字符串将被包装在正则表达式中。

service

名称类型描述默认值必需
enable_v2_collectorstring启用 V2 服务收集器。"false"
use_apistring使用 API 调用而非 WMI 来收集服务数据。"false"
where_clausestring用于 WMI 指标查询的 WQL 'where' 子句。""

where_clause 参数可用于将响应限制为您指定的服务,从而减小响应的大小。如果启用了 use_api,则 where_clause 将无效。

v2 收集器可以更高效地查询服务状态,但无法提供通用的服务信息。

smb

名称类型描述默认值必需
enabled_listlist(string)已弃用(无操作),要使用的收集器列表。[]

enabled_list 指定的收集器可包含以下内容

  • ServerShares

例如,enabled_list 可以设置为 ["ServerShares"]

smb_client

名称类型描述默认值必需
enabled_listlist(string)已弃用(无操作),要使用的收集器列表。[]

enabled_list 指定的收集器可包含以下内容

  • ClientShares

例如,enabled_list 可以设置为 "ClientShares"

smtp

名称类型描述默认值必需
excludestring要忽略的虚拟服务器的正则表达式。"^$"
includestring要包含的虚拟服务器的正则表达式。"^.+$"

要包含服务器名,它必须匹配 include 指定的正则表达式,且不能匹配 exclude 指定的正则表达式。

用户提供的 excludeinclude 字符串将被包装在正则表达式中。

text_file

名称类型描述默认值必需
text_file_directorystring包含要摄取的文件目录。见下方

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 文件必须以空行结尾,组件才能识别和读取它们。

导出的字段

以下字段是导出的,可供其他组件引用。

名称类型描述
targetslist(map(string))可用于收集导出器指标的目标。

例如,targets 可以传递给 discovery.relabel 组件以重写目标的标签集,或者传递给 prometheus.scrape 组件以收集暴露的指标。

导出的目标使用由 run 命令指定的配置好的内存流量地址。

组件健康状况

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 组件暴露的指标数量,或禁用运行成本较高的收集器。

名称描述默认启用
adActive Directory 域服务
adcsActive Directory 证书服务
adfsActive Directory 联合身份验证服务
cache缓存指标
cpuCPU 使用率
cpu_infoCPU 信息
cs“计算机系统”指标(系统属性,CPU 数量/总内存)
container容器指标
dfsrDFSR 指标
dhcpDHCP 服务器
dnsDNS 服务器
exchangeExchange 指标
fsrmquotaMicrosoft 文件服务器资源管理器 (FSRM) 配额收集器
hypervHyper-V 主机
iisIIS 站点和应用程序
logical_disk逻辑磁盘,磁盘 I/O
logon用户登录会话
memory内存使用指标
mscluster_clusterMSCluster 集群指标
mscluster_networkMSCluster 网络指标
mscluster_nodeMSCluster 节点指标
mscluster_resourceMSCluster 资源指标
mscluster_resourcegroupMSCluster 资源组指标
msmqMSMQ 队列
mssqlSQL 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_fxRemoteFX 协议 (RDP) 指标
scheduled_task计划任务指标
service服务状态指标
smbIIS SMTP 服务器
smb_clientIIS SMTP 服务器
smtpIIS SMTP 服务器
system系统调用
tcpTCP 连接
teradici_pcoipTeradici PCoIP 会话指标
timeWindows 时间服务
thermalzone热信息
terminal_services终端服务 (RDS)
textfile从文本文件中读取 Prometheus 指标
vmware_blastVMware Blast 会话指标
vmware由 VMware Guest 代理安装的性能计数器

有关报告指标、配置设置和使用示例的更多信息,请参考每个收集器的链接文档。

注意

如果使用了某些收集器但未安装所需的基础设施,Alloy 可能会崩溃。这些收集器包括但不限于 mscluster_*vmwarenpsdnsmsmqteradici_pcoipadhypervscheduled_task

示例

以下示例使用 prometheus.scrape 组件从 prometheus.exporter.windows 收集指标

alloy
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 remote_write 兼容服务器的 URL。
  • <USERNAME>: 用于 remote_write API 认证的用户名。
  • <PASSWORD>: 用于 remote_write API 认证的密码。

兼容的组件

prometheus.exporter.windows 导出的内容可供以下组件使用

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接文档。