介绍

Prometheus 是2012年由 SoundCloud 开源的系统监控和报警工具集,在 《Google SRE 运维解密》一书中也提到与Google内部的Borgmon思想一致。使用 Go 语言开发,适用于各个平台。

安装

[root@bj1eccap01 ~]# tar -xvzf prometheus-2.2.1.linux-amd64.tar.gz
[root@bj1eccap01 ~]# cd prometheus-2.2.1.linux-amd64
[root@bj1eccap01 prometheus-2.2.1.linux-amd64]# ./prometheus --help
usage: prometheus [<flags>]

配置

安装包下有一个默认的配置文件,是 YAML 格式,默认配置文件包括三个分区:globalrule_filesscrape_configs

global控制 Prometheus 服务器的全局配置。scrape_interval 决定数据抓取的间隔。evaluation_interval 决定数据计算的间隔,Prometheus会根据rule_file来产生新的时间序列值。

rule_files决定规则文件的保存路径。

scrape_config决定Prometheus监控的资源。Prometheus通过HTTP暴露自己的数据,因此也可以监控自己的健康状况。

启动

启动非常简单

[root@bj1eccap01 prometheus-2.2.1.linux-amd64]# ./prometheus --config.file=prometheus.yml

这之后就可以通过浏览查看服务的运行状况了,打开浏览器输入 http://localhost:9090/graph

Prometheus 初体验-LMLPHP

Prometheus 提供了两种方式查看指标 graph 模式可以直接看到指标曲线,metrics 则看到原始的监控数据。通过切换到 console 界面可以看到。

Prometheus 初体验-LMLPHP

Prometheus 初体验-LMLPHP

node_exporter 安装

node_exporter 用来收集服务器的监控信息,目前稳定版本为1.15.2。node_exporter 默认使用 9100 端口监听,Prometheus 会从 node_exporter 中获取信息。

[root@bj1eccap01 ~]# tar -xzvf node_exporter-0.15.2.linux-amd64.tar.gz
[root@bj1eccap01 ~]# cd node_exporter-0.15.2.linux-amd64
[root@bj1eccap01 node_exporter-0.15.2.linux-amd64]# ./node_exporter

Prometheus 初体验-LMLPHP

运算与统计

Prometheus 提供了一套查询语言,支持运算以及一些常用的统计运算。

运算符号

Prometheus 支持如下运算符。

+加法
-减法
*相乘
/相除
%取摸运算
==相等
!=不相等
>大于
<小于
>=大于或等于
<=小于或等于
and逻辑和
or逻辑或
unless除非,取补集

统计函数

sum求和
min求最小值
max求最大值
avg取平均值
stddev计算标准差
stdvar
count计算总数
count_values计算相同值的数量
bottomk最小的k个元素
topk最大的k个元素
quantile

本文为作者原创,如果您觉得本文对您有帮助,请随意打赏,您的支持将鼓励我继续创作。

Prometheus 初体验-LMLPHP

参考资料:

1、Prometheus

2、Prometheus First Step

3、Prometheus 入门尝试

04-27 23:33