生产VA扫描工具扫描到某个服务开启了1099 JMX 端口,需要将这个端口关闭
首先来了解下什么时JMX
所谓JMX,是Java Management Extensions的缩写,给我的感觉监控服务的JVM的小工具吧
打开本地jdk,bin目录,找到jconsole.exe ,双击就可以连接JMX了
连接后是这个样子的,可以视图化监控jvm
某个服务中使用了activemq,启动服务会有如下日志,开启了apache的jmx 1099端口,但是生产的端口管理需要这个端口,需要关闭
JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi | org.apache.activemq.broker.jmx.ManagementContext | JMX connector
关闭jmx有2个方法
1.启动时调jvm参数
-Dorg.apache.activemq.broker.jmx.createConnector = false)
2 在代码里面设置
org.apache.activemq.broker.jmx.createConnector=false
生产VA扫描工具扫描到某个服务开启了1099 JMX 端口,需要将这个端口关闭首先来了解下什么时JMX所谓JMX,是Java Management Extensions的缩写,给我的感觉监控服务的JVM的小工具吧打开本地jdk,bin目录,找到jconsole.exe ,双击就可以连接JMX了连接后是这个样子的,可以视图化监控jvm某个服务中使用了apachemq,启动服务会有如下日志,开启了apache的jmx 1099端口,但是生产的端口管理需要这个端口,需要关闭JMX console
1. 先看TongWeb的server.log中
JMX
日志url,可通过该URL使用jconsole连接。
[2020-11-05 10:12:54 025] [INFO][URL for the Standard
JMX
ConnectorServer : (service:
jmx
:rmi:///jndi/rmi://192.168.163.1:7200/
jmx
rmi)]
用户名:thanos 密码:thanos123.com (不同版本还可能不同,具体请参考手册)
JMX
(
Java
Management Extensions)是一个为应用程序植入管理功能的框架。
JMX
是一套标准的代理和服务,
实际上,用户可以在任何
Java
应用程序中使用这些代理和服务实现管理。主要用于对
JAVA
应用程序和JVM进行监控和管理。
JConsole和JVisualVM中能够监控到
JAVA
应用程序和JVM的相关信息都是通过
JMX
实现的。
线上等保测试爆出系统问题,
Java
JMX
代理不安全配置。一时间摸不到头脑。直到联系到了该问题的检测结构说出检测机理。
文章目录检测机理问题定位方法1、找出占用
端口
的进程2、查找对应的配置项3、探索
activemq
中是如何使用
jmx
的4、设置
关闭
,重启服务
1099
端口
是
jmx
开启
的默认
端口
。
问题定位方法
1、找出占用
端口
的进程
[root@iZ1adui04qZ webapps]# netstat -anp|grep
1099
tcp 0 0 0.0.0.0:109.
jcmd ${pid} ManagementAgent.start
jmx
remote.port=9999
jmx
remote.ssl=false
jmx
remote.authenticate=false
jcmd ${pid} ManagementAgent.stop
可以通过jvisualvm.exe去连接查看
jmx
监控信息
按
端口
号可分为3大类:
(1)公认
端口
(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些
端口
的通讯明确表明了某种服务的协议。例如:80
端口
实际上总是HTTP通讯。
(2)注册
端口
(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些
端口
,这些
端口
同样用
关闭
方式
在systemctl里设置环境变量Environment="KAFKA_
JMX
_OPTS=-Dcom.sun.management.
jmx
remote.host=127.0.0.1"
systemctl的相关配置
kafka [Unit]
Description=Apache Kafka server (broker)
Documentation=http://kafka.apa
默认情况下,
ActiveMQ
使用use
Jmx
后,
jmx
的url为
service:
jmx
:rmi:///jndi/rmi://localhost:
1099
/
jmx
rmi
这时,
jmx
的MBean server被绑死在localhost上,无法在broker所在机器以外的机器访问。
其实
ActiveMQ
提供了
jmx
相关的几个配置,不仅可以调整这个url中的ip和
端口
,还可以使用其他的MBea...
ActiveMQ
是一个流行的、开源的消息队列(Message Queue)和消息中间件(Message Middleware)实现,它支持多种语言和平台。以下是一些学习
ActiveMQ
的教程:
1.
ActiveMQ
官方文档:
ActiveMQ
的官方文档提供了全面而详细的说明,涵盖了
ActiveMQ
的基本概念、使用方法、配置、开发和集成等方面。
2. Apache
ActiveMQ
教程:这是一个适合初学者的
ActiveMQ
教程,涵盖了
ActiveMQ
的基本概念、配置、使用和集成等方面,并提供了许多示例代码。
3. Spring 整合
ActiveMQ
教程:这是一个介绍如何使用 Spring 框架集成
ActiveMQ
的教程,包括 Spring 中如何配置
ActiveMQ
、如何使用 Spring JMS API 和 Spring Boot 中如何使用
ActiveMQ
等内容。
4.
ActiveMQ
实战教程:这是一个基于实战的
ActiveMQ
教程,介绍了如何使用
ActiveMQ
解决实际问题,例如如何使用
ActiveMQ
实现异步通信、如何使用
ActiveMQ
实现分布式系统、如何使用
ActiveMQ
实现发布-订阅等等。
希望以上推荐的教程能帮助您更好地学习和使用
ActiveMQ
。
An operation on a socket could not be performed because the system lacked sufficient buffer space or
com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 0, fastjson-version 1
new ScriptEngineManager().getEngineByName()返回null
chenkangck50: