监控系统Prometheus--与第三方框架集成

news2024/11/29 22:42:30

文章目录

  • Prometheus和Flink集成
    • 拷贝jar包
    • 修改Flink配置
    • 为了运行测试程序,启动netcat
    • 启动hdfs、yarn,提交flink任务到yarn上
    • 可以通过8088跳到flinkUI的job页面,查看指标统计
    • 刷新Prometheus页面,如果有flink指标,集成成功
  • Prometheus和Grafana集成
    • 上传并解压
    • 启动Grafana
    • 添加数据源Prometheus
    • 手动创建仪表盘Dashboard
    • 直接添加模板
    • 配置案例
  • 组件启停脚本
  • Prometheus集成第三方告警平台睿象云
    • 注册睿象云账号
    • 集成Grafana
    • 配置分派策略
    • 配置通知策略

Prometheus和Flink集成

Flink 提供的 Metrics 可以在 Flink 内部收集一些指标,通过这些指标让开发人员更
好地理解作业或集群的状态。由于集群运行后很难发现内部的实际状况,跑得慢或快,是否
异常等,开发人员无法实时查看所有的 Task 日志。比如作业很大或者有很多作业的情况
下,该如何处理?此时 Metrics 可以很好的帮助开发人员了解作业的当前状况。

Flink官方支持Prometheus,并且提供了对接
Prometheus 的jar 包,很方便就可以集成。

拷贝jar包

拷贝新的flink目录,flink-prometheus

将flink-metrics-prometheus-1.12.0.jar 拷贝到 <flink_home>/lib 目录下

[yudan@hadoop102 flink-prometheus]$ cp /opt/module/flink-prometheus/plugins/metrics-prometheus/flink-metrics-prometheus-1.12.0.jar /opt/module/flink-prometheus/lib/ 

Flink 的 Classpath 位于 lib 目录下,所以插件的jar包需要放到该目录下

修改Flink配置

进入到Flink的conf目录,修改flink-conf.yaml

[yudan@hadoop102 conf]$ vim flink-conf.yaml

添加如下配置:

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

为了运行测试程序,启动netcat

[yudan@hadoop102 sbin]$ nc -lk 9999 

启动hdfs、yarn,提交flink任务到yarn上

[yudan@hadoop102 flink-prometheus]$ bin/flink run -t yarn-per-job -c com.yudan.flink.chapter02.Flink03_WordCount_UnboundStream ./flink-base-1.0-SNAPSHOT-jar-with-dependencies.jar 

可以通过8088跳到flinkUI的job页面,查看指标统计

刷新Prometheus页面,如果有flink指标,集成成功

在这里插入图片描述

Prometheus和Grafana集成

grafana 是一款采用Go语言编写的开源应用,主要用于大规模指标数据的可视化展现,
是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数
据库。下载地址:https://grafana.com/grafana/download

上传并解压

将grafana-8.1.2.linux-amd64.tar.gz 上传至/opt/software/目录下,解压:

[yudan@hadoop102 software]$ tar -zxvf grafana-enterprise-8.1.2.linux-amd64.tar.gz -C /opt/module/ 

启动Grafana

[yudan@hadoop102 grafana-8.1.2]$ nohup ./bin/grafana-server web > ./grafana.log 2>&1 & 

打开web:http://hadoop102:3000,默认用户名和密码:admin

添加数据源Prometheus

点击配置,点击Data Sources:
在这里插入图片描述
点击添加按钮:

找到Prometheus,点击Select

配置Prometheus Server地址:
在这里插入图片描述
点击下方的Save&Test:

出现绿色的提示框,表示与Prometheus正常联通:

点击Back返回即可,可以看到Data Sources页面,出现了添加的Prometheus:

手动创建仪表盘Dashboard

点击左边栏的 “+”号,选择Dashboard:

添加新的仪表板,点击Add an empty panel:

配置仪表板监控项:
在这里插入图片描述
一个仪表板可以配置多个监控项,添加其他监控项:

直接添加模板

手动一个个添加Dashboard比较繁琐,Grafana社区鼓励用户分享Dashboard,通过https://grafana.com/dashboards网站,可以找到大量可直接使用的Dashboard模板。

Grafana 中所有的Dashboard通过JSON进行共享,下载并且导入这些JSON文件,
就可以直接使用这些已经定义好的Dashboard:

下载好对应的模板后

点击Grafana界面左侧 ”+”号,选择import:

在这里插入图片描述
上传JSON文件:

配置模板信息:

导入完,在首页即可看见添加的仪表盘

正常提交job,即可在grafana看到相关监控项的情况。

注意:代码里env.execute(“作业名”),最好指定不同的作业名用于区分,不指定会使用默
认的作业名:Flink Streaming Job,在Grafana页面就无法区分不同job!!!

配置案例

组件启停脚本

进入到/home/yudan/bin目录下,创建脚本prometheus-monitor.sh

