【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

本文主要是介绍【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

亲爱的读者们👋

  欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀

  Prometheus是云原生和DevOps的核心监控工具,我们将从基础概念开始,逐步涵盖配置、查询、告警和可视化。💪

  在接下来的30天里,我们将解锁Prometheus的实战技巧,通过案例和分享,助你深入理解其工作原理。📆

  目标:30天后,你将熟练掌握Prometheus,为未来的项目挑战做好准备!💯

  这是一段精彩旅程,期待你的加入!🎉


文章目录

  • 一、windows_exporter概述📘
  • 二、安装windows_exporter💾
    • 2.1 访问windows_exporter官方网站 🌐
    • 2.2 选择适合的版本🔍
    • 2.3 下载windows_exporter⬇️
    • 2.4 运行windows_exporter🚀
  • 三、windows_exporter指标和配置详解📖
    • 3.1 windows_exporter的Collectors
    • 3.2 windows_exporter.exe
  • 四、实战演练:生产环境搭建指南🔨
    • 4.1 创建config.yml文件
    • 4.2 将windows_exporter集成到Prometheus配置中✂️
    • 4.3 启动windows_exporter.service🔌
    • 4.4 查看服务是否正常启动🔍
  • 相关资料下载地址📚

一、windows_exporter概述📘

定义
  windows_exporter是一个开源的监控工具,专门为Windows操作系统设计。它的主要作用是收集Windows系统的各种运行指标,并将这些指标转换成Prometheus可以理解的格式,以便Prometheus进行数据的抓取、存储和分析。

功能
  系统指标收集:能够全面收集Windows系统的各类运行指标,如CPU使用率、内存占用情况、磁盘IO性能、网络流量统计等。

  数据格式转换:将这些收集到的系统指标转换成Prometheus可以识别和抓取的格式,确保数据的兼容性。

  模块化设计:通过不同的收集器模块来专门负责收集特定类型的系统信息,这种设计提高了软件的扩展性和可维护性。

  安全性保障:支持通过HTTPS协议和基本认证来确保数据传输的安全性,防止未授权访问和敏感数据泄露。

  灵活配置:用户可以根据自己的需求,通过配置文件灵活地启用或禁用特定的指标收集器,以满足不同的监控需求。

应用场景
  服务器性能监控:对于运行Windows的服务器,管理员可以利用windows_exporter实时监控服务器的性能指标,如CPU、内存、磁盘和网络等的使用情况,以确保服务器稳定运行并及时发现潜在问题。

  混合环境监控:在同时包含Linux和Windows的混合环境中,使用windows_exporter可以实现对Windows系统的统一监控,便于管理员进行跨平台的性能分析和故障排除。

  自动化运维与告警:配合Prometheus和Alertmanager,windows_exporter可以帮助实现自动化的性能告警,当系统指标超过预设阈值时,及时通知管理员进行处理。

  DevOps与CI/CD支持:在DevOps流程和持续集成与持续交付(CI/CD)环境中,windows_exporter提供的实时监控数据可以帮助团队快速定位性能瓶颈,优化软件开发和部署流程。

  容量规划:根据consul_exporter收集的历史数据,可以进行更准确的容量规划和预测,以满足未来的业务需求。

二、安装windows_exporter💾

注意事项和常见问题
  1.管理员权限:确保以管理员身份登录Windows系统进行安装,以保证有足够的权限进行必要的系统配置。

  2.下载来源:应从官方渠道或可信赖的资源下载windows_exporter安装包,以确保安全性。

  3.安装目录:默认情况下,windows_exporter会安装到C:\Program Files (x86)\windows_exporter目录,但也可以根据需要更改安装路径。

  4.端口配置:windows_exporter默认监听9182端口,需要确保该端口未被其他应用程序占用,并且防火墙设置允许外部访问(如果需要从远程监控)。

  5.配置指标:windows_exporter默认收集一系列系统指标,但用户可能需要根据实际需求调整这些指标。

2.1 访问windows_exporter官方网站 🌐

  • 打开浏览器,访问windows_exporter的官方下载页面,通常位于Github网站的子目录下:https://github.com/prometheus-community/windows_exporter/releases

2.2 选择适合的版本🔍

  • 在下载页面,你将看到不同操作系统的windows_exporter二进制包。根据你的操作系统选择适合的版本。例如,如果你使用的是Linux 64位系统,就选择windows_exporter-x.x.x-amd64.exe(其中x.x.x是版本号)。

2.3 下载windows_exporter⬇️

  • 点击所选版本的下载链接,将windows_exporter的二进制包下载到你的本地计算机。

2.4 运行windows_exporter🚀

  • 运行windows_exporter。在windows下,你可以使用运行exe、msi文件。如果一切正常,你应该能在终端看到windows_exporter的启动日志。
# 仅启用服务收集器并指定自定义查询
.\windows_exporter.exe --collectors.enabled "service" --collector.service.services-where "Name='windows_exporter'"# 仅启用进程收集器并指定自定义查询
.\windows_exporter.exe --collectors.enabled "process" --collector.process.include="firefox.+"

三、windows_exporter指标和配置详解📖

  • 黑色:作为默认文本颜色。
  • 绿色:表示常规配置项
  • 橙色:表示具有互斥参数的配置项 / 建议开启(根据自己的场景确定需求)
  • 蓝色:不重要的配置项 / 建议不开启
  • 红色:表示关键信息和警告 / 最好开启

注意:

  • 1.相关参数配置建议仅供参考,具体要以自己生产的实际需要自行配置。
  • 2.以下配置参数介绍是基于windows_exporter-0.25.0-amd64版本说明的,其它版本会有不同。

3.1 windows_exporter的Collectors

  • ad
      收集与Active Directory相关的指标,如监控用户登录次数,帮助管理员了解用户活动的频率和模式。同时,它也跟踪失败的登录尝试,这是安全审计的重要部分,可以及时发现潜在的未经授权的访问尝试。此外,它还收集组策略错误,这些错误可能会影响用户环境或系统配置
  • adcs
      收集监控与证书服务相关的指标,如证书颁发、吊销和验证等活动的统计信息。通过持续监控这些信息,我们能够深入评估证书服务的整体健康状况和实时性能。这些详尽的数据不仅为我们提供了服务运行状态的实时反馈,还是保障服务高可用性和优越性能的重要参考。此外,利用这些监控数据,我们可以针对性地调整和优化证书服务的配置,从而进一步提升其处理效率和响应速度,确保提供稳定、高效的证书服务
  • adfs
      收集联合身份验证服务的性能指标,如令牌请求的数量、处理时间等,根据adfs的监控数据,可以优化令牌的发放策略,减少不必要的验证步骤,提高用户体验和服务响应速度
  • cache
      收集Windows系统的缓存性能,包括缓存命中率、缓存大小以及缓存中的对象数量等,通过调整缓存策略,如增加缓存大小或优化缓存替换算法,可以提高缓存命中率和系统性能
  • cpu
      收集CPU相关的性能指标。包括CPU使用时间、CPU使用率、上下文切换次数等,根据CPU的监控数据,可以优化应用程序的代码和算法,减少不必要的CPU占用
  • cpu_info
      收集关于 CPU 的详细信息,如型号、核心数、线程数等,根据CPU的详细信息,可以合理配置系统的任务调度和资源分配策略,以充分发挥CPU的性能优势
  • cs
      收集与计算机系统相关的信息,如系统启动时间、系统调用次数等,有助于了解系统的整体运行状况
  • container
      收集Windows容器相关的信息,如容器的运行状态、资源使用情况等,根据容器的监控数据,可以合理调整容器的资源配置和调度策略,以提高容器的运行效率和资源利用率
  • dfsr
      收集分布式文件系统复制的状态和性能。包括复制进度、错误计数、已复制和待复制的文件数量等,定期检查 DFS Replication 的状态,根据监控数据调整复制策略,如复制频率、带宽限制等,以优化网络资源的利用
  • dhcp
      收集与动态主机配置协议相关的数据,如DHCP 服务的运行状态、已分配的 IP 地址数量、地址池的使用情况等,监控 DHCP 服务的稳定性,确保客户端能够顺利获取 IP 地址,根据 IP 地址的分配情况,及时调整地址池的大小和范围,以满足网络扩展的需求
  • dns
      收集域名系统(DNS)的性能指标,包括DNS 查询的响应时间、解析成功率、错误率等,分析 DNS 查询的响应时间,优化 DNS 服务器的配置,提高解析速度,监控 DNS 解析的成功率和错误率,及时发现并解决潜在的问题
  • exchange
      收集与Microsoft Exchange服务器相关的指标。这包括邮件流量、用户连接数、队列长度等,监控 Exchange 服务器的性能指标,确保邮件服务的稳定性和高性能。根据监控数据调整邮件队列的大小和邮件传递的策略,以提高邮件处理的效率
  • fsrmquota
      收集和监控文件服务器资源管理器(FSRM)的配额使用情况。FSRM是Windows Server中用于管理文件服务器上的存储配额、文件屏蔽、存储报告等功能的组件。通过这个collector,可以了解配额的使用情况,防止磁盘空间被过度使用
  • hyperv (Hyper-V)
      收集与Hyper-V虚拟化技术相关的性能指标。包括虚拟机的运行状态、CPU和内存使用情况、磁盘和网络I/O等
  • iis
      收集Internet Information Services (IIS)的性能指标。可以提供关于网站访问量、请求响应时间、错误计数、带宽使用情况等数据,分析 IIS 的性能指标,优化网站的配置和部署策略,监控网站的访问量和响应时间,及时发现并解决性能瓶颈。
  • logical_disk
      收集与逻辑磁盘相关的性能指标,如磁盘空间使用率、读写速度、IOPS(每秒输入/输出操作数)等
  • logon
      收集和监控Windows系统的登录活动,包括用户登录次数、登录失败尝试等,分析登录活动的数据,及时发现异常登录行为并采取措施。根据登录失败尝试的次数和模式,调整账户锁定策略和密码策略以提高安全性
  • memory
      收集与内存使用相关的数据。包括物理内存的使用情况,如已用内存、可用内存、缓存内存等。这些数据有助于监控系统的内存使用情况,以便及时发现内存泄漏或过度使用的情况。
  • mscluster_cluster
      收集与Microsoft Cluster Service相关的集群级别的指标。提供关于集群状态、节点成员资格以及集群事件的信息,有助于确保集群的稳定性和高可用性。
  • mscluster_network
      收集与集群网络通信相关的数据。提供网络延迟、吞吐量以及网络连接状态等信息,有助于诊断网络相关的问题。
  • mscluster_node
      收集集群中各个节点的性能指标。可以提供节点的状态、负载情况以及与其他节点的通信状态等信息,有助于了解集群中各个节点的健康状况。
  • mscluster_resource
      收集集群中资源的使用情况。资源可以是物理或逻辑实体,如磁盘、IP地址等。这个collector可以提供资源的状态、依赖关系以及故障转移等信息,有助于确保资源的正确配置和高可用性。
  • msmq
      收集与Microsoft Message Queuing服务相关的性能指标。MSMQ是Windows中的一个消息队列服务,用于在应用程序之间进行异步通信。这个collector可以提供关于队列长度、消息处理速度以及错误计数等信息,有助于确保消息传递的可靠性和性能
  • mssql
      收集与Microsoft SQL Server相关的性能指标。包括查询响应时间、数据库大小、事务处理速度等。通过这些数据,可以监控数据库的性能和健康状况,及时发现并解决潜在的问题
  • netframework_clrexceptions
      收集.NET Framework中的公共语言运行时(CLR)异常信息,提供关于应用程序中发生的异常类型、数量和频率的数据
  • netframework_clrinterop
      收集与CLR互操作性(Interop)相关的数据。包括与COM对象、平台调用(P/Invoke)等相关的指标。有助于了解.NET应用程序与外部系统或组件的交互情况
  • netframework_clrjit
      收集关于CLR的即时编译器(JIT)的信息,JIT负责将中间语言(MSIL)代码编译成本机代码以提高执行效率,Collector可以提供关于JIT编译活动的数据,如编译次数、编译时间等
  • netframework_clrloading
      收集CLR的加载器活动,包括程序集、类和方法的加载与卸载。有助于了解应用程序的启动性能、内存占用和动态行为
  • netframework_clrlocksandthreads
      收集关于CLR中的锁和线程的信息。可以提供线程创建、销毁、同步和锁争用等方面的数据。对于分析和优化多线程.NET应用程序的性能至关重要
  • netframework_clrmemory
      收集CLR的内存使用情况,包括堆内存、垃圾回收等。有助于发现和预防内存泄漏、优化垃圾回收策略等
  • netframework_clrremoting
      收集关于CLR远程处理(Remoting)的信息。Remoting是.NET中用于在不同进程或机器之间进行通信的技术。这个Collector可以提供关于远程对象调用、通道和端点的数据
  • netframework_clrsecurity
      收集CLR的安全相关信息,如代码访问安全性(CAS)策略的执行等。有助于确保.NET应用程序的安全性,并发现和预防潜在的安全风险
  • net
      负责收集与网络相关的指标,监控当前活动的网络连接状态、网络流量、TCP/UDP统计,包括本地和远程地址、连接状态,跟踪网络接口的入站和出站流量,有助于识别网络瓶颈,提供TCP和UDP连接的各种统计信息,如重传次数、连接时间等
  • os
      收集操作系统层面的指标,如CPU使用率、内存占用、磁盘空间使用情况等。评估系统整体性能和健康状况的基础指标
  • process
      收集运行中的进程信息,包括进程数、CPU和内存占用等。有助于识别资源消耗过大的进程或潜在的异常进程
  • remote_fx
      收集与RemoteFX相关的性能指标,如GPU使用情况、压缩效率等
  • scheduled_task
      收集Windows计划任务的状态和执行情况。有助于确保计划任务按时执行,以及监控任务执行过程中的任何异常
  • service
      收集Windows服务的信息,包括服务的状态(运行、停止等)和性能数据。确保系统服务的稳定性和可用性至关重要
  • smb
      收集与Server Message Block(SMB)协议相关的数据,该协议用于Windows系统中的文件和打印服务
  • smtp
      收集Windows系统上SMTP服务的状态和性能,监控SMTP服务的运行状态,包括服务的可用性、邮件发送和接收的成功率以及任何错误或异常。通过这些指标,管理员可以确保邮件服务的稳定性和性能,并及时解决任何出现的问题
  • system
      提供关于系统整体状态的综合信息,可能包括启动时间、系统资源使用情况等
  • tcp
      收集与TCP连接相关的统计信息,如连接数、错误计数等
  • teradici_pcoip
      收集与Teradici PCoIP协议相关的信息。PCoIP是一种专为远程桌面传输设计的协议,常用于虚拟机或远程工作场景中
  • time
      收集与时间相关的系统信息。提供当前系统时间、时区设置以及可能的时间同步状态等。
  • thermalzone
      监控系统的热区或温度传感器数据,可能包括CPU、GPU或其他硬件的温度读数,有助于预防过热和硬件损坏
  • terminal_services
      收集与终端服务(如远程桌面服务)相关的数据,包括活动会话数、用户登录信息等,有助于了解远程访问的使用情况和性能
  • textfile
      允许用户通过文本文件提供自定义指标,读取指定文本文件中的指标数据,并将其作为Prometheus指标暴露出来
  • vmware_blast
      收集与VMware Blast协议相关的信息。VMware Blast是一种用于优化远程桌面和应用程序传输的协议,可能包括连接状态、性能指标等,有助于监控和优化VMware环境中的远程访问体验
  • vmware
      收集与VMware虚拟化环境相关的信息,涵盖虚拟机状态、资源使用情况、性能数据等

