一、概述
是的一个组件,默认是通过主动获取数据(默认采取pull拉取数据),则是通过exporter主动方式推送数据到,再由主动去拉取 Pushgateway数据,用户可以写一些自定义的监控脚本把需要监控的数据发送给Pushgateway。从角度看,都是由主动去拉取各个数据源(例:Exporter和Pushgateway)的数据。
1、Pushgateway优点:
Prometheus 默认采用定时pull 模式拉取targets数据,但是如果不在一个子网或者防火墙,prometheus就拉取不到targets数据,所以可以采用各个target往pushgateway上push数据,然后prometheus去pushgateway上定时pull数据。
在监控业务数据的时候,需要将不同数据汇总, 汇总之后的数据可以由pushgateway统一收集,然后由 Prometheus 统一拉取,起到给Prometheus 减压的作用。
自定义采集指标简单。
2、Pushgateway缺点:
Prometheus拉取状态只针对 pushgateway, 不能对每个节点都有效。
Pushgateway出现问题,整个采集到的数据都会出现问题。
Pushgateway 可以持久化推送给它的所有监控数据。因此,即使你的监控已经下线,prometheus 还会拉取到旧的监控数据,需要手动清理 pushgateway 不要的数据。
官方文档:https://prometheus.io/docs/prometheus/
Prometheus GitHub地址:https://github.com/prometheus/prometheus/
Pushgetway GitHub地址:https://github.com/prometheus/pushgateway/
二、Pushgateway 架构
Pushgateway就是个数据中转站。提供API,支持数据生产者随时将数据推送过来。
提供exporter功能,在拉取数据时,将自己保存的数据反馈给端。
三、Prometheus server 安装
Prometheus基于Golang编写,编译后的软件包,不依赖于任何的第三方依赖。用户只需要下载对应平台的二进制包,解压并且添加基本的配置即可正常启Prometheus Server。
1)下载
下载地址:https://prometheus.io/download/
2)配置
解压后当前目录会包含默认的Prometheus配置文件,下面配置文件做下简略的解析:
3)启动服务
配置 启动脚本
启动服务
web访问:
四、Pushgateway 安装
1)下载
下载地址:https://prometheus.io/download/#pushgateway
2)启动服务
默认监听的是端口。可以通过以下配置进行更改:
配置 启动脚本
启动服务
web访问:
3)接入Prometheus
更改prometheus配置文件,增加如下内容:
重启Prometheus服务,或进行热加载
再查看prometheus web界面:
五、实战操作演示
1)推送数据定义
1、推送路径的URL部分定义为
其中job是必须参数,label_name部分是可选的,URL中的job和label组合唯一标识pushgateway中的Group。
2、在推送的数据部分,格式定义如下:
1)推送数据
推送一个group定义为的数据
推送一个group定义为的数据
2)删除数据
删除group定义为下的所有数据
删除所有group下的所有metrics(启动pushgateway时需加上命令行参数)
说明:
删除数据是以Group为单位的,Group由job name和URL中的label唯一标识。
举例中删除数据的语句并不会删除的数据。因为属于不同的Group。如需要删除下的数据,需要使用。
这里删除数据是指删除pushgateway中的数据,跟promethues没有关系。
上面的演示示例是官方提供:https://github.com/prometheus/pushgateway/
3)⾃定义编写脚本的⽅法 发送pushgateway 采集
模板
编写采集脚本推送数据到Pushgateway
领取专属 10元无门槛券
私享最新 技术干货