Windows機器的Prometheus出口商。
| 姓名 | 描述 | 默認情況下啟用 |
|---|---|---|
| 廣告 | Active Directory域服務 | |
| ADC | Active Directory證書服務 | |
| ADFS | 活動目錄聯合會服務 | |
| 快取 | 緩存指標 | |
| 中央處理器 | CPU用法 | ✓ |
| cpu_info | CPU信息 | |
| CS | “計算機系統”指標(系統屬性,數字/總存儲器) | |
| 容器 | 容器指標 | |
| diskdrive | 磁盤指標 | |
| DFSR | DFSR指標 | |
| DHCP | DHCP服務器 | |
| DNS | DNS服務器 | |
| 交換 | 交換指標 | |
| filtime | filtime指標 | |
| FSRMQUOTA | Microsoft文件服務器資源管理器(FSRM)配額收集器 | |
| HyperV | Hyper-V主機 | |
| II | IIS網站和應用程序 | |
| 執照 | Windows許可證狀態 | |
| Logical_disk | 邏輯磁盤,磁盤I/O | ✓ |
| 登入 | 用戶登錄會話 | |
| 記憶 | 內存使用指標 | ✓ |
| MSCluster | MSCluster指標 | |
| MSMQ | MSMQ隊列 | |
| MSSQL | SQL Server性能對象指標 | |
| NetFramework | .NET框架指標 | |
| 網 | 網絡接口I/O。 | ✓ |
| 作業系統 | OS指標(內存,進程,用戶) | ✓ |
| 頁面文件 | 頁面文件指標 | |
| Performancecounter | 定制性能計數器指標 | |
| 物理_disk | 物理磁盤指標 | ✓ |
| 印表機 | 打印機指標 | |
| 過程 | 每個過程指標 | |
| 遠程_FX | 遠程FX協議(RDP)指標 | |
| 計劃_task | 計劃的任務指標 | |
| 服務 | 服務狀態指標 | ✓ |
| SMB | SMB服務器 | |
| smbclient | SMB客戶端 | |
| SMTP | IIS SMTP服務器 | |
| 系統 | 系統調用 | ✓ |
| TCP | TCP連接 | |
| terminal_services | 終端服務(RDS) | |
| textfile | 從文本文件中讀取Prometheus指標 | |
| 熱區 | 熱信息 | |
| 時間 | Windows時間服務 | |
| UDP | UDP連接 | |
| 更新 | Windows Update Service | |
| VMware | VMware Guest Agent安裝的性能計數器 |
有關報告的指標,配置設置和用法示例的更多信息,請參見每個收集器上的鏈接文檔。
windows_exporter將默認情況下從已啟用的收集器中曝光所有指標。這是收集指標以避免在比較不同家庭的指標時避免錯誤的推薦方法。
對於高級使用, windows_exporter可以通過可選的收集器列表來過濾指標。 collect[]參數可以多次使用。在Prometheus配置中,您可以在Scrape Config下使用此語法。
params:
collect[]:
- foo
- bar
這對於使不同的Prometheus服務器從節點收集特定的指標很有用。
Windows_Exporter接受標誌以配置某些行為。在下面列出了配置出口商的全局行為的一種,而在上面的相應收集器文檔中記錄了特定於收集器的行為。
| 旗幟 | 描述 | 預設值 |
|---|---|---|
--web.listen-address | 主機:出口商端口。 | :9182 |
--telemetry.path | 浮出水面指標的URL路徑。 | /metrics |
--telemetry.max-requests | 並發請求的最大數量。 0禁用。 | 5 |
--collectors.enabled | 逗號分隔的收藏家列表。使用[defaults]作為佔位符,該佔位符將擴展,其中包含默認情況下啟用的所有收集器。 ” | [defaults] |
--collectors.print | 如果是真的,請打印可用的收藏家和出口。 | |
--scrape.timeout-margin | 從客戶端允許的超時減去秒。調音以允許開銷或高負載。 | 0.5 |
--web.config.file | 用於設置TLS和Auth的Web配置 | 沒有任何 |
--config.file | 使用來自路徑或URL的配置文件 | 沒有任何 |
--config.file.insecure-skip-verify | 從URL加載配置文件時跳過TLS | 錯誤的 |
--log.file | 日誌消息的輸出文件。 [stdout,stderr,eventlog,<log file>] 注意: MSI安裝程序將為已安裝服務設置此設置的默認參數添加到EventLog | stderr |
最新版本可以從“發行”頁面下載。
每個版本都提供.msi安裝程序。安裝程序將將Windows_Exporter設置為Windows服務,並在Windows防火牆中創建一個例外。
如果安裝程序在沒有任何參數的情況下運行,則出口商將使用啟用收集器,端口等的默認設置運行。
安裝程序提供了一個配置文件來自定義出口商。
配置文件
--config.file參數。可用以下參數:
| 姓名 | 描述 |
|---|---|
ENABLED_COLLECTORS | 作為--collectors.enabled標誌,提供啟用收集器的逗號分隔列表 |
CONFIG_FILE | 使用--config.file標誌指定配置文件。如果空,則不會設置配置文件。特殊值config.yaml在安裝dir處設置了config.yaml的路徑 |
LISTEN_ADDR | IP地址要綁定到。默認為空字符串。 (任何本地地址) |
LISTEN_PORT | 要綁定的端口。默認為9182 。 |
METRICS_PATH | 服務指標的路徑。默認為/metrics |
TEXTFILE_DIRS | 使用--collector.textfile.directories標誌指定一個或多個由逗號隔開的目錄,收集器應在其中讀取包含指標的文本文件 |
REMOTE_ADDR | 允許設置逗號分隔為Windows防火牆異常的遠程IP地址(允許列表)。默認為空字符串(任何遠程地址)。 |
EXTRA_FLAGS | 允許傳遞完整的CLI標誌。默認為空字符串。 for --collectors.enabled和--config.file ,請使用專用屬性ENABLED_COLLECTORS和CONFIG_FILE |
ADDLOCAL | 在Windows_Exporter安裝程序中啟用功能。支持的值: FirewallException |
REMOVE | 禁用Windows_exporter安裝程序中的功能。支持的值: FirewallException |
參數通過msiexec發送到安裝程序。在PowerShell上,應在定義屬性之前通過--% 。
示例調用:
msiexec / i < path - to - msi - file > --% ENABLED_COLLECTORS=os,iis LISTEN_PORT=5000帶有自定義查詢的示例服務收集器。
msiexec / i < path - to - msi - file > --% ENABLED_COLLECTORS=os,service EXTRA_FLAGS="--collectors.exchange.enabled=""ADAccessProcesses"""定義配置文件。
msiexec / i < path - to - msi - file > --% CONFIG_FILE="D:config.yaml"在某些較舊版本的Windows上,您可能需要用雙引號包圍參數值,以使安裝命令正確解析:
msiexec / i C:UsersAdministratorDownloadswindows_exporter.msi --% ENABLED_COLLECTORS="ad,iis,logon,memory,process,tcp,textfile,thermalzone" TEXTFILE_DIRS="C:custom_metrics"要使用創建防火牆異常來安裝出口商,請使用以下命令:
msiexec / i < path - to - msi - file > --% ADDLOCAL=FirewallException PowerShell版本7.3及更高版本要求使用psnativecommandargumentspasting在使用時將其設置為Legacy --% EXTRA_FLAGS :
$PSNativeCommandArgumentPassing = ' Legacy '
msiexec / i < path - to - msi - file > ENABLED_COLLECTORS = os , service --% EXTRA_FLAGS="--collectors.exchange.enabled=""ADAccessProcesses""" Windows_Exporter可以作為Docker容器運行。 Docker圖像可在
docker.io/prometheuscommunity/windows-exporterghcr.io/prometheus-community/windows-exporterDocker映像用出口商的版本標記。 latest標籤也可以使用,並指向最新版本。
此外,帶有-hostprocess的風味hostprocess基於https://github.com/microsoft/windows-host-host-process-containers-base-imimimimage,其設計旨在作為Windows Host Process Container運行。該圖像的大小小於默認圖像。
請參閱此處的Windows Kubernetes上安裝的詳細步驟。
windows_exporter支持Windows Server版本2016及以後,以及桌面Windows版本10和11(21H2或更高版本)。
Windows Server 2012和2012R2僅作為最佳效果支持,但不能保證工作。
go get -u github.com/prometheus/promu
go get -u github.com/prometheus-community/windows_exporter
cd $env:GOPATH/src/github.com/prometheus-community/windows_exporter
promu build -v
.windows_exporter.exe
Prometheus指標將暴露在Local主機上:9182
Windows_exporter提供以下HTTP端點:
/metrics :以普羅米修斯文本格式公開指標。/health :出口商運行時將返回200。/debug/pprof/ :公開PPROF端點。僅設置--debug.enabled 。 .windows_exporter.exe --collectors.enabled "service" --collector.service.include="windows_exporter"
.windows_exporter.exe --collectors.enabled "process" --collector.process.include="firefox.+"
當有多個具有相同名稱的過程時,WMI將第一個實例之後的過程表示為process-name#index 。因此,要使它們全部,而不僅僅是第一個,正則表達式必須使用.+ 。有關更多信息,請參見過程。
--collectors.enabled參數一起使用將[defaults]與--collectors.enabled參數一起使用。
.windows_exporter.exe --collectors.enabled "[defaults],process,container"
這使得默認值之上的其他過程和容器收集器。
可以用--config.file標誌指定YAML配置文件。例如.windows_exporter.exe --config.file=config.yml 。如果您使用的是絕對路徑,請確保引用該路徑,例如.windows_exporter.exe --config.file="C:Program Fileswindows_exporterconfig.yml"
也可以從URL加載配置。例如.windows_exporter.exe --config.file="https://example.com/config.yml"
如果需要跳過TLS驗證,則可以使用--config.file.insecure-skip-verify標誌。例如.windows_exporter.exe --config.file="https://example.com/config.yml" --config.file.insecure-skip-verify
collectors :
enabled : cpu,net,service
collector :
service :
include : windows_exporter
log :
level : warn可以在此處找到一個示例配置文件。
配置文件值可以與CLI標誌混合。例如
.windows_exporter.exe --collectors.enabled=cpu,logon
log :
level : debug與配置文件中指定的值相比,CLI標誌享有更高的優先級。
在麻省理工學院