克服网络障碍:Prometheus如何通过间接方式采集目标服务数据
图片
在上篇从零开始:使用Prometheus与Grafana搭建监控系统 ,克服我们了解了Prometheus采集数据主要是网络务数采用Pull模式,即主动拉取模式 ,障碍这种方式虽然简单,何通但是过间有一定限制,比如服务器A部署在边缘端与Prometheus部署在云端,接方集目据两者网络不通,式采因此不能采用Pull模式 。源码下载标服
图片
那么如何获取服务器 A 的克服指标?答案就是采用Pushgateway ,这里Pushgateway充当了一个桥接的网络务数作用,把Pushgateway服务暴漏一个公网地址 ,障碍然后服务器 A 与Prometheus都能连接即可 。何通服务器 把数据 Push到Pushgateway,过间然后 Prometheus 去 Pushgateway 上定时 pull数据即可。建站模板接方集目据
图片
下面分享一下如何使用Pushgateway如何采集远程节点数据指标。式采
下载
复制docker pull prom/pushgateway:v1.5.11.启动
复制docker run --name pushgateway -d -p 9091:9091 prom/pushgateway:v1.5.11.
图片
访问http://localhost:9091/metrics查看是否启动成功 ,可以看到Pushgateway自身也带了一些指标
图片
边缘服务器配置下载node-exporter
复制wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-arm64.tar.gz1.
图片
下载完成以后执行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
由于直接启动node-exporter关闭窗口此进程就会挂掉 ,因此可以采用systemctl方式进行配置
执行mv node_exporter //usr/local/移动node_exporter文件
在/usr/lib/systemd/system/目录 ,源码库创建node_exporter.service文件 ,内容如下,ExecStart指向的就是node_exporter执行文件
复制cat <<EOF > /usr/lib/systemd/system/node_exporter.service [Unit] Descriptinotallow=Node Exporter [Service] ExecStart=/usr/local/node_exporter Restart=on-failure [Install] WantedBy=multi-user.target EOF1.2.3.4.5.6.7.8.9.10.
图片
执行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
复制curl 10.211.55.6:9100/metrics|curl --data-binary @- http://10.211.55.2:9091/metrics/job/agent-server/instance/10.211.55.6/hostname/边缘服务器1.手动执行以下脚本 ,并访问Pushgateway查看是否有对应数据
图片
可以看到数据已上传
图片
虽然以上脚本没问题,但是云计算还需要定时执行才行,所以需要编写shell脚本,并通过crontab进行调用
创建shell脚本
复制cat <<EOF > /etc/cron.d/propushgateway.sh #!/bin/bash curl 10.211.55.6:9100/metrics|curl --data-binary @- http://10.211.55.2:9091/metrics/job/agent-server/instance/hostname/10.211.55.6 date>> /tmp/date.txt EOF1.2.3.4.5.分配文件执行权限
复制chmod 777 /etc/cron.d/propushgateway.sh1.配置crontab任务,10s执行一次,由于crontab只支持到分,所以采用采用以下方式配置
复制crontab -e * * * * * /etc/cron.d/propushgateway.sh * * * * * sleep 10; /etc/cron.d/propushgateway.sh * * * * * sleep 20; /etc/cron.d/propushgateway.sh * * * * * sleep 30; /etc/cron.d/propushgateway.sh * * * * * sleep 40; /etc/cron.d/propushgateway.sh * * * * * sleep 50; /etc/cron.d/propushgateway.sh1.2.3.4.5.6.7.8.查看执行日志tail -f /var/log/cron可以看到10s执行一次
图片
修改prometheus配置文件
在prometheus.yml文件中增加如下配置
复制- job_name: AgentServer # Override the global default and scrape targets from this job every 5 seconds. honor_labels: false static_configs: - targets: [10.211.55.2:9091] labels: pushgateway_instance: agent-server ##这里必须加这边标签过滤,不然采集的是pushGateway数据1.2.3.4.5.6.7.增加完成以后重启prometheus
复制docker restart prometheus1.启动完成以后访问prometheus地址,亿华云查看Pushgateway的target已经生效
图片
访问Grafana,可以看到边缘段数据已采集
图片
相关文章
网络安全是保护信息系统、网络、设备和数据不受未经授权的访问、使用或损坏。网络安全不仅对个人重要,对各种规模和行业的组织也很重要。这里有10个技巧可帮助提高网络安全状况,抵御网络威胁。1.进行网络风险评2025-12-07
以“新”促“高”,以“数”强“实”,戴尔科技双驱升级致胜未来
8月18日,“新·生万物 数实新格局 —— 2023戴尔科技峰会”在北京中国大饭店隆重举行,广州、杭州、成都、西安、武汉、厦门等10个城市同步实现线上直播。今年的戴尔科技峰会将先后在北京、上海和深圳三2025-12-07
从零开始学会以换硬盘了系统安装(详解硬盘更换和系统安装的步骤和技巧,助你轻松升级硬盘)
随着科技的不断发展,电脑硬件的更新迭代速度也越来越快。而在硬件升级的过程中,更换硬盘并重新安装系统是一个常见的操作。本文将详细介绍如何进行硬盘的更换和系统的安装,帮助你轻松完成硬盘升级。一格式化硬盘,2025-12-07
在大数据、云计算和物联网(IoT)时代,对更快、更高效的数据中心的需求不断增长。 数据中心需要支持更高的网络速度和带宽,以处理大量数据流入和处理。 因此,向400G以太网(4002025-12-07
一年多才解决!索尼、Lexar 的加密设备供应商泄露敏感数据
当用户购买 Sony、Lexar 或 Sandisk USB 密钥或其它任何存储设备时,都会附带一个加密解决方案,以确保数据安全。据悉,该方案由第三方供应商 ENC Security 开发,然而 近日2025-12-07
数据中心是我们数字世界的支柱,但它们也对环境产生重大影响。为了应对这一挑战,许多数据中心正在转向碳认证,这是一个评估和验证其环境影响的严格过程。液浸冷却是一项革命性的技术,在碳认证工作中发挥着关键作用2025-12-07

最新评论