注:以下所有环境均为mac笔记本

一、安装prometheus

 

 

brew install prometheus
  • 1.

 

安装完后,默认的安装路径为:

 /opt/homebrew/Cellar/prometheus/2.16.0/

 

/usr/local/Cellar/prometheus/2.16.0/
  • 1.

 

同时还会生成一个默认配置文件:/usr/local/etc/prometheus.yml

 

 /opt/homebrew/etc/prometheus.yml

 

 

global:
scrape_interval: 15s

scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

 

 进入安装路径后,输入以下命令:

 

./prometheus --config.file =/opt/homebrew/etc/prometheus.yml

 

./prometheus --config.file=/usr/local/etc/prometheus.yml
 
 
  • 1.

 

顺利的话,应该能正常启动,然后浏览器输入 http://localhost:9090

prometheus学习笔记(1)-mac单机版环境搭建_grafana_02

菜单切换到status,还能看到一些关键参数,比如数据默认保存天数:(默认15天)

prometheus学习笔记(1)-mac单机版环境搭建_数据源_03

 

二、安装grafana

要展示各种漂亮的图表,就得借助grafana,仍用brew安装

 

 

brew install grafana
  • 1.

 

默认安装路径:

 

 

/usr/local/Cellar/grafana/6.7.0
  • 1.

 

启动:

 

 

grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana --packaging=brew cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins
  • 1.

 

启动完成后,浏览http://localhost:3000/进入首页(注:如需修改默认端口,可修改/usr/local/etc/grafana/grafana.ini 这个文件),默认用户名/密码,都是admin,使用前必须更改密码

grafana只是一个图表展示工具,必须添加数据源,才能读取到数据,参考下图:

prometheus学习笔记(1)-mac单机版环境搭建_数据源_04

选择prometheus数据源,指定URL地址,然后保存即可

prometheus学习笔记(1)-mac单机版环境搭建_javascript_05

 

三、安装pushgateway

从官网​ ​https://prometheus.io/download/​​ 下载​ ​pushgateway-1.2.0.darwin-amd64.tar.gz​

解压到本地运行

 

 

./pushgateway
  • 1.

 

启动正常的话,浏览http://localhost:9091 可以看到

prometheus学习笔记(1)-mac单机版环境搭建_prometheus_06

 为什么要安装这个玩意儿,看下面的示意图(从网上淘的):

prometheus学习笔记(1)-mac单机版环境搭建_数据_07

 

客户端(不管是写代码,还是直接终端敲命令行)把数据push到网关(pushgateway),然后prometheus从网关pull数据。

安装好之后,还要修改/usr/local/etc/prometheus.yml 不然prometheus感知不到网关的存在

 

 

global:
scrape_interval: 15s

scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
# 加入下面这几行
- job_name: "push-metrics"
static_configs:
- targets: ["localhost:9091"]
honor_labels: true
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

 

加入最后这几行即可,改完后最好把prometheus重启一下,以便让配置文件生效。 

接下来测试数据写入:先准备1个文件data.txt

 

 

blog_visit_total{blogid="12345",domain="yjmyzz.cnblogs.com",clientip="10.0.1.1"} 20
blog_visit_total{blogid="34567",domain="yjmyzz.cnblogs.com",clientip="10.0.1.2"} 30
blog_visit_total{blogid="56789",domain="yjmyzz.cnblogs.com",clientip="10.0.1.3"} 40
  • 1.
  • 2.
  • 3.

 

解释一下,blog_visit_total相当于指标名称,{ }里面的东西,相当于tag,可以根据tag在查询时过滤,最后的20、30、40相当于具体的指标值。

命令行下,输入:

 

 

curl -XPOST --data-binary @/Users/jimmy/Downloads/data.txt http://localhost:9091/metrics/job/cnblogs
  • 1.

 

就把这3行数据push到网关了,注意下格式:http://localhost:9091/metrics/job/cnblogs 红色的部分,这是job名称,大家可以根据需要自己修改。

此时再到http://localhost:9091查看一下,应该能看到刚push的数据:

prometheus学习笔记(1)-mac单机版环境搭建_数据源_08

感兴趣的同学,还可以看下http://localhost:9090 ,这时候prometheus里也能感知刚添加的数据 

prometheus学习笔记(1)-mac单机版环境搭建_数据_09

prometheus底层存储是一个时序数据库,上面的curl命令,可以多跑几次,相当于持续在向时序数据库时添加记录,后面会用到。

 

四、配置grafana

到目前为止,grafana好象一直在打酱油,没派上用场,该它发挥点作用了。

4.1 新建dashboard

prometheus学习笔记(1)-mac单机版环境搭建_数据源_10

参考上图,新建1个dashboard,然后随便起个名字(上图中我已经创建了一个名为“菩提树下的杨过”的dashboard),命名的地方,在settings里(如下)

prometheus学习笔记(1)-mac单机版环境搭建_数据源_11

4.2 添加图表 

接下来,添加一个查询(Add Query)

prometheus学习笔记(1)-mac单机版环境搭建_数据_12

参考下图,将刚才的指标blog_visit_total添加进来(还可以用sum/max/min/avg这类聚合函数处理)

prometheus学习笔记(1)-mac单机版环境搭建_grafana_13

 图表名称可以参考下图设置:

prometheus学习笔记(1)-mac单机版环境搭建_prometheus_14

最后保存,这样一个基本的prometheus监控系统(单机环境)就搭建完成了。

 

参考文章:

 ​https://prometheus.io/docs/practices/pushing/​

 ​https://prometheus.io/download/​

 ​https://prometheus.io/docs/introduction/overview/​

 ​https://www.liuyixiang.com/post/96100.html​

​javascript:void(0)​