【JMX JVM监控】Prometheus读取Trino的JMX数据到Grafana展示

trino运行拥有自己的UI来监控资源使用率,但领导需要更好的展示做些图表出来放到PPT里面,选择了用prometheus收集数据和grafana来展示图表。本文就trino的数据采集和展示做记录,对于prometheus和grafana的安装不做介绍。

首先要采集trino的数据,trino本身是一个java程序,因为可以使用java的工具来收集数据,那么首推的就是jvm的监控工具jmx,这里介绍prometheus开发的jmx工具JMX Exporter。

什么是 JMX Exporter ?

JMX Exporter 利用 Java 的 JMX 机制来读取 JVM 运行时的一些监控数据,然后将其转换为 Prometheus 所认知的 metrics 格式,以便让 Prometheus 对其进行监控采集。

配置步骤

一.配置trino的jmx

1. 首先下载Prometheus的jmx jar包

cd /seadoop/data1/trino/trino-server-426/jmx-exporterwget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.19.0/jmx_prometheus_javaagent-0.19.0.jar ./

2. 配置jmx的采集规则

创建一个jmx_config.yaml配置文件,录入规则,这里匹配全部规则,全部采集

rules:
- pattern: ".*"

3. 配置trino的jvm.config文件

-server
-Xmx50G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+UnlockDiagnosticVMOptions
-XX:-OmitStackTraceInFastThrow
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
# 添加下面这行,设置端口号随意,这里设置的3900
-javaagent:/seadoop/data1/trino/trino-server-426/jmx-exporter/jmx_prometheus_javaagent-0.19.0.jar=3900:/seadoop/data1/trino/trino-server-426/jmx-exporter/jmx_config.yaml

4. 启动trino

./bin/launcher start

5. 查看采集参数

访问主节点的3900端口,可以看到很多参数

二.配置prometheus

prometheus的安装部署略,把上面的jmx采集的信息导入到prometheus里面,修改prometheus的配置文件prometheus.yml,添加上面的地址10.8.131.123:3900,起一个名字为trino

global:scrape_interval: 15sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']- job_name: 'trino'static_configs:- targets: ['10.8.131.123:3900']- job_name: 'Iceber_Optimize'static_configs:- targets: ['10.38.149.106:31631']

打开prometheus的UI,选择点击target,可以看到新的job及endpoint已经添加了

三.配置grafana

grafana的安装部署略,按照如下步骤添加grafana的data source和trino的监控UI

1.配置prometheus的data source

点击菜单栏Connections

添加prometheus数据源

填入监控的job名称,及prometheus的server地址,保存返回可以看到新添加了一个trino的data source

2.下载grafana的trino监控模板

有了数据源,我们可以自定义模板,然后写sql语句去创建自己想要的监控UI,但是这又耗时又耗精力,为此grafana提供了模板上传的功能,就是有其他人做好的相关模板上传到grafana的官网,我们直接去下载这些模板导入到自己的grafana中,修修改改,这样就省去了大部分时间。

来到grafana的dashborad官网

Grafana dashboards | Grafana Labs

这里输入trino,可以找到两个网友上传的模板,点进去download json文件,这样模板就下载好了

3.导入trino模板,查看UI

点击自己的grafana的dashboard,NEW > Import,导入刚才下载的json文件,可以看到genaral下面添加了这个模板

import时选在上面定义好的数据源trino

点击模板查看监控,成功!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全框架及模型-PPDR模型

网络安全框架及模型-PPDR模型 概述: 为了有效应对不断变化的网络安全环境,人们意识到需要一种综合性的方法来管理和保护网络安全。因此,PPDR模型应运而生。它将策略、防护、检测和响应四个要素结合起来,提供了一个全面的框架来处理网络安全问题。 工作原理: PPDR模型的…

渗透测试之Web基础之Linux病毒编写——泷羽sec

声明: 学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 (bilibili.com)https://space.bilibili.com/350329294 导读: 时刻…

Qt几何数据类型:QLine类型详解(基础向)

QLine类 QLine 是 Qt 提供的一个简单的几何类,适用于整数精度的线段表示,用于表示二维空间中的直线段。它主要用于计算和绘图中的基本几何处理。 如果需要更复杂的功能(如角度计算或长度的浮点表示),可以转为 QLineF。…

Ubuntu22.04上kdump和crash的使用

0.前言 1.引用: 解决Linux内核问题实用技巧之 - Crash工具结合/dev/mem任意修改内存-腾讯云开发者社区-腾讯云 解决Linux内核问题实用技巧之-dev/mem的新玩法-腾讯云开发者社区-腾讯云 ubuntu内核转储分析——kdump和crash的下载和使用_ubuntu kdump-CSDN博客 U…

构建自己的docker的ftp镜像

aarch64系统可运行的docker镜像 构建自己的vsftpd镜像,我是在windows系统下的docker desktop中构建运行于aarch64 GNU/Linux系统的ftp镜像。 系统环境: Welcome to Debian GNU/Linux with Linux x.x.x dockerfile FROM ubuntu:latestUSER rootRUN ap…

