目录
Prometheus 是一个开源的服务监控系统和时间序列数据库,是一款开源系统监控和警报工具,在测试领域中,我们可以使用Promethues来监控压力测试时服务端的性能。
Prometheus简介
Prometheus使用Go语言开发,是最初在SoundCloud上构建的开源系统监控和警报工具,在2016年加入了Cloud Native Computing Foundation(CNCF)基金会,是继Kubernetes之后该基金会的第二个托管项目。
主要特性
-
多维数据模型,由指标名称和键值对标识的时间序列数据度量
-
PromQL查询语言
-
不依赖分布式存储;单个服务器节点是自治的
-
通过HTTP使用pull模式收集时间序列数据
-
支持通过中间网关推送时间序列数据
-
通过服务发现或静态配置发现目标对象
-
支持多种图形和仪表盘
组成
Prometheus由多个组件组成:
- Prometheus主服务器:用于抓取并存储时间序列数据
- 客户端库:用于检测应用程序代码
- 推送网关:支持短生命周期
- 各种exporter:HAProxy,StatsD,Graphite等服务收集服务器性能数据
- 警告管理器
- 各种支持工具
架构
Prometheus + Grafana 监控系统性能
主要用到了Prometheus,node exporter和Grafana,Prometheus和node exporter收集保存服务器性能数据,Grafana用于图形化展示数据。
docker安装Prometheus
docker hub地址:https://hub.docker.com/r/prom/prometheus
docker安装:
$ docker pull prom/prometheus:latest
配置prometheus.yml文件
参考:https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus.yml
新建/root/prometheus/prometheus.yml文件:
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.