当前位置: 首页 > news >正文

【云原生监控】Prometheus之PushGateway

Prometheus之PushGateway

文章目录

  • Prometheus之PushGateway
    • 介绍作用
    • 资源列表
    • 基础环境
    • 一、部署PushGateway
      • 1.1、下载软件包
      • 1.2、解压软件包
      • 1.3、编辑配置systemctl启动文件
      • 1.4、创建日志目录
      • 1.5、加载并启动
      • 1.6、监控端口
      • 1.7、访问PushGateway
    • 二、 配置Prometheus抓取PushGateway数据
    • 三、被监控服务推送数据到PushGateway
    • 四、查看是否推送数据

介绍作用

  • PushGateway为Promethus整体监控方案的功能组件之一,并作为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙,目标服务器没有可抓取监控数据的端点等多种情况。在类似的场景中,可通过部署PushGateway的方式解决问题。
  • 当部署该组件后,监控源通过主动发送监控数据到PushGateway,再又Prometheus定时获取信息,实现资源的状态监控。

资源列表

操作系统配置主机名IP
CentOS 7.92C4Gprometheus-server192.168.93.101
CentOS 7.92C4Gnode-exporter192.168.93.102
CentOS 7.92C4Ggrafana192.168.93.103
CentOS 7.92C4Gpush-gateway192.168.93.104

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname prometheus-server
hostnamectl set-hostname node-exporter
hostnamectl set-hostname grafana
hostnamectl set-hostname push-gateway

一、部署PushGateway

  • PushGatway可以随便找一台机器单独部署或者和Prometheus或node-exporter部署在一起,用来接收数据

1.1、下载软件包

wget https://github.com/prometheus/pushgateway/releases/download/v1.6.1/pushgateway-1.6.1.linux-amd64.tar.gz

1.2、解压软件包

[root@push-gateway ~]# tar -zxvf pushgateway-1.6.1.linux-amd64.tar.gz -C /usr/local/bin/ pushgateway-1.6.1.linux-amd64/pushgateway --strip-components=1

1.3、编辑配置systemctl启动文件

[root@push-gateway ~]# cat > /etc/systemd/system/pushgatway.service <<EOF
[Unit]
Description=Pushgateway
After=network.target[Service]
ExecStart=/usr/local/bin/pushgateway  \--web.listen-address=:9091 \--persistence.file=/prometheus/data/pushgatway.log \--persistence.interval=5m \--log.level=info \--log.format=json[Install]
WantedBy=multi-user.target
EOF

1.4、创建日志目录

[root@push-gateway ~]# mkdir -p /prometheus/data/

1.5、加载并启动

[root@push-gateway ~]# systemctl daemon-reload 
[root@push-gateway ~]# systemctl enable pushgatway.service --now

1.6、监控端口

  • PushGateway默认监听9090端口
[root@push-gateway ~]# netstat -anpt | grep 9091
tcp6       0      0 :::9091                 :::*                    LISTEN      8307/pushgateway

1.7、访问PushGateway

  • 访问地址:http://192.168.93.104:9091
    在这里插入图片描述

二、 配置Prometheus抓取PushGateway数据

[root@prometheus-server ~]# vim /usr/local/prometheus/prometheus.yml
# 添加如下内容- job_name: "prometheus-pushgateway"  # 监控的名字honor_labels: true   # 解决pushgateway组件的标签和prometheus服务标签冲突,false(默认),将标签加上前缀"exporter_",不覆盖。true,覆盖原来的标签static_configs:  # 静态配置发现目标- targets: ["192.168.93.104:9091"]  # 监控的地址
# 刷新Prometheus服务
[root@prometheus-server ~]# curl -X POST http://192.168.93.101:9090/-/reload
  • 浏览器查看,Prometheus抓取PushGatway数据联通了,但是还没有数据
    在这里插入图片描述

三、被监控服务推送数据到PushGateway

[root@node-exporter ~]# echo "user_num 22" | curl --data-binary @-  http://192.168.93.104:9091/metrics/job/xinjizhiwa_user/instance/192.168.93.102# 参数说明
echo "key value" | curl --data-binary @- http://pushgatway的ip:端口号/metrics/job/自定义job名称/instance/被监控节点的ip地址

四、查看是否推送数据

  • 查看PushGateway是否有数据
    在这里插入图片描述

  • 查看PushGateway是否把数据推送到Prometheus
    在这里插入图片描述

http://www.lryc.cn/news/439489.html

相关文章:

  • sqlalchemy JSON 字段写入时中文序列化问题
  • C++ 类域+类的对象大小
  • QT开发:深入详解QtCore模块事件处理,一文学懂QT 事件循环与处理机制
  • 小米,B站网络安全岗位笔试题目+答案
  • 微信小程序中巧妙使用 wx:if 和 catchtouchmove 实现弹窗禁止页面滑动功能
  • 唯徳知识产权管理系统 DownloadFileWordTemplate 文件读取漏洞复现
  • 我在高职教STM32——准备HAL库工程模板(2)
  • 数字化转型的实战法则:全面剖析《数字化专业知识体系》中的落地策略与最佳实践
  • 远程桌面内网穿透是什么?有什么作用?
  • 【算法专场】分治(上)
  • 腾讯云软件工程师面试问题收集记录-数据库
  • Sourcetree安装教程及使用
  • TryHackMe 第1天 | Introduction to Cyber Security
  • ASP.NET MVC 迅速集成 SignalR
  • [数据集][目标检测]葡萄成熟度检测数据集VOC+YOLO格式1123张3类别
  • 【Python 数据分析学习】Matplotlib 的基础和应用
  • HarmonyOS应用开发者基础认证
  • gin基本使用
  • 【VUE】pinia持久化存储
  • 【Java基础】泛型
  • STL-vector练习题
  • Leetcode 165. 比较版本号(Medium)
  • Android 12 Launcher3 去掉Hotseat
  • Nginx实用篇:实现负载均衡、限流与动静分离
  • python | Python中的类多态:方法重写和动态绑定
  • Rust编写Windows服务
  • MATLAB 从 R2024B 开始支持树莓派 5
  • MiniBlogum项目简介
  • 如何用 OBProxy 实现 OceanBase 的最佳路由策略
  • new/delete和malloc/free到底有什么区别