Arthas


Arthas是阿里開源的一個java程序監控診斷工具。https://arthas.gitee.io/index.html

可以幫助我們監控程序運行中一些信息。

Arthas的使用我們可以直接使用jar包和我們的的程序一並運行,它會attach我們自己的程序進程,如果是springboot項目也可以在項目中引入依賴使用。

一.直接使用jar包

1.https://arthas.aliyun.com/arthas-boot.jar  下載Arthas jar包

2.啟動我們自己的程序  jps查看查看到PID是7616

 

 

 3.直接啟動下載好的arthas jar包:  java -jar arthas-boot.jar  它也會列出來所有的java程序的pid

 

 

 

4.輸入想要attach 的進程id前面的序號 就可以成功進入arthas的控制台了,就可以對我們程序進行診斷和

 

 

 5.詳細的一些使用指令可以查看官方文檔https://arthas.gitee.io/quick-start.html    https://arthas.gitee.io/advanced-use.html

比如我們可以使用jad指令來反編譯,看看我們運行的代碼是否是正確版本的代碼:jad  類的全路徑名

 

 

 還可以使用watch指令進行方法執行數據的觀測:watch 全路徑類名 方法名 觀察表達式  -x 3   

觀察表達式匹配ognl表達式,觀察的維度也比較多,主要體現在參數 advice 的數據結構上。Advice(https://arthas.gitee.io/advice-class.html) 參數最主要是封裝了通知節點的所有信息

比如:watch com.nijunyang.arthas.controller.Controller test "{params,returnObj}" -x 3

查看test方法的入參和出參,-x表示的是遍歷結果深度默認1,只會打印對象的堆地址,看不到具體的屬性值

我們請求這個接口的地址,查看一下arthas監控到的結果信息。

 

 

 2會打印結果的屬性值的信息

 

 

 3會輸出入參屬性值和結果屬性值

 

 

 還可以使用jvm指令查看jvm的信息等

二.springboot中使用

在springboot中使用需要通過web console來進行交互使用。arthas tunnel server 連接遠程 arthas,這里使用tunnel server直接使用arthas源碼中的工程啟動的,arthas源碼:https://gitee.com/arthas/arthas.git

1.下載源碼啟動tunnel-server工程

 

tunnel-server默認端口是8080,可以自己去配置端口,啟動之后訪問8080端口就可以看到web console了

 

 

 

 

 

2.springboot工程加入依賴,添加配置

        <dependency>
            <groupId>com.taobao.arthas</groupId>
            <artifactId>arthas-spring-boot-starter</artifactId>
            <version>3.4.8</version>
        </dependency>
arthas:
  agent-id: hsehdfsfghhwertyfad
  tunnel-server: ws://127.0.0.1:7777/ws

3.使用web console連接使用

連接的port和agentId和工程中配置的一致即可:

 

 4.一樣使用arthas的指令即可進行監控查看了

 

 

 

 

 具體的一些指令的使用查閱官方文檔即可:https://arthas.gitee.io/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM