四、 Prometheus:使用Exporter监控Windows和Linux以及配置加密认证
创始人
2025-05-30 06:15:53

在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

为了采集主机的监控样本数据,在主机上安装了一个Node Exporter程序,该程序对外暴露了一个用于获取当前监控样本数据的HTTP访问地址。这样的一个程序称为Exporter,Exporter的实例称为一个Target。Prometheus通过轮询的方式定时从这些Target中获取监控数据样本,并且存储在数据库当中。

Exporter可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。

也可以实现自定义的Exporter程序,符合标准即可。广义上讲所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个实例称为target,如下所示,Prometheus通过轮询的方式定期从这些target中获取样本数据:

Exporter来源

Exporter来源:社区提供和用户自定义

node_exporter监控Linux 、mysqld_exporter监控MySQL、 windows_exporter监控windows,其他exporter可以访问EXPORTERS AND INTEGRATIONS:Exporters and integrations | Prometheus

  • 社区提供

Prometheus社区提供了丰富的Exporter实现,涵盖了从基础设施,中间件以及网络等各个方面的监控功能。这些Exporter可以实现大部分通用的监控需求。下表列举一些社区中常用的Exporter:

范围

常用Exporter

数据库

MySQL Exporter, Redis Exporter, MongoDB Exporter, MSSQL Exporter等

硬件

Apcupsd Exporter,IoT Edison Exporter, IPMI Exporter, Node Exporter等

消息队列

Beanstalkd Exporter, Kafka Exporter, NSQ Exporter, RabbitMQ Exporter等

存储

Ceph Exporter, Gluster Exporter, HDFS Exporter, ScaleIO Exporter等

HTTP服务

Apache Exporter, HAProxy Exporter, Nginx Exporter等

API服务

AWS ECS Exporter, Docker Cloud Exporter, Docker Hub Exporter, GitHub Exporter等

日志

Fluentd Exporter, Grok Exporter等

监控系统

Collectd Exporter, Graphite Exporter, InfluxDB Exporter, Nagios Exporter, SNMP Exporter等

其它

Blockbox Exporter, JIRA Exporter, Jenkins Exporter, Confluence Exporter等

  • 用户自定义

除了直接使用社区提供的Exporter程序以外,还可以基于Prometheus提供的Client Library创建自己的Exporter程序,目前Promthues社区官方提供了对以下编程语言的支持:Go、Java/Scala、Python、Ruby。同时还有第三方实现的如:Bash、C++、Common Lisp、Erlang,、Haskeel、Lua、Node.js、PHP、Rust等。

Exporter的运行方式

从Exporter的运行方式上来讲,可以分为:

  • 独立使用

以已经使用过的Node Exporter为例,由于操作系统本身并不直接支持Prometheus,同时用户也无法通过直接从操作系统层面上提供对Prometheus的支持。因此,用户只能通过独立运行一个程序的方式,通过操作系统提供的相关接口,将系统的运行状态数据转换为可供Prometheus读取的监控数据。 除了Node Exporter以外,比如MySQL Exporter、Redis Exporter等都是通过这种方式实现的。 这些Exporter程序扮演了一个中间代理人的角色。

  • 集成到应用中

为了能够更好的监控系统的内部运行状态,有些开源项目如Kubernetes,ETCD等直接在代码中使用了Prometheus的Client Library,提供了对Prometheus的直接支持。这种方式打破的监控的界限,让应用程序可以直接将内部的运行状态暴露给Prometheus,适合于一些需要更多自定义监控指标需求的项目。

Windows Exporter

Windows Exporter 由 Prometheus Community 维护,官方地址是:https://github.com/prometheus-community/windows_exporter。是一个采集 Windows 机器指标的采集器。支持 Windows Server 2008R2 以上版本或者 Windows 7 以上版本。Windows Exporter 在发布的是时候提供了两种格式的文件,分别是 *.exe 和 *.msi 。

Windows Exporter 每个版本都提供一个 .msi 安装程序。安装程序将 windows_exporter 设置为 Windows 服务,并在 Windows 防火墙中创建一个异常。在使用的时候可以选择任意一种格式来进行安装。

下载

下载地址:Releases · prometheus-community/windows_exporter · GitHub

https://download.csdn.net/download/zhouruifu2015/87579035

安装

查看服务

 

访问Windows Exporter监控指标

windows_exporter默认端口是9182,在浏览器输入:localhost:9182即可访问。

这个列表是 Windows Exporter 支持采集的指标,有一些指标是启动后缺省会打开的,有一些是需要手动打开,具体参考:https://github.com/prometheus-community/windows_exporter

使用配置文件启动Exporter,Windows Exporter 支持使用 --config.file 参数来指定一个 YAML 格式的文件作为配置文件来启动,比如: .\windows_exporter.exe --config.file=config.yml .这个配置文件支持配置要采集的内容,日志、等内容。

scrape_configs配置windows exporter

重启prometheus即可查看已经配置好的exporter

重启后

Node Exporter

下载地址https://github.com/prometheus/node_exporter/releases

