grafana+prometheus+pushgateway+flink可视化实时监控

news2024/11/23 19:38:35

文章目录

  • 一、各部分介绍
  • 二、安装配置
    • 1、安装pushgateway
    • 2、安装Prometheus
    • 3、Grafana 安装
  • 三、测试使用

一、各部分介绍

在这里插入图片描述

  • 采集层
    flink APP和linux system两部分,是我们要收集指标数据的组件
  • 传输层
    Pushgateway:是一个推送收集和推送数据的组件
    Node_exporter:数据导出组件
  • 存储计算层
    Prometheus:系统监控和预警框架
  • 应用层
    Grafana:可视化展示平台

二、安装配置

1、安装pushgateway

#在线下载
#离线下载直接访问地址
wget wget https://github.com/prometheus/pushgateway/releases/download/v1.4.3/pushgateway-1.4.3.linux-amd64.tar.gz
tar -zxvf pushgateway-1.4.3.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/pushgateway-1.4.3.linux-amd64/
#后台启动
nohup ./pushgateway > run.log 2>&1 &
#查看端口验证
netstat -tlanp | grep 9090
#cmd验证是否联通
telnet 39.105.12.10 9090
#停止 找到9090的进程杀掉即可
kill -9 进程号

浏览器打开: http://ip服务器:9090

2、安装Prometheus

#官网下载地址https://prometheus.io/download/
tar -zxvf prometheus-2.45.0.linux-amd64.tar.gz
vim prometheus.yml #修改配置文件
#启动
nohup ./prometheus  --config.file=prometheus.yml > ./prometheus.log 2>&1 &
#停止
kill -9 进程号

修改配置文件 prometheus.yml
添加如下内容:

在 scrape_configs 配置项下添加配置:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['xx.xx.xx.xx:9090']

在这里插入图片描述

配置说明:
1 、 global 配置块: 控制 Prometheus 服务器的全局配置
➢ scrape_interval :配置拉取数据的时间间隔,默认为 1 分钟。
➢ evaluation_interval :规则验证(生成 alert )的时间间隔,默认为 1 分钟。
2 、 rule_files 配置块: 规则配置文件
3 、 scrape_configs 配置块: 配置采集目标相关, prometheus 监视的目标。 Prometheus 自身
的运行信息可以通过 HTTP 访问,所以 Prometheus 可以监控自己的运行数据。
➢ job_name :监控作业的名称
➢ static_configs :表示静态目标配置,就是固定从某个 target 拉取数据
➢ targets : 指 定 监 控 的 目 标 , 其 实 就 是 从 哪 儿 拉 取 数 据 。 Prometheus 会 从
http://hadoop1:9090/metrics 上拉取数据。
注意:Prometheus 是可以在运行时自动加载配置的。启动时需要添加: --web.enable-lifecycle

浏览器打开: http://ip服务器:9090

3、Grafana 安装

#yum在线安装
yum install grafana
# 下载安装,离线下载直接请求url
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_10.0.1_amd64.deb
#在线安装启动
service grafana-server start
service grafana-server status
netstat -tlanp | grep 3000
#离线安装启动
./bin/grafana-server

浏览器打开: http://ip服务器:3000
默认用户名密码:admin/admin

三、测试使用

第一步:prometheus配置grafana
第二步:prometheus测试配置pushgateway,编辑脚本,定时执行测试

vim pushgateway.sh							#编写pushgateway脚本采集数据
#!/bin/bash
instance_name=`hostname -f | cut -d'.' -f1`	#截取主机名
if [ $instance_name == "localhost" ];then
   echo "Must FQDN hostname"				#要求主机名不能是localhost,不要主机名区别不了
   exit 1
fi
label="count_netstat_wait_connections"								#定义一个key
count_netstat_wait_connections=`netstat -an| grep -i wait| wc -l`	#定义values

#推送数据给pushgateway
echo "$label $count_netstat_wait_connections" | curl --data-binary @- http://192.168.118.133:9091/metrics/job/${instance_name}
#解析
 curl --data-binary是将http post 请求中的二进制数据发送给http服务服务器,这里的http服务器指的就是pushgateway服务器;
 指定pushgateway的ip地址和端口号,后面${instance_name}是指定job的名称,这里以主机名命名。
