在上篇从零开始
:使用Prometheus与Grafana搭建监控系统 ,克服我们了解了Prometheus采集数据主要是网络务数采用Pull模式,即主动拉取模式
,障碍这种方式虽然简单,何通但是过间有一定限制,比如服务器A部署在边缘端与Prometheus部署在云端 ,接方集目据两者网络不通 ,式采因此不能采用Pull模式。源码下载标服 那么如何获取服务器 A 的克服指标
?答案就是采用Pushgateway
,这里Pushgateway充当了一个桥接的网络务数作用,把Pushgateway服务暴漏一个公网地址,障碍然后服务器 A 与Prometheus都能连接即可。何通服务器 把数据 Push到Pushgateway
,过间然后 Prometheus 去 Pushgateway 上定时 pull数据即可
。模板下载接方集目据 下面分享一下如何使用Pushgateway如何采集远程节点数据指标。式采 下载 启动 访问http://localhost:9091/metrics查看是否启动成功,可以看到Pushgateway自身也带了一些指标 边缘服务器配置下载node-exporter 下载完成以后执行tar -xvf node_exporter-1.5.0.linux-arm64.tar.gz && cd node_exporter-1.5.0.linux-arm64进行解压 解压完成以后
,执行./node_exporter进行简单验证, 看到以上信息则启动成功
,通过浏览器进行访问http://ip:9100/metrics,可以看到以下指标 由于直接启动node-exporter关闭窗口此进程就会挂掉,因此可以采用systemctl方式进行配置 执行mv node_exporter //usr/local/移动node_exporter文件 在/usr/lib/systemd/system/目录
,云计算创建node_exporter.service文件,内容如下,ExecStart指向的就是node_exporter执行文件 执行systemctl daemon-reload 执行systemctl start node_exporter启动node_exporter 执行netstat -aon|grep 9100查看9100是否启动成功 由于node-exporter只提供的数据,默认是由prometheus进行pull的免费模板方式来获取指标数据,而我们需要主动push数据到Pushgateway,所以这里需要增加shell脚本,先获取node-exporter数据,然后在调用Pushgateway接口进行push ,以下为推送语句 PushgatewayIP: 10.211.55.2 边缘服务器IP:10.211.55.6 手动执行以下脚本 ,并访问Pushgateway查看是否有对应数据 可以看到数据已上传 虽然以上脚本没问题 ,但是服务器租用还需要定时执行才行,所以需要编写shell脚本,并通过crontab进行调用 创建shell脚本 分配文件执行权限 配置crontab任务,10s执行一次,由于crontab只支持到分 ,所以采用采用以下方式配置 查看执行日志tail -f /var/log/cron可以看到10s执行一次 在prometheus.yml文件中增加如下配置 增加完成以后重启prometheus 启动完成以后访问prometheus地址
,香港云服务器查看Pushgateway的target已经生效 访问Grafana
,可以看到边缘段数据已采集
图片
图片
图片
图片
图片
图片
图片
图片
图片安装node-exporter
图片
图片边缘端指标上报
图片
图片
图片修改prometheus配置文件
图片
图片