一 简介
Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包。从2012年开始,许多公司和组织开始使用Prometheus。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个独立的开源项目,且不依赖与任何公司。不一定会使用此系统,但可以吸收优秀开源框架的优点。下面记录Prometheus的入门案例
二 监控自身的Demo案例
下面记录Prometheus的安装配置和使用
1 下载和运行Prometheus
在下载地址选择对应版本,然后解压
1 | tar xvfz prometheus-*.tar.gz |
下载例:
2 配置监控Prometheus服务本身
Prometheus需要通过Http请求的方式拉取目标机器上的度量指标。prometheus服务本身也暴露自己运行产生的数据,可以抓取和监控自己的健康状况
修改配置文件prometheus.yml如下
1 | global: |
3 启动
运行下面命令:
1 | ./prometheus --config.file=prometheus.yml --web.listen-address=:9091 & |
可以看到启动成功,服务监听9091端口
访问对应端口可以看到服务正在运行
访问地址/metrics
可以看到服务正在提供自身指标
三 使用expression browser
访问地址/graph
使用Prometheus内置的浏览器查看服务本身的数据
输入promhttp_metric_handler_requests_total
并选择table选项卡查看Prometheus处理的请求记录
1 | promhttp_metric_handler_requests_total |
返回了三个series,每个series由不同的标签区分,代表了不同的请求状态
如果我们只对特定的 HTTP 代码的请求感兴趣,我们可以使用下面查询来检索该信息
1 | promhttp_metric_handler_requests_total{code="200"} |
要计算返回的series的数量,使用下面的查询
1 | count(promhttp_metric_handler_requests_total) |
四 使用图形界面
若要绘制图形界面选择Graph选项卡
例如,输入以下表达式以绘制抓取自Prometheus服务中,发生的返回状态代码为200的每秒HTTP请求速率