SpringBoot整合java诊断工具Arthas解读
作者:LoveDR_1995 发布时间:2023-08-07 10:39:03
标签:SpringBoot,java,诊断工具,Arthas
一、Arthas官方文档
https://arthas.aliyun.com/doc/
二、springBoot整合方式
1、pom文件引入
<dependency>
<groupId>com.taobao.arthas</groupId>
<artifactId>arthas-spring-boot-starter</artifactId>
<version>3.6.7</version>
</dependency>
2、yaml文件引入
arthas:
# telnetPort、httpPort为 -1 ,则不listen telnet端口,为 0 ,则随机telnet端口
# 如果是防止一个机器上启动多个 arthas端口冲突。可以配置为随机端口,或者配置为 -1,并且通过tunnel server来使用arthas。
# ~/logs/arthas/arthas.log (用户目录下面)里可以找到具体端口日志
telnetPort: -1
httpPort: -1
# 127.0.0.1只能本地访问,0.0.0.0则可网络访问,但是存在安全问题
ip: 127.0.0.1
appName: arthas_test
# 默认情况下,会生成随机ID,如果 arthas agent配置了 appName,则生成的agentId会带上appName的前缀。
agent-id: hsehdfsfghhwertyfad
# tunnel-server地址
tunnel-server: ws://127.0.0.1:7777/ws
这里建议agent_id提前配置好。后续的控制台连接arthas需要使用。
3、下载arthas-tunnel-server
通过Arthas Tunnel Server/Client 来远程管理/连接多个Agent
1. 下载arthas-tunnel-server-3.6.7-fatjar.jar
https://github.com/alibaba/arthas/releases
2. 运行
windows
java -jar arthas-tunnel-server-3.6.7-fatjar.jar
linux
nohup java -jar arthas-tunnel-server-3.6.7-fatjar.jar > /dev/null 2>&1 &
3.登录查看注册上来的应用
http://127.0.0.1:8080/actuator/arthas 登陆用户名是arthas
密码在arthas tunnel server的日志里可以找到,比如:
Using generated security password: 6e00d3bd-e2b3-4147-b959-63854347cdc1
4、启动Arthas Tunnel Server及spring项目
5、登录Arthas Tunnel Server
输入地址:http://127.0.0.1:8080/并输入agent_id,界面如下图。
6、输入命令进行测试
dashboard,当前系统的实时数据面板
其他命令列表查看https://arthas.aliyun.com/doc/commands.html
来源:https://blog.csdn.net/xrq1995/article/details/128579477


猜你喜欢
- 目录1. 效果图2. 思路3. 实现步骤3.1 数据Bean类3.2 创建适配器3.3 继承Filterable接口3.4 过滤调用4. 优
- Java Config 下的Spring Test方式用了三种方式:1.纯手动取bean:package com.wang.test;imp
- 淘宝返回的数据为:{"code":0,"data":{"country":&qu
- 类锁和对象锁是否会冲突?对象锁和私有锁是否会冲突?通过实例来进行说明。一、相关约定为了明确后文的描述,先对本文涉及到的锁的相关定义作如下约定
- 什么是依赖注入首先,某个类的成员变量称为依赖,如若此变量想要实例化引用其类的方法,可以通过构造函数传参或者通过某个方法获取对象,此等通过外部
- 新项目Android和ios要做成统一样式,年龄,性别,时间,要做成滚轮效果,Android没有原生控件,只能自己定义,于是我较劲脑汁,终于
- 思路分析:要逆序遍历某个列表,首先要获得一个ListIterator对象,利用for()循环,以ListIterator类的hasNext(
- Android init.rc文件详解本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译.1 简
- 前言Object object = new Object();世间万物的本质都可看作类的对象,面向对象(OOP)的模式让程序易维护、易复用、
- 作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这
- AsyncTask是一个很常用的API,尤其异步处理数据并将数据应用到视图的操作场合。其实AsyncTask并不是那么好,甚至有些糟糕。本文
- 本文实例讲述了C#实现winform中RichTextBox在指定光标位置插入图片的方法。分享给大家供大家参考,具体如下://获取RichT
- 前言Go语言定义Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thomps
- 开发环境win10Android Studio效果用于多级菜单展示,或选择。如 每个省,市,县;如 树木的病虫害;关键代码 @overrid
- 前言:上篇总结了下WebApi的接口测试工具的使用,这篇接着来看看WebAPI的另一个常见问题:跨域问题。本篇主要从实例的角度分享下CORS
- 本文就来说一说微信开发第一步,公众号接入以及access_token的管理。一、微信公众号接入在微信公众号开发手册上,关于公众号接入这一节内
- 最近在看 C++ 的方法重载,我就在想 C# 中的重载底层是怎么玩的,很多朋友应该知道 C 是不支持重载的,比如下面的代码就会报错。#inc
- 微信公众号,仿照企业号的思路,增加了标签管理的功能,对关注的粉丝可以设置标签管理,实现更加方便的分组管理功能。开发者可以使用用户标签管理的相
- SpringMVC一般使用MultipartFile来做文件的上传,通过MultipartFile的getContentType()方法判定
- spring拓展 定义自己的namespace1.查看源码认识spring是怎么加载xml配置的1.1 spring是怎么创建对象的? 查看