摘要

jconsole 是JDK自带的一款图形化监测工具
他可以监测本地程序,也可以检测远程的机器
在没有其他监控手段可以使用的情况下可以快速进行必要的监测
使用方法也比较简单.

本地监控

jconsole 存在于jdk的bin 目录下
所以不管是windows还是linux
只要PATH下面有jdk相关的 bin 目录就可以通过命令行
jconsole的方式打开进程 可以选择是否本地监控,就可以附加到本地的jvm进程上面.
可以选择使用不安全的连接就可以了

jconsole的简单介绍

1. 概览
可以查看JVM的大体信息,比如JVM的内存, 线程等情况
也能看到CPU占用率,以及class的总数
可以选择时间周期进行查看.
2. 内存
可以分不同类型查看内存的使用情况.
如果有OOM的情况在宕机之前还是能看到很多内容的.
3. 线程
可以展示线程的详细信息.
点击左下角能够看到线程的堆栈信息.可以进行简单问题定位.
4. 类
查看类的加载卸载情况.
5. VM概要
类似于 jinfo $pid的效果,比较直观和全面.
6. Mbean
查看加载的bean等情况, 这一块我不太清楚具体用途.

远程监控

可以在远程服务器的JVM的启动脚本上面增加如下参数
在启动服务后就可以输入远程ip加 61127 的端口就可以远程挂载了.
这种方式比较危险, 没有安全校验.
-Dcom.sun.management.jmxremote.port=61127
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

增加认证的远程

可以增加用户密码等信息.
需要注意着原始文件的默认路径为:
/jre/lib/security/
可以复制一个文件 增加上一行 比如:
zhaobsh Testxxxx 就可以在远程时输入密码就可以了. -Dcom.sun.management.jmxremote.port=61127
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=/path/to/jmxremote.password

增加ssl认证的远程

  • 过程比较复杂, 其实可以放到默认的jdk的ca仓库中.
  • JDK的默认ca的truststore的密码是 changeit
  • 这一块我还没有仔细做实验. 改天可以尝试.
# 可以使用jdk自带的keytool命令创建证书
keytool -genkeypair -alias jconsole -keyalg RSA -validity 36500
-storetype pkcs12 -keystore jconsole.keystore
-storepass Testxxxx -keypass Testxxxx
-dname "CN=inspur,OU=org,O=gs,L=jinan,S=shandong,C=CN" 命令解释:
-alias jconsole 密钥对别名为jconsole
-keystore jconsole.keystore 密钥库名称为jconsole.keystore
-storepass Testxxxx 存储密码为 Testxxxx
-keypass Testxxxx 密钥密码为 Testxxxx
-dname 证书申请实体信息

导出证书以及添加到授信CA

keytool -exportcert -alias jconsole
-storetype pkcs12 -keystore jconsole.keystore
-file jconsole.cer -storepass Testxxxx keytool -importcert -alias jconsole
-file jconsole.cer -keystore jconsole-ssl.truststore
-storepass Testxxxx -noprompt

创建应用的证书

# 创建
keytool -genkeypair -alias app -keyalg RSA
-validity 36500 -storetype pkcs12 -keystore app.keystore
-storepass Testxxxx -keypass Testxxxx
-dname "CN=inspurAPP,OU=org,O=gs,L=jinan,S=shandong,C=CN"
# 导出
keytool -exportcert -alias app
-storetype pkcs12 -keystore app.keystore
-file app.cer -storepass Testxxxx
# 导入到授信ca
keytool -importcert -alias app -file app.cer
-keystore app-ssl.truststore -storepass Testxxxx -noprompt

服务端JDK8的自动启动

-Dcom.sun.management.jmxremote.port=61127
-Dcom.sun.management.jmxremote.password.file=/path/to/jmxremote.password
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=true
-Dcom.sun.management.jmxremote.registry.ssl=true
-Dcom.sun.management.jmxremote.ssl.need.client.auth=true
-Djavax.net.ssl.trustStore=/patch/to/jconsole-ssl.truststore
-Djavax.net.ssl.trustStorePassword=Testxxxx
-Djavax.net.ssl.keyStore=${path}
-Djavax.net.ssl.keyStorePassword=Testxxxx

客户端Jconsole的启动

jconsole
-J-Djavax.net.ssl.trustStore=F:\professional\java-cert\app-ssl.truststore
-J-Djavax.net.ssl.trustStorePassword=Testxxxx
-J-Djavax.net.ssl.keyStore=F:\professional\java-cert\jconsole.keystore
-J-Djavax.net.ssl.keyStorePassword=Testxxxx # 注意学习自: https://blog.csdn.net/qq_41633199/article/details/120777327 感觉ssl还是比较复杂的, 建议用密码就可以了..