crontab -e
* * * * * bash /opt/pushgateway.sh
# 依次按 :wq 进行保存  即时生效

第三步:prometheus关联flink,flink-conf.yaml里添加配置

##### 与 Prometheus 集成配置 #####
metrics.reporter.promgateway.class: 
org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
# PushGateway 的主机名与端口号
metrics.reporter.promgateway.host: localhost
metrics.reporter.promgateway.port: 9091
# Flink metric 在前端展示的标签(前缀)与随机后缀
metrics.reporter.promgateway.jobName: myJob
metrics.reporter.promgateway.randomJobNameSuffix: true
metrics.reporter.promgateway.deleteOnShutdown: false
metrics.reporter.promgateway.interval: 30 SECONDS

第四步:flink安装目录里plugins下拷贝flink-metrics-prometheus-1.15.2.jar到lib

cp plugins/metrics-prometheus/flink-metrics-prometheus-1.15.2.jar ../../lib/

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络安全带你练爬虫-100练】第5练:爬虫的翻页操作+错误情况过滤

目录 一、翻页分析: 二、代码逻辑 1、入口程序修改 2、page参数传入 三、完整代码 1、运行结果 2、错误分析: 3、缺陷代码: 4、完善逻辑: 5、完善代码: (说在前面,任何逻辑都有很多方…

Python软件安装后,Scripts文件夹下为空解决办法

安装Python后,需要使用pip,发现Scripts下为空,无法install pip: 解决办法: cmd进入Windows命令提示符界面,进入Python的安装目录,并使用python -m ensurepip命令执行即可:

R语言——字符串处理

paste(abc, def, gh, sep ) #粘贴字符串 substr(abcdefg, 2, 3) # 取特定字符串 gsub(abc, , c(abc, abcc, abcbc)) # 将字符串中abc替换为空 strsplit(a;b;c, ;, fixed T) # 按照;切分字符串 strsplit(a222b2.2c, 2.2, fixed F) # 按照正则表达式分隔,这里的.是…

15.1 BP神经网络实现图像压缩——了解神经网络在图像处理方面的应用(matlab程序)

1.简述 BP神经网络现在来说是一种比较成熟的网络模型了,因为神经网络对于数字图像处理的先天优势,特别是在图像压缩方面更具有先天的优势,因此,我这一段时间在研究神经网络的时候同时研究了一下关于BP网络实现图像压缩的原理和过程,并且是在MATLAB上进行了仿真的实验,结果发现设…

Java:ThreadLocal解析

Java:ThreadLocal解析 前言一、 什么是ThreadLocal?二、ThreadLocal的内存泄漏问题1.什么是内存泄漏?2.为什么会出现内存泄漏问题?3.如何解决内存泄漏问题?(1)ThreadLocal会自动清除key为null的…

层级在BW4HANA中的处理

目录 1.从flatfile加载层级的处理 2. 从ERP数据源抽取区间层级到BW 2.1 在ERP中的层级数据源 2.1.1 PSA格式和IDoc格式的区别 2.1.2 怎么查看Interval的字段 2.1.3 如何在S4里查看层级数据源结构 2.1.4 关于时间相关层级date to和date from 1.从flatfile加载层级的处理 层…

【快速开始】一个简单的Flask-SocketIO应用,完成后端推送消息接收与关闭

效果图 先看运行效果图 OK,下面开始。 安装环境 本人使用环境及版本: Anaconda: 虚拟环境: Python版本:3.8.13 安装包及版本: Flask-SocketIO:5.3.4 eventlet:0.33.3 快速开…

BUU [ZJCTF 2019]NiZhuanSiWei

BUU [ZJCTF 2019]NiZhuanSiWei 先看题目,提示了useless.php。 猜到了flag在哪。 没啥可以学的,直接上exp。 ?textdata://text/plain,welcome to the zjctf &filephp://filter/readconvert.base64-encode/resourceuseless.php &passwordO:4:&q…

工作学习总结:安卓地图SDK测试--前置准备阶段8天

工作学习总结:安卓地图SDK测试--前置准备阶段8天 安卓地图SDK测试--前置准备阶段8天前置知识:1、安卓环境开发部署2、高德 SDK demo 如何进行调试(1)SHA1 密钥无法获取(2)下载了高德 3D 地图 demo&#xff…

Leetcode---352周赛

周赛题目 2760. 最长奇偶子数组 2761. 和等于目标值的质数对 2762. 不间断子数组 2763. 所有子数组中不平衡数字之和 一、最长奇偶子数组 这题的数据范围允许用暴力来做,只要我们分别枚举左端点left和右端点right,然后看区间[left,right]是否符合题目条…

stable diffusion 百宝书

文章目录 0. 环境搭建0.1 Windows0.1.1 git环境安装0.1.2 python 环境搭建0.1.2.1 配置pip国内镜像源 0.1.3 stable diffusion环境搭建0.1.3.1 远程访问Stable diffusion0.1.3.2 模型 Lora下载 1. 基础知识1.1 Stable Diffusion Webui及基础参数1.2 参数说明1.2.1 采样方法1.2.…

【AI实战】从零开始搭建中文 LLaMA-33B 语言模型 Chinese-LLaMA-Alpaca-33B

【AI实战】从零开始搭建中文 LLaMA-33B 语言模型 Chinese-LLaMA-Alpaca-33B 简介环境配置环境搭建依赖安装 代码及模型权重拉取拉取 Chinese-LLaMA-Alpaca拉取 llama-30b-hf 模型权重及代码拉取 chinese-llama-lora-33b 模型权重及代码 合并模型权重先转换 pth 类型的模型权重&…

docker版jenkins安装node打包vue2

下载node 通过jenkins配置下载因为某些原因会失败,故自己下载安装https://nodejs.org/zh-cn/download解压然后复制到docker的jenkins容器 tar -xvf node-v16.18.1-linux-x64.tar.xzdocker cp ./node-v16.18.1-linux-x64 jenkins:/node配置 jenkins-全局工具配置- …

【Vim编辑器】编码技巧:模板(自动添加信息)+配置参考(~/.vimrc)

前言: 在编写代码时,为了提高代码的可读性和维护性,我们经常在文件的头部添加一些信息提示,如作者、日期、版本号等。本文介绍了如何在 Vim 编辑器中实现自动添加信息提示的功能。 结尾提供~/.vimr参考配置,可提高代码…

短视频seo矩阵+抖音小程序源码开源部署(二)

一、 开发思路: 通过短视频seo矩阵抖音小程序的形式,实现视频的批量制作,小程序内容批量挂载,客户线索批量收集,实现企业运营价值最大化。开发逻辑:通过短视频矩阵布局seo搜索关键词,接入小程序…

Elasticsearch:文档版本控制和乐观并发控制

在今天的文章中,我来详细描述一下 Elasticsearch 文档的版本控制以及如何更新文档。你也可以阅读我之前的文章 “Elasticsearch:深刻理解文档中的 verision 及乐观并发控制”。 版本控制 我们知道 Elasticsearch 的每个文档都有一个相对应的版本。这个版…

GO微服务简介及特性介绍

微服务特性 一、微服务简介-构建单体应用 互联网技术发展迅速的今天,微服务倍受关注:文章、博客、社交媒体讨论和会议演讲都在谈论。与此同时,也有持怀疑态度的软件社区人员认为微服务没什么新鲜可言。反对者声称它的思想只是面向服务架构的…

Windows系统安装JAVA步骤流程(超详细)

超详细的Windows系统安装JAVA步骤流程,Windows操作系统安装java,先下载JDK,然后配置环境变量,阿里云百科分享详细安装流程如下: 目录 Window操作系统安装java流程 下载JDK 配置环境变量 JAVA_HOME 设置 PATH设置…

Centos安装RabbitMQ

#安装 yum install rabbitmq-server #启动 systemctl start rabbitmq-server #查看状态 systemctl status rabbitmg-server #安装管理插件 rabbitmg-plugins enable rabbitmg_management #新增admin账号 rabbitmqctl add_user admin admin #设置为管理员 rabbitmqctl set_user_…

电子电气架构——车载DoIP通信

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将此伪装成客观意见,但无一例外的是…