首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是 JMX?(Trino JMX 实战讲解)

一、概述

是 (Java管理扩展) 的缩写,它是 Java 平台上用于管理和监控应用程序、系统和网络资源的一种标准化的管理和监控框架。 提供了一种标准的方式,通过这种方式,开发人员可以暴露应用程序中的各种管理和监控信息,然后可以使用  客户端工具或应用程序来访问和操作这些信息。

允许开发人员定义称为 的管理组件,这些组件充当被管理资源的代理,并通过  接口公开资源的操作和属性。通过 ,您可以监控和管理各种 Java 应用程序和服务器的性能、状态和配置。

主要用于以下一些方面:

监控:可以使用  来监视应用程序的性能指标,例如内存使用、线程数、请求处理速度等。这对于实时性能分析和故障排除非常有帮助。

管理:JMX 允许您在运行时管理应用程序,例如修改配置参数、重新加载资源、触发操作等。这有助于实现动态管理和配置。

远程管理:JMX 支持远程访问,这意味着您可以在不必物理接触应用程序的情况下,从远程位置监控和管理应用程序。

自定义监控:您可以编写自定义  来公开特定于您的应用程序的监控数据和操作,以满足特定的管理需求。

总之, 提供了一个强大的框架,用于管理和监控 Java 应用程序,这对于确保应用程序的稳定性和性能至关重要。它广泛用于企业级应用程序和服务器,如应用程序服务器、数据库服务器和中间件。

二、JMX 原理

从图中我们可以看到,JMX的结构一共分为三层:

基础层:主要是 ,被管理的资源。

分为如下四种,我接下来主要介绍

适配层:MBeanServer,主要是提供对资源的注册和管理。

接入层:提供远程访问的入口。

三、实战操作(开启 Trino JMX)

1)环境部署

如果想快速部署,可以参考我之前的文章:

Trino官方文档:https://trino.io/docs/current/

这里为了快速部署就选择docke-compose部署了。

2)开启 Trino JMX

官方文档:https://trino.io/docs/current/admin/jmx.html

1、配置 config.properties

参数解释:

:指定jmx RMI注册表的端口。JMX客户端应该连接到此端口。

:指定jmx RMI服务器的端口。Trino导出许多指标,这些指标对于通过JMX进行监控非常有用。

2、配置 jvm.config

、 和  这三者都涉及到 和远程管理的端口配置,但它们各自在不同的上下文中起作用:

:这个属性指定了  注册表()的端口号。RMI 注册表用于注册 JMX 服务,以便客户端可以查找并连接到 JMX 服务。通常情况下, 注册表使用默认端口号 。通过设置  属性,你可以指定  注册表使用的不同端口号,以防止端口冲突或增加安全性。

:这个属性指定了  服务本身的  通信端口号。 服务使用  进行远程通信,客户端通过这个端口与  服务通信。通常情况下,JMX 服务也使用默认的端口号 。通过设置  属性,你可以指定 JMX 服务的 RMI 端口号。

:这是 Java 系统属性,用于配置  远程连接的  端口号。它指定了客户端将用来连接到 JMX 服务的 RMI 端口号。通常情况下,如果不显式设置,它会使用与  相同的端口号。但你也可以使用这个系统属性来指定不同的端口号,以确保客户端可以连接到正确的端口。

这三者之间的关系是:

3、重新启动服务

4、获取监控数据

访问具体接口指标

3)通过 jconsole 连接 JMX

是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。如果要把一个应用以可管理的形式启动,可以在启动是设置 。

找到java安装bin目录,目录下有个jconsole可执行文件,双击点击打开。

也可以通过  连接 JMX 查看数据

4)常用的 Trino 指标接口和指标

查询所有jmx子接口:

以下就是常用的指标接口和指标说明:

上面只是开启了 Trino JMX,指标数据也采集了,怎么展示呢?下一篇文章重点讲解通过  采集数据,然后通过 Prometheus 拉取JMX采集的数据,最后通过Grafana展示。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OSdMd7J_LS00BWuwgzRhxIHw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券