首页 > 编程语言 >visualvm远程连接Docker容器中部署的java应用并监控

visualvm远程连接Docker容器中部署的java应用并监控

时间:2024-11-11 15:14:54浏览次数:3  
标签:java root drug usr jstatd Docker visualvm local

visualvm远程连接Docker容器中部署的java应用

前言

jdk1.8中自带了,java11中需要单独下载

下载地址

visualvm下载地址

简介

java虚拟机监控,故障排查及性能分析工具。

网络配置

局域网与docker内网打通,请参考:办公网络与Docker内网网络互通

服务于网络

服务名称节点IPjava服务IP连接服务默认端口JDK版本
drug192.168.1.218172.18.0.9jstatd109911.0.11

jstatd–监控方法

进入容器–创建安全策略文件
[root@dev-2 ~]# docker exec -it drug /bin/bash
root@drug:/usr/local# echo 'grant {
    permission java.security.AllPermission;
    permission java.util.PropertyPermission "java.rmi.server.ignoreSubClasses", "write";
};' > /usr/local/jstatd.all.policy
启动jstatd服务
root@drug:/usr/local# jstatd -J-Djava.security.policy=jstatd.all.policy -p 1099
jstatd started (bound to //:1099/JStatRemoteHost)
添加监控主机

在这里插入图片描述

连接正常获取进程如下

在这里插入图片描述

双击进程信息查看监控信息

在这里插入图片描述

jstatd没有CPU信息,可以使用jmx方式连接获取CPU信息。

JMX–监控方法

进入容器–获取主进程ID
[root@dev-2 ~]# docker exec -it drug /bin/bash
root@drug:/usr/local# jps -l
310 jdk.jcmd/sun.tools.jps.Jps
7 /usr/local/app.jar
使用 jcmd 动态启用 JMX
root@drug:/usr/local# jcmd 7  ManagementAgent.start jmxremote.port=9999 jmxremote.authenticate=false jmxremote.ssl=false
7:
Command executed successfully
添加监控主机

在这里插入图片描述
在这里插入图片描述

连接正常获取进程如下

在这里插入图片描述

标签:java,root,drug,usr,jstatd,Docker,visualvm,local
From: https://blog.csdn.net/u012429202/article/details/143686316

相关文章

  • 将学习型索引ALEX的cmake项目在虚拟机上用java运行
    一、环境配置虚拟机:Centos7gcc-v:11.2.1java-version:1.8.0 二、ALEX实现步骤   1、安装c++输入命令sudoapt-getinstallg++出错sudo:apt-get:找不到命令原因:Centos7中用yum命令下载再次输入命令sudoyuminstallg++再次报错已加载插件:fastestmirror,l......
  • Java 日期 API
    JDK8之前日期与时间戳之间的转换publicclassTest{publicstaticvoidmain(String[]args){Datedate=newDate();System.out.println("date="+date);//date=SunSep2614:48:52CST2021Datedate1=newDate(1632638970000L......
  • 搭建云网站数据处理的环境——安装docker
    1、打开会话查询docker版本号输入:docker-v得到相关版本号回复:例如:2、在终端中输入命令来查看GPU驱动版本输入:nvidia-smi3、添加或者修改docker配置文件输入:cd/etc/docker再输入:sudovimdaemon.json进入文本修改界面点击按键“i”进行修改,修改内容如下:点击查看代......
  • Java爬虫:京东商品SKU信息的“偷心盗贼”
    在这个信息爆炸的时代,数据就像是藏在深山里的宝藏,等待着我们这些“数据探险家”去发掘。今天,我们要化身为一名“偷心盗贼”,用Java这把锋利的“剑”,精准地从京东的海洋中窃取商品的SKU信息。别担心,我们这是合法的“盗窃”,因为我们只是在学习如何用代码与网页对话。环境准备:装......
  • Java爬虫精准获得JD商品SKU信息
    在数字化时代,数据的价值日益凸显,尤其是在电商领域。通过爬虫技术,我们可以从网站中提取有价值的信息,用于市场分析、价格监控等。Java作为一种成熟且功能强大的编程语言,拥有丰富的库支持,使其成为编写爬虫的理想选择。本文将详细介绍如何使用Java编写爬虫,以精准获取京东(JD)商品的详......
  • 2024年Java后端开发最全面试攻略,不管你工作几年,都得看看
    互联网公司的面试,从形式上说,一般分为2~3轮技术面+1轮HR面,不过某些公司没有HR面试。在技术面试中,面试官一般会就你所应聘的岗位进行相关知识的考察,也叫基础知识和业务逻辑面试,只要回答的不是特别差,面试官通常会继续跟你聊聊项目,这个时候就开始了项目面试。也就是说,技......
  • jsp页面和Java代码
    EL用于在jsp页面获取servlet传的值使用方式1.在头文件里开启不忽略el表达式<!--jsp头文件isELIgnored="false"这里是不忽视el语法--><%@pagecontentType="text/html;charset=UTF-8"language="java"isELIgnored="false"%>2.使用${name}方式来获取传来的值实......
  • java里面使用groovy案例+详解
    场景:最近有一个计算商品运费的,如果商品的数量大于快递公司设置的数量10那么超出部分也需要计算额外运费,那么这些计算过程代码我能不能不在java里面写呢,用一种可配置化的方式来根据不同的传参计算出运费?页面传参[{“key”:“起订量(大单位)”,“isRequired”:true,“is......
  • 20万字208道Java经典面试题总结(附答案)
    1、JDK和JRE有什么区别?JDK(JavaDevelopmentKit),Java开发工具包JRE(JavaRuntime Environment),Java运行环境JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。2、==和 equals 的区别是什么?对于基本类型,==比较的......
  • 2024年最全java面试题(八股文)
    1.Java基础1.1为什么Java代码可以实现一次编写、到处运行?在程序运行前,Java源代码(.java)需要经过编译器编译成字节码(.class)。在程序运行时,JVM负责将字节码翻译成特定平台下的机器码并运行,也就是说,只要在不同的平台上安装对应的JVM,就可以运行字节码文件。1.2一个Java文件里......