#!/bin/bash 
case $1 in 
"start"){ 
	echo '----- 启动 prometheus -----' 
	nohup /opt/module/prometheus-2.29.1/prometheus --web.enable-admin-api --config.file=/opt/module/prometheus-2.29.1/prometheus.yml > /opt/module/prometheus-2.29.1/prometheus.log 2>&1 & 
	echo '----- 启动 pushgateway -----' 
	nohup /opt/module/pushgateway-1.4.1/pushgateway --web.listen-address :9091 > /opt/module/pushgateway-1.4.1/pushgateway.log 2>&1 & 
	echo '----- 启动 grafana -----' 
	nohup /opt/module/grafana-8.1.2/bin/grafana-server --homepath /opt/module/grafana-8.1.2 web > /opt/module/grafana-8.1.2/grafana.log 2>&1 & 
};; 
"stop"){ 
	echo '----- 停止 grafana -----' 
	pgrep -f grafana | xargs kill 
	echo '----- 停止 pushgateway -----' 
	pgrep -f pushgateway | xargs kill 
	echo '----- 停止 prometheus -----' 
	pgrep -f prometheus | xargs kill 
};; 
esac 

脚本添加执行权限

[yudan@hadoop102 bin]$ chmod +x prometheus-monitor.sh

Prometheus集成第三方告警平台睿象云

邮件通知常会出现接收不及时的问题,为确保通知信息被及时接收,可通过配置Prometheus 或者Grafana 与第三方平台告警平台(例如睿象云)集成,进而通过第三方平台提供的多种告警媒介(例如电话,短信)等发送告警信息。

注册睿象云账号

集成睿象云之前须在其官网进行注册并登录,注册时需填入个人手机号和电子邮箱,以下是其官方网站https://www.aiops.com。

集成Grafana

  1. 点击CA智能告警平台

  2. 点击集成

  3. 选择Grafana

  4. 填入应用名称,并点击“保存并获取应用key

  5. 得到AppKey之后,配置Grafana

  6. 在Grafana中创建Notification channel
    在这里插入图片描述

  7. 配置channel
    在这里插入图片描述

  8. Test&Save 测试后会接到电话以及邮件
    在这里插入图片描述

配置分派策略

分派策略可以配置,哪些应用的告警信息,发送给哪些用户

  1. 点击“配置”→“分派策略”→“新建分派”
    在这里插入图片描述

  2. 配置具体分派策略

配置通知策略

通知策略,可以配置被分派人接收告警的通知方式,通知时间,通知延时等等。

1)点击“配置”→“通知策略”→“新建通知”

2)配置具体的通知策略
在这里插入图片描述

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

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

相关文章

ORAN C平面 Section Extension 23

ORAN C平面Section扩展23用于任意symbol模式的调制压缩参数。此section扩展允许为一个或多个“SymPrbPatterns”指定多组“mcScaleReMask、csf和mcScaleOffset”值。“SymPrbPattern”用于指定一组PRB&#xff0c;这些PRB可以跨越使用prbPattern指定的整个PRB范围&#xff08;频…

基于SpringBoot+Vue的医院挂号就诊系统设计与实现(源码+文档+包运行)

一.系统概述 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装医院挂号就诊系统软件来发挥其高效地信息处理的作用&a…

【C++】STL之string的模拟实现

在本篇博客中&#xff0c;作者将会带领你模拟实现简单的STL中的string类的。至于string的常规使用&#xff0c;这里不做讲解。 string类的c参考文档 string - C Reference (cplusplus.com) 一.string的基本结构 string类的大致结构可以分为三个变量来表示&#xff0c;一个是字…

UE5 HLSL 详细学习笔记

这里的POSITION是变量Position的语义&#xff0c;告诉寄存器&#xff0c;此变量的保存位置&#xff0c;通常语义用于着色器的输入和输出&#xff0c;以冒号“&#xff1a;”的方式进一步说明此变量&#xff0c;COLOR也类似 还有什么语义呢&#xff1f; HLSL核心函数&#xff1a…

js如何将对象转换成数组

方法一&#xff1a;Object.values(obj) 示例&#xff1a; var obj { name: 小明, age: 22 }; console.log( Object.values(obj) ); // [小明, 22] 方法二&#xff1a;for-in循环 示例&#xff1a; var obj { name: 小明, age: 22 }; var arr []; let objName []; for(l…

Spingbot项目配置mySQL或postgresSQL详解

1&#xff1a;postgresql库: yml文件 探索PostgreSQL&#xff1a;从基础到实践&#xff08;简单实例&#xff09; # PageHelper分页插件 pagehelper:helperDialect: postgresqlreasonable: truesupportMethodsArguments: trueparams: countcountSql# 数据源配置 spring:datas…

ArcGIS无法链接在线地图或错误: 代理服务器从远程服务器收到了错误地址(验证服务器是否正在运行)。

这几天我们分享了&#xff01; 谷歌卫星影像图归来&#xff01;ArcGIS直连&#xff01;快来获取_谷歌影像lyr-CSDN博客文章浏览阅读666次&#xff0c;点赞11次&#xff0c;收藏9次。大概。_谷歌影像lyrhttps://blog.csdn.net/kinghxj/article/details/137521877一套图源搞定&a…

LPA算法简介

1. 背景 标签传播算法(Label Propagation Algorithm)是一种基于图的半监督学习方法&#xff0c;其基本思路是用已标记节点的标签信息去预测未标记节点的标签信息。 2. 算法流程 1. 为每个节点随机的指定一个自己特有的标签&#xff1b; 2. 逐轮刷新所有节点的标签&#xff0…

音乐小程序|基于微信开发音乐小程序的系统设计与实现(源码+数据库+文档)

音乐小程序目录 基于微信开发音乐小程序的系统 一、前言 二、系统设计 三、系统功能设计 小程序端&#xff1a; 后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师…

开箱即用之 windows装的MongoDB 服务无法开机自启

先把mongo服务手动停止 以管理员的身份打开黑窗口&#xff0c;并移除系统服务 进入mongod.exe文件所在目录 mongod.exe --remove --serviceName "MongoDB" 在你mongo的data目录下&#xff0c;移除两个文件 mongod.lock strage.bson 重新将服务加入开机自启的系…

测试使用Python GDAL 下载Mapbox瓦片地图及拼接

测试使用 Python GDAL 下载 Mapbox 瓦片地图及拼接 本教程将展示如何以编程方式从网络地图&#xff08;通常称为瓦片地图&#xff09;瓦片服务器下载地图图像&#xff0c;对其进行地理参考&#xff08;设置坐标系&#xff09;并将其保存为GeoTIFF。 Code import lib #!/usr…

2011-2022年上市公司新质生产力测算数据(含原始数据+计算代码+计算结果)

2011-2022年上市公司新质生产力测算数据&#xff08;含原始数据计算代码计算结果&#xff09; 1、时间&#xff1a;2011-2022年 2、来源&#xff1a;原始数据整理自csmar、wind 3、指标&#xff1a;证券代码、证券简称、统计截止日期、报表类型、营业收入、研发费用、资产减…

一起Talk Android吧(第五百五十七回:如何获取文件读写权限)

文章目录 1. 概念介绍2. 使用方法3. 示例代码4. 内容总结各位看官们大家好,上一回中分享了一个Retrofit使用错误的案例,本章回中将介绍 如何获取文件读写权限。闲话休提,言归正转,让我们一起Talk Android吧! 1. 概念介绍 我们在本章回中说的文本读写权限是指读写手机中的…

说说你对树的理解?相关的操作有哪些?

一、是什么 在计算机领域&#xff0c;树形数据结构是一类重要的非线性数据结构&#xff0c;可以表示数据之间一对多的关系。以树与二叉树最为常用&#xff0c;直观看来&#xff0c;树是以分支关系定义的层次结构 二叉树满足以下两个条件&#xff1a; 本身是有序树树中包含的…

在Linux系统中设定延迟任务

一、在系统中设定延迟任务要求如下&#xff1a; 要求&#xff1a; 在系统中建立easylee用户&#xff0c;设定其密码为easylee 延迟任务由root用户建立 要求在5小时后备份系统中的用户信息文件到/backup中 确保延迟任务是使用非交互模式建立 确保系统中只有root用户和easylee用户…

OpenAI Token计算方式

如果用 ChatGPT API 去做问答的话是需要付费的&#xff0c;OpenAI 的收费方式是通过 token 数量进行收费&#xff0c;API 价格根据不同模型有所不同&#xff0c;可以看到 GPT4 最贵&#xff0c;GPT3.5 最便宜。这让我想起以前用 Aliyun 中台&#xff0c;每个 SQL 都有个运行价格…

部署Zabbix5.0

一.部署zabbix客户端 端口号10050 zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。 zabbix 服务端 zabbix_server 默认使用 10051 端口&#xff0c;客户端 zabbix_agent2 默认使用 10050 端口。 1.1.关闭防火墙和selinux安全模块 systemctl disable --now fir…

数据库工具解析之 OceanBase 数据库导出工具

背景 大多数的数据库都配备了自己研发的导入导出工具&#xff0c;对于不同的使用者来说&#xff0c;这些工具能够发挥不一样的作用。例如&#xff1a;DBA可以使用导数工具进行逻辑备份恢复&#xff0c;开发者可以使用导数工具完成系统间的数据交换。这篇文章主要是为OceanBase…

Linux——操作系统与进程基本概念

Linux——操作系统与进程基本概念 文章目录 Linux——操作系统与进程基本概念一、冯诺依曼体系结构二、操作系统2.1 OS层次图2.2 操作系统的作用2.3 管理的理解 三、进程3.1 进程的概念3.2 描述进程—PCB3.3 PCB的内容3.3.1 查看进程3.3.2 标识符3.3.3 状态3.3.4 程序计数器3.3…

react中关于类式组件和函数组件对props、state、ref的使用

文章中有很多蓝色字体为扩展链接&#xff0c;可以补充查看。 常用命令使用规则 组件编写方式: 1.函数式 function MyButton() { //直接return 标签体return (<>……</>); }2.类 class MyButton extends React.Component { //在render方法中&#xff0c;return…