https://download.csdn.net/download/zhouruifu2015/87579035

为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。可以使用Node Exporter。Node Exporter同样采用Golang编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。可以从Download | Prometheus获取最新的node exporter版本的二进制包。

解压到目录:/usr/local/bin/

服务配置脚本

cat >> /etc/rc.d/init.d/node_exporter <$LOGFILE &"echo $(pidofproc $PROGNAME) >$LOCKFILEecho
}stop() {echo -n "Shutting down $PROGNAME: "killproc $PROGNAMErm -f $LOCKFILEecho
}case "$1" instart)start;;stop)stop;;status)status $PROGNAME;;restart)stopstart;;reload)echo "Sending SIGHUP to $PROGNAME"kill -SIGHUP $(pidofproc $PROGNAME)#!/bin/bash;;*)echo "Usage: service node_exporter {start|stop|status|reload|restart}"exit 1;;
esac
EOF

添加可执行权限:chmod +x node_exporter

运行node exporter

service node_exporter start

绑定端口的方式启动,一个机器上可以运行多个node_exporter

./node_exporter --web.listen-address 127.0.0.1:9100

./node_exporter --web.listen-address 127.0.0.1:9200

./node_exporter --web.listen-address 127.0.0.1:10000

启动成功后,查看端口

netstat -anplt|grep 9100

访问Node Exporter可以看到以下页面

多个node_exporter的状态

如果访问不了页面,查看主机防火墙是否关闭

初始Node Exporter监控指标

 

访问http://localhost:9100/metrics,可以看到当前node exporter获取到的当前主机的所有监控数据,如下所示:

每一个监控指标之前都会有一段类似于如下形式的信息:

# HELP node_cpu Seconds the cpus spent in each mode.
# TYPE node_cpu counter
node_cpu{cpu="cpu0",mode="idle"} 362812.7890625
# HELP node_load1 1m load average.
# TYPE node_load1 gauge
node_load1 3.0703125

其中HELP用于解释当前指标的含义,TYPE则说明当前指标的数据类型。在上面的例子中node_cpu的注释表明当前指标是cpu0上idle进程占用CPU的总时间,CPU占用时间是一个只增不减的度量指标,从类型中也可以看出node_cpu的数据类型是计数器(counter),与该指标的实际含义一致。又例如node_load1该指标反映了当前主机在最近一分钟以内的负载情况,系统的负载情况会随系统资源的使用而变化,因此node_load1反映的是当前状态,数据可能增加也可能减少,从注释中可以看出当前指标类型为仪表盘(gauge),与指标反映的实际含义一致。

部分监控指标:

  • node_boot_time:系统启动时间
  • node_cpu:系统CPU使用量
  • nodedisk*:磁盘IO
  • nodefilesystem*:文件系统用量
  • node_load1:系统负载
  • nodememeory*:内存使用量
  • nodenetwork*:网络带宽
  • node_time:当前系统时间
  • go_*:node exporter中go相关指标
  • process_*:node exporter自身进程相关运行指标

scrape_configs配置node exporter

为了能够让Prometheus Server能够从当前node exporter获取到监控数据,这里需要修改Prometheus配置文件。编辑prometheus.yml并在scrape_configs节点下添加以下内容:

绑定完后访问Prometheus web服务

 

其中“1”表示正常,反之“0”则为异常。

Prometheus 对 Node_Exporter TLS加密认证

在 Promethues 的监控体系中,社区中一直存在的一个观点是,Metrics 不包含过于私密的信息。所以可以看到大多数的 /metrics 接口都是直接暴露出来的,没什么特别的安全措施。但随着 Prometheus 在生产中的大量应用,安全问题变得更加重要。

为 Prometheus 与监控目标之间的连接启用 TLS。但由于各类 exporter 并不原生支持 TLS 连接,所以通常情况下会选择配合反向代理来完成。这种方式能满足需求,但未免复杂了些。近期 Prometheus 对其安全模型做了修改,从Node Exporter开始到后续其他的组件,都将支持 TLS 和 basic auth, 同时也列出了最新的安全基准(默认情况下都支持 TLS v1.2 及以上)

  • 修改下prometheus.yml配置文件
- job_name: 'node_exporter'basic_auth:username: adminpassword: ******************scheme: httpstls_config:ca_file: node_exporter.crtinsecure_skip_verify: true  # 跳过不安全认证file_sd_configs:
- files
- ‘targets.json’static_configs:- targets: ['localhost:9090']

相关内容

热门资讯

三大猪企5月生猪销量销售收入环... 三大上市猪企牧原股份(002714.SZ)、新希望(000876.SZ)、温氏股份(300498.S...
合资车复苏战,始于脱下长衫!5... 合资车的长衫“长衫”一词,从中小学课文《孔乙己》开始,就被赋予了特殊的含义。它既是过去荣誉的象征,也...
新高!债券ETF,总规模突破3... 截至6月6日,债券ETF的总管理规模首次突破3000亿元,再创历史新高。 数据显示,截至6月6日,债...
比亚迪回应“常压油箱”及“车圈... 红星资本局6月8日消息,今日,比亚迪(002594.SZ)集团品牌及公关处总经理李云飞发文回应“常压...
投后期又香了 投后期又香了 投... 投资后期的资金开始活跃了。一切从港股IPO火热说起。2025年以来,香港新股集资额超过760亿港元,...
从26亿美元出海神话到债务泥潭... 还有机会“上岸”吗?现金流紧张的荣昌生物终于又融到了钱。近期港股市场创新药板块人气回暖,港股通创新药...
高瑞东:非农数据高于预期,美联... 高瑞东 周欣平(高瑞东 系光大证券首席经济学家、中国首席经济学家论坛理事)核心观点事件:2025年6...
熊园:美国经济将迎来至关重要的... 熊园 刘新宇(熊园 系国盛证券首席经济学家、中国首席经济学家论坛理事)事件:北京时间6月6日20:3...
V观财报|五粮液:未来将根据市... 【V观财报|五粮液:未来将根据市场情况,加快年轻化产品开发】五粮液在投资者互动平台回复提问表示,公司...
V观财报|中颖电子:控股股东筹... 【V观财报|中颖电子:控股股东筹划公司控制权变更事项】中颖电子公告,控股股东威朗国际正在筹划公司控制...
原创 美... 近年来,美国政界的“反华”姿态愈发明显,且日益公开化。仅在短短几天内,美国就有四位部长级官员公开表态...
以金融素养普及为使命,树帆教育... 近年来,伴随我国经济持续健康发展,居民财富不断增长,投资理财需求日益增强。与此同时,居民整体金融素养...
陶冬:从关税战移向税制改革 陶... 陶冬 系淡水泉(香港)总裁兼首席经济学家、中国首席经济学家论坛理事特朗普减税法案在众议院通过、中美首...
潘向东:美国回归制造业,会否是... 潘向东 系启铼研究院首席经济学家 中国首席经济学家论坛理事(该文是潘向东博士5月份在“世纪名家讲坛”...
空缺两年,中国田协迎来新主席 6月5日,中国田径协会第十届执委会八次会议在京召开。 会议表决通过了协会第十届负责人、法定代表人调整...
披上“鲜切”马甲,潮汕鸡煲翻红... 总第4240期作者 |餐饮老板内参内参君经典潮汕鸡煲换个名字走红了继牛肉鲜切火锅走红后,这段时间,年...
十倍牛股,大方向 十倍牛股,大... 最近中国资本市场表现温和,A股如今是步步为营、稳扎稳打的上攻节奏,牛市慢而持久。这样的牛市才是我们欢...
李樱,已履新 李樱,已履新 丹... 中国华能集团有限公司网站“公司领导”一栏最新信息显示,李樱已任中国华能集团有限公司总会计师、党组成员...
标普500时隔四个月重返600... 在美国经济面临诸多不确定性考验的背景下,稳健的非农数据成为了上周美股延续反弹的主要推手,并再次提振风...
这家上市公司公告:增资180万... 一笔仅180万元的增资,可能让麦趣尔(002719)的净利润增加超2000万元。 麦趣尔近日披露,其...
A股延续弱反弹格局,下半年行情... 作者|丁卯编辑|郑怀舟封面来源|视觉中国本周,受端午节假期影响,周内仅4个交易日。市场在内外部因素共...
农银行业成长混合近一周上涨1.... 金融界2025年6月8日消息,农银行业成长混合(660001) 最新净值2.5731元,该基金近一周...
逆势大涨!这些板块迎来“结构牛... 今日A股与港股市场同步呈现窄幅震荡格局,市场情绪趋于谨慎。 A股三大指数全天窄幅震荡,上证指数微涨0...
前5月达成率仅23%,岚图汽车... 文丨顾小白编辑丨杜海来源丨正经社(ID:zhengjingshe)(本文约为1200字)【正经社“汽...
李樱,已履新 李樱,已履新 李... 中国华能集团有限公司网站“公司领导”一栏最新信息显示,李樱已任中国华能集团有限公司总会计师、党组成员...
2025小红书教育营销答案之书 2025小红书教育营销答案之书 报告共计:18页 《2025小红书教育营销答案之书》指出,小红书正重...
央企控股上市公司密集发声 央企... 今年以来,国务院国资委多次部署提高央企控股上市公司质量,加强市值管理,传递信心、稳定预期。近期多家央...
本周外盘看点丨中美将举行经贸磋... 上周国际市场风云变幻,欧央行继续降息,美国总统特朗普与特斯拉CEO马斯克隔空喊话震惊市场。上周美股全...
一条视频涨粉2000万,韦神凭... 韦东奕为何要开抖音号?01 三句话,涨粉2000万好家伙,还得是韦神。韦东奕最近在抖音上再次创造了一...
新质生产力培育见效 资本市场向... 图虫创意/供图 证券时报记者 陈见南 在2025年《政府工作报告》中,“新质生产力”被赋予核心地位...