3.2 windows_exporter.exe

  • –web.listen-address
      用于设置windows_exporter监听的地址和端口。例如,0.0.0.0:9182表示监听所有网络接口的第9182端口。
  • –telemetry.path
      用于设置暴露给Prometheus的metrics的路径。默认情况下,这通常是/metrics。如果你需要改变这个路径,可以使用这个参数。
  • –telemetry.max-requests
      设置同时处理的最大HTTP请求数量。这有助于控制windows_exporter的并发处理能力,避免过载。
  • –collectors.enabled
      通过这个参数,你可以指定哪些收集器(collectors)是启用的。收集器负责从不同的Windows性能计数器或其他源收集数据。你可以列出你想要启用的收集器,用逗号分隔。
  • –collectors.print
      如果设置为true,这个选项会在启动时将所有可用的收集器打印到控制台。这有助于了解哪些收集器是可用的,并帮助你配置–collectors.enabled参数。
  • –scrape.timeout-margin
      设置在Prometheus抓取数据时的额外超时时间。这可以确保在Prometheus的抓取超时之前,windows_exporter有足够的时间来收集和准备数据。
  • –web.config.file
      指定一个包含Web服务器配置的文件路径。这可以让你自定义Web服务器的行为,比如TLS设置等。
  • –config.file
      指定一个配置文件,其中可以定义各种收集器的配置。这允许你更细粒度地控制哪些性能计数器被收集,以及如何收集。
  • –config.file.insecure-skip-verify
      如果配置文件是通过HTTPS获取的,并且服务器使用的是自签名证书,将此选项设置为true将跳过SSL证书的验证。这通常不推荐,因为它降低了安全性,但在某些测试环境中可能是必要的。

四、实战演练:生产环境搭建指南🔨

4.1 创建config.yml文件

  • 可以使用 YAML 配置文件启动collector,创建一个config.yml文件
collectors:enabled: cpu,cs,net,service
collector:service:services-where: "Name='windows_exporter'"
log:level: warn

4.2 将windows_exporter集成到Prometheus配置中✂️

  将windows_exporter集成到Prometheus配置中,确保数据能够正常采集。编辑Prometheus的配置文件(通常是prometheus.yml),在scrape_configs部分添加windows_exporter的配置。告诉Prometheus将采集localhost:9182的数据。

scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "windows_exporter"static_configs:- targets: ["localhost:9182"]

4.3 启动windows_exporter.service🔌

  • 将 [defaults] 与 - -collectors.enabled参数一起使用,会随所有默认收集器一起扩展
.\windows_exporter.exe --config.file="config.yml" --collectors.enabled "[defaults],process,container"

4.4 查看服务是否正常启动🔍

  • 浏览器访问127.0.0.1:9182/metrics可获取到metrics数据
    在这里插入图片描述

相关资料下载地址📚

  • 官方文档:https://prometheus.io/docs/introduction/overview/
  • 下载地址:https://github.com/prometheus/prometheus/releases/tag/v2.52.0
  • 文档地址:https://prometheus.io/docs/prometheus/latest/installation/
  • 离线包下载链接:https://pan.baidu.com/s/1ANF_AlFnM5_FMIbKBuzBmg 提取码:yqpt

这篇关于【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022835

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置