【北京迅为】iTOP-4412全能版使用手册-第三十二章 网络通信-TCP套字节

iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、…

JavaScript(JS)的对象

目录 1.array 数组对象 2.String 字符串对象 3.JSON 对象(数据载体,进行数据传输) 4.BOM 浏览器对象 5.DOM 文档对象(了解) 1.array 数组对象 定义方式1:var 变量名 new Array(元素列表); 定义方式…

Cannot resolve symbol ‘ActivityThread‘ | Android 语法

背景 ActivityThread 是 Android 系统内部使用的一个类,它位于 android.app 包中,但在 Android SDK 的公共 API 中并没有公开。 由于 ActivityThread 是隐藏的内部类,因此在编写单元测试或功能开发时,无法直接引用它。可以使用反射来访问内部 API,或者使用依赖注入的方式…

AI论文速读 | TimeXer:让 Transformer能够利用外部变量进行时间序列预测

题目: TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables 作者:Yuxuan Wang ; Haixu Wu(吴海旭) ; Jiaxiang Dong ; Yong Liu ; Yunzhong Qiu ; Haoran Zhang ; Jianmin Wang(…

Zustand的学习和应用

Zustand 是一个轻量级的状态管理库,适用于 React 应用程序。它以简单易用、高性能和无模板代码的特性受到开发者的喜爱。 https://zustand.docs.pmnd.rs/guides/tutorial-tic-tac-toe 以下是 Zustand 的核心特点和用法简介: Zustand 核心特点 轻量简…

【从零开始的LeetCode-算法】3274. 检查棋盘方格颜色是否相同

给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。 以下是棋盘的参考图 如果这两个方格颜色相同,返回 true,否则返回 false。 坐标总是表示有效的棋盘方格。坐标的格式总是先字母(表示列…

常见问题QA的前端代码

这个的后端代码参见此文 使用语言向量建立常见问题的模糊搜索-CSDN博客https://blog.csdn.net/chenchihwen/article/details/144207262?spm1001.2014.3001.5501 这段代码实现了一个简单的问答页面,页面分为左右两部分,左侧用于展示对话记录&#xff0c…

互联网 Java 面试八股文汇总(2025 最新整理)

我分享的这份 Java 后端开发面试总结包含了 JavaOOP、Java 集合容器、Java 异常、并发编程、Java 反射、Java 序列化、JVM、Redis、Spring MVC、MyBatis、MySQL 数据库、消息中间件 MQ、Dubbo、Linux、ZooKeeper、 分布式 &数据结构与算法等 25 个专题技术点,都…

CTF之密码学(密码特征分析)

一.MD5,sha1,HMAC,NTLM 1.MD5:MD5一般由32/16位的数字(0-9)和字母(a-f)组成的字符串 2.sha1:这种加密的密文特征跟MD5差不多,只不过位数是40(sha256:64位;sha512:128位) 3.HMAC:这…

Linux 入门——基本指令2

目录 1. 通配符的使用 1)基本使用 2) 拓展使用 2. cp 文件拷贝 基本使用 3. mv :文件剪切或者文件重命名 4. more 指令 5. less 指令 6. cat ,more , less 指令的区别 7. head 8. tail 9. date 日期,时间相关的指令 1&…

2024年12月3日Github流行趋势

项目名称:Lobe Chat 项目维护者:arvinxx, semantic-release-bot, canisminor1990, lobehubbot, renovate项目介绍:一个开源的、现代化设计的人工智能聊天框架。支持多种AI提供商(OpenAI / Claude 3 / Gemini / Ollama / Qwen / De…

vue2+cesium初始化地图

目录 1、在vue2项目中下载cesium 2、安装loader 3、更改vue.config.js中的配置 4、main.js中引入 5、App.vue中设置样式 6、新建map.vue 其中代码如下: 7、在App.vue中使用Map组件 8、效果展示: 1、在vue2项目中下载cesium npm install cesium 可…

CTF-PWN: WEB_and_PWN [第一届“吾杯”网络安全技能大赛 Calculator] 赛后学习(不会)

附件 calculate.html <!DOCTYPE html> <html lang"en"> <head><!-- 设置字符编码为 UTF-8&#xff0c;支持多语言字符集 --><meta charset"UTF-8"><!-- 设置响应式视图&#xff0c;确保页面在不同设备上自适应显示 --&…

TYUT设计模式精华版

七大原则 单一职责原则 职责要单一不能将太多的职责放在一个类中 开闭原则 软件实体对扩展是开放的&#xff0c;但对修改是关闭的 里氏代换原则 一个可以接受基类对象的地方必然可以接受子类 依赖倒转原则 要针对抽象层编程&#xff0c;而不要针对具体类编程 接口隔离原则 …

Android 使用OpenGLES + MediaPlayer 获取视频截图

概述 Android 获取视频缩略图的方法通常有: ContentResolver: 使用系统数据库MediaMetadataRetriever: 这个是android提供的类&#xff0c;用来获取本地和网络media相关文件的信息ThumbnailUtils: 是在android2.2&#xff08;api8&#xff09;之后新增的一个&#xff0c;该类为…