1. 前言

监控系统资源,我们在做测试时,如果是为了测试客户端占用系统资源的情况,那就少不了要监控其所在系统进行监控。这也就是我们常用的window系统。linux系统下有node-export,windows下对应也有windows-export.本节就是主要来描述windows系统下的资源监控,从搭建到使用的全过程。(本节中提到的环境与实践操作命令等全是本人实际环境,类似的环境可以参考,不要一键复制粘贴到底哦,除了路径外还有有些命令可能会有点点差异。为避免执行失败,步骤操作可以参考,但不要一路不做修改复制粘贴到底哦。)

2. 环境准备

  • 操作系统:windows11
  • 使用工具:
    • windows-exporter
      (下载地址: https://github.com/prometheus-community/windows_exporter/releases)

3. windows-exporter注册为系统服务

方便开机启动或是系统故障宕机快速恢复,可以把windows-exporter注册为系统服务。

sc create windows_exporter binpath= C:\windows_exporter-0.20.0-amd64.exe type= own start= auto displayname= windows_exporter

请添加图片描述

说明:

  • windows_export插件默认放在C盘根目录下。
  • sc create的用法说明:
    • 描述:
      在注册表和服务数据库中创建服务项。
    • 用法:
      sc create [service name] [binPath= ] …
    • 选项:
      注意,选项名称包括等号,等号和值之间需要一个空格。
参数说明
type<own|share|interact|kernel|filesys|rec>(默认 = own)
start<boot|system|auto|demand|disabled|delayed-auto>(默认 = demand)
error<normal|severe|critical|ignore>(默认 = normal)
binPath<BinaryPathName>
group<LoadOrderGroup>
tag<yes|no>
depend<依存关系(以/(斜杠)分隔)>
obj<AccountName|ObjectName> (默认=LocalSystem)
DisplayName<显示名称>
password<密码>

注册完成成后可以在服务里看到所注册的windows_export服务
请添加图片描述

选中服务,然后在右键菜单中点击属性,在属性对话框输入启动参数:
–telemetry.addr=127.0.0.1:9182

    这里的IP地址,可以写虚拟机的实际地址,我本地PC就使用127.0.0.1  

请添加图片描述
然后点击启动按钮,可以发现服务成功启动,如下图所示:
请添加图片描述
请添加图片描述
为了测试windows_exporter是否可以成功采集到监控数据,我们可以在浏览器里面访问下面的地址,来观察是否有数据返回,如果有,则说明服务启动、运行成功。
http://127.0.0.1:9182/metrics
请添加图片描述

如果想删除这个服务,只需要在服务列表里面将此服务停掉,然后服务启动设置为手动,最后在cmd命令行窗口输入下面的命令,即可删除服务。

sc delete windows_exporter

4.配置prometheus 采集windows_export监控数据

为方便后续持续添加更多的监控目标主机,将监控目标配置改基于文件(linux-targets.jsonwindows-targets.json)的目标发布机制,这样后续添加监控目标主机,只需修改独立的目标主机列表,不需要重启prometheus服务。

vi /prom/prometheus.yml

# 将采集配置修改成以下内容,prometheus自身的监控基本不会修改,使用静态配置
# linux及windows主机性能监控均改为基于文件的服务发现模式
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.40.29:9090','192.168.40.27:9090']

  - job_name: 'node_exporter'
    file_sd_configs:
    - refresh_interval: 1m
      files:
      - linux-targets.json

  - job_name: 'windows_exporter'
    file_sd_configs:
    - refresh_interval: 1m
      files:
      - windows-targets.json

# 将要监控的linux主机信息添加到目标列表
vi /sas/prometheus/prometheus/linux-targets.json

[
  {
    "targets": [ "192.168.40.29:9100"],
    "labels": {
      "tenant": "devops"
    }
  }
]

# 将要监控的windows主机信息添加到目标列表
vi /sas/prometheus/prometheus/windows-targets.json

[
  {
    "targets": [ "192.168.40.27:9182"],
    "labels": {
      "tenant": "devops"
    }
  }
]

在grafana中配置监控信息展示模版:10467、14694、14510

5.注意事项

windows_exporter默认的监听端口是9182,启用了防火墙功能的主机需要配置防火墙允许prometheus服务器访问主机端口9182。

6.参考文档:

https://blog.csdn.net/cnskylee/article/details/125442012
https://blog.51cto.com/dusthunter/2558405

Logo

更多推荐