Prometheus 实时监控 Windows性能
Prometheus 简介
Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有一个非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,可以独立于任何公司进行维护。为了强调这一点,并澄清项目的治理结构,Prometheus 于2016年加入 云计算本地计算基金会,作为继Kubernetes之后的第二个托管项目。
Prometheus 具有以下特点
- 具有由度量名称和键/值对标识的时间序列数据的多维数据模型
- 一个灵活的查询语言 来利用这一维度
- 不依赖分布式存储; 单个服务器节点是自治的
- 时间序列集合通过HTTP上的拉模型发生
- 推送时间序列通过中间网关支持
- 通过服务发现或静态配置发现目标
- 多种图形和仪表板支持模式
Prometheus 组件
- 主要的Prometheus服务器,用于存储时间序列数据
- 用于检测应用程序代码的客户端库
- 用于支持短期工作的推送网关
- HAProxy,StatsD,Graphite等服务的特殊用途出口商
- 一个alertmanager处理警报
- 各种支持工具
Prometheus功能特性
在业务层用作埋点系统
Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。
在应用层用作应用监控系统
一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql。
在系统层用作系统监控
除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。
集成其他的监控
prometheus还可以通过各种exporte,集成其他的监控系统,收集监控数据,如AWS CloudWatch,JMX,Pingdom等等
Prometheus官方架构图
下载Windows采集器(wmi_exporter)
下载地址:https://github.com/martinlindhe/wmi_exporter/releases/download/v0.3.3/wmi_exporter-0.3.3-amd64.msi
Windows默认9182端口。直接双击安装即可。
访问http://IP:9182/metrics;显示以下数据说明数据采集器安装成功
下载Prometheus安装包(Windows版本)
地址:https://prometheus.io/download/
- Prometheus配置:prometheus.yml配置文件请求获取exporter采集器数据;
- job_name: '工作名'
static_configs:
scrape_interval:5s
- targets: ['IP:9182']
- 将默认端口9090改为8091访问并启动
prometheus.exe --config.file=prometheus.yml --web.listen-address=:8091 &
- 启动后 ,访问:http://localhost:8091/
能够访问,说明安装并启动成功。
选择Status下的Targets
页面State字段显示up,说明prometheus已经成功的pull数据。
grafana配置Prometheus数据库
保存后测试连接是否成功。
搭建Prometheus仪表盘
参考资源
-
Prometheus 概念等请参阅:Prometheus 官方文档
-
WMI_exporter安装请参考 :WMI_exporter
-
Grafana 安装等请查阅: Grafana 官方文档