jconsole的简单学习的更多相关文章

  1. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  2. shiro简单学习的简单总结

    权限和我有很大渊源. 培训时候的最后一个项目是OA,权限那块却不知如何入手,最后以不是我写的那个模块应付面试. 最开始的是使用session装载用户登录信息,使用简单权限拦截器做到权限控制,利用资源文 ...

  3. CentOS 简单学习 firewalld的使用

    1. centos7 开始 使用firewalld 代替了 iptables 命令工具为 firewall-cmd 帮助信息非常长,简单放到文末 2. 简单使用 首先开启 httpd 一般都自带安装了 ...

  4. Windows 下 Docker 的简单学习使用过程之一 dockertoolbox

    1. Windows 下面运行 Docker 的两个主要工具1): Docker for Windows2): DockerToolbox区别:Docker For Windows 可以理解为是新一代 ...

  5. 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习

    嘿嘿,我来啦,最近忙啦几天,使用MVC把应该实现的一些功能实现了,说起来做项目,实属感觉蛮好的,即可以学习新的东西,又可以增加自己之前知道的知识的巩固,不得不说是双丰收啊,其实这周来就开始面对下载在挣 ...

  6. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  7. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  8. mongodb,redis简单学习

     2.mongodb安装配置简单学习                   配置好数据库路径就可以mongo命令执行交互操作了:先将服务器开起来:在开个cmd执行交互操作                 ...

  9. html css的简单学习(三)

    html css的简单学习(三) 前端开发工具:Dreamweaver.Hbuilder.WebStorm.Sublime.PhpStorm...=========================== ...

  10. html css的简单学习(二)

    html css的简单学习(二) <!Doctype html>告诉浏览器,这是一个html文档.lang="en" 默认是en,表示英语:zh-Hans 中文简体:z ...

随机推荐

  1. 想了解Webpack,看这篇就够了

    摘要:Webpack是一种前端资源构建工具,一个静态模块打包器. 1. 摘要 Webpack是一种前端资源构建工具,一个静态模块打包器.在Webpack看来,前端的所有资源文件(js/json/css ...

  2. 个性化联邦学习算法框架发布,赋能AI药物研发

    摘要:近期,中科院上海药物所.上海科技大学联合华为云医疗智能体团队,在Science China Life Sciences 发表题为"Facing Small and Biased Dat ...

  3. APP 备案公钥、签名 MD5、SHA-1、SHA-256获取方法。

    ​ 公钥和 MD5 值可以通过苹果开发工具.Keytool.appuploder 等多种工具获取,最简单的就是以 appuploader为例. 1.下载 appuploader工具 ,点击此处 下载 ...

  4. 火山引擎 DataLeap 一招教你避坑“数据开发”中的资源隔离问题

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在离线数仓开发过程中,研发人员需要根据业务变化,在开发/生产环境中不断切换.解析.调试.以往,企业一般通过人工方式 ...

  5. Solon 开发进阶,一、插件扩展机制

    Solon 开发进阶 一.插件扩展机制 二.体外扩展机制 三.常用配置说明 四.启动参数说明 五.全局异常订阅 像 @Tran.@Cache 之类的注解开发成果,都会希望能在所有项目中复用.Solon ...

  6. 遇事不决,量子力学;不懂配色,赛博朋克。推荐一个Python可视化库

    遇事不决,量子力学;不懂配色,赛博朋克.推荐一个Python可视化库 12月10日,历经多次跳票后,波兰公司CD Projekt Red制作的<赛博朋克2077>终于正式发售,在Steam ...

  7. Linux day2:文件和文件夹相关命令 文件内容编辑命令 Linux常用目录 Linux重要文件

    目录 问题说明 前期必备知识 系统运行命令 shutdown -c 快捷方式命令 ctrl+e 目录结构相关命令 mkdir -p 文件和文件夹相关命令 创建文件 touch 查看文件和目录 ls - ...

  8. 转载--阿里云ECS自建K8S集群

    一.概述(官方建议) 集群规划 目前在创建Kubernetes集群时,存在着使用很多小规格ECS的现象,这样做有以下弊端: 小规格Woker ECS的网络资源受限. 如果一个容器基本可以占用一个小规格 ...

  9. mysql--read only

    问题背景: 1.在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-Slave主从关系设置 2.数据库参数文件默认是只读,重启数据库服务时 解决方法: 1.在my.cnf配置文件中添 ...

  10. 用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?

    在去年疫情期间,在线教育行业获得了井喷式的发展,这背后的技术功臣非 RTC 莫属.本文将分享 RTC 技术在音乐教育场景下的实践经验. 作者| 逸城 审校| 泰一 音乐教育场景 - 在线陪练 2020 ...