Arthas使用的各類方式是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司2013年至今,公司以網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶千余家,涉及國(guó)內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
Arthas 是阿里巴巴開源的 Java 診斷工具。讓我們能夠在線排查項(xiàng)目發(fā)生的問(wèn)題。除了知道它的存在之外,我們也需要知道我們?nèi)绾稳グ惭b使用它,以便于提高我們?nèi)粘i_發(fā)解決 BUG 的效率。
往往最簡(jiǎn)單的方法實(shí)際是最有效的,它本身就是一個(gè)可運(yùn)行的程序,所以我們可以直接運(yùn)行即可。
我們可以直接通過(guò)官網(wǎng)下載對(duì)應(yīng)的 jar,然后運(yùn)行再進(jìn)行 jar,執(zhí)行對(duì)應(yīng)的命令。
命令如下:
java -jar arthas-boot.jar [option]
演示如下:
我們可以不通過(guò)每次進(jìn)入 ssh 中進(jìn)行執(zhí)行程序,我們也可通過(guò) web 方式進(jìn)行訪問(wèn)操作.通過(guò)官網(wǎng)上面的介紹 arthas 的 Web Console,能了解到大致的搭建思路。
通過(guò)下載 arthas-tunnel-server。我們可以拿到對(duì)應(yīng)的 arthas 的 server 端。下載完畢之后直接運(yùn)行即可(我是將其在 ECS 上直接運(yùn)行)。
在客戶端對(duì)應(yīng)的啟動(dòng) arthas-boot。并且通過(guò)啟動(dòng)參數(shù)附加上 server 的地址(我是將其在本地運(yùn)行)。
選擇對(duì)應(yīng)的進(jìn)程進(jìn)行 attach,會(huì)出現(xiàn)對(duì)應(yīng)的 agent-id,再將其填寫到對(duì)應(yīng)的 server 端 http 頁(yè)面中。
最后我們就可以再 server 端進(jìn)行操作,即 Web Console 實(shí)現(xiàn)完成。
基于 Spring 相關(guān)搭建的項(xiàng)目直接加入依賴(需要對(duì)應(yīng)的環(huán)境支持,例如不能缺少 tools.jar)。
SpringBoot 項(xiàng)目依賴:
<dependency> <groupId>com.taobao.arthas</groupId> <artifactId>arthas-spring-boot-starter</artifactId> <version>${arthas.version}</version> </dependency>
非 SpringBoot 項(xiàng)目依賴:
<dependency> <groupId>com.taobao.arthas</groupId> <artifactId>arthas-agent-attach</artifactId> <version>${arthas.version}</version> </dependency> <dependency> <groupId>com.taobao.arthas</groupId> <artifactId>arthas-packaging</artifactId> <version>${arthas.version}</version> </dependency>
本地項(xiàng)目啟動(dòng)之后可以直接訪問(wèn):
http://127.0.0.1:3658/
當(dāng)然還可以結(jié)合上面介紹的 Web Console。例如配置文件中增加對(duì)應(yīng)的配置信息:
arthas.agent-id=qwejqjnnnunnq arthas.tunnel-server=ws://server地址:7777/ws
演示如下:
以上步驟就是先把 tunnel-server 啟動(dòng),然后本地配置連接 tunnel-server。然后輸入配置的 Id,即可完成對(duì)應(yīng)的調(diào)試。
基于 docker 配置,目前上容器服務(wù)的企業(yè)不在少數(shù)。對(duì)于容器服務(wù),也是可以適用的。將 jar 下載下來(lái)之后進(jìn)行 ADD 操作,或者每次通過(guò)構(gòu)建 Dockerfile 則會(huì)產(chǎn)生對(duì)應(yīng)含有 arthas 的鏡像文件。
這里介紹下通過(guò) Dockerfile 進(jìn)行構(gòu)建:
FROM openjdk:8-jdk-alpine ADD target/*.jar app.jar # copy arthas COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas RUN apk add --no-cache tini ENTRYPOINT ["/sbin/tini", "--"] CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] MAINTAINER Montos 1367654518@qq.com
上述是通過(guò)構(gòu)建 Dockerfile 來(lái)完成的,這里就直接將鏡像文件貼出來(lái),這里是將當(dāng)前 arthas 中的文件復(fù)制到對(duì)應(yīng)的容器中,之后我們可以通過(guò) exec -it 進(jìn)入執(zhí)行,步驟和方法一類似。
通過(guò)上面的介紹,其實(shí)我更推薦使用 Web 接入的方式更好,原因如下:
在服務(wù)直接部署在服務(wù)器上或者 ECS 云服務(wù)器情況下。我們可以直接運(yùn)行在對(duì)應(yīng)的 client 端,但是我們?nèi)绾紊系礁鱾€(gè)服務(wù)所在的服務(wù)器上?通過(guò)跳板機(jī)?那么我們是不是操作的時(shí)候會(huì)有可能對(duì)應(yīng)服務(wù)器造成影響,直接連接服務(wù)器上是肯定不行的。
服務(wù)在所運(yùn)行的 pod 情況下。此時(shí)讓你連接服務(wù)是影響是比上面的情況會(huì)小很多,如果發(fā)生影響也只是影響到當(dāng)前運(yùn)行的 pod。但是如果你想直接連接 pod,那么需要的將對(duì)應(yīng)的 pod 端口需要映射到對(duì)應(yīng)的宿主機(jī)上,然后再提供外部訪問(wèn) ecs 的鏈接。這樣會(huì)使得每次 pod 需要映射出去的端口需要一定的規(guī)則,無(wú)疑是加大了運(yùn)維等工作,運(yùn)行則也消耗了當(dāng)前的資源(訪問(wèn)頁(yè)面等等則走 http 接口請(qǐng)求,如果通過(guò) ws 連接,減少 7 層方面消耗)。
如果通過(guò)上述方法,那么我們可以再一臺(tái)機(jī)器上運(yùn)行 server 即可,我們每次訪問(wèn)都通過(guò)訪問(wèn) server 去連接到到對(duì)應(yīng)的 client 端,同時(shí)對(duì)應(yīng)的 agent-id 可以指定,我們可以每次 pod 進(jìn)行 client 運(yùn)行的時(shí)候指定當(dāng)前的 agent-id,讓其與當(dāng)前的 pod 進(jìn)行一個(gè)綁定,便于我們通過(guò) server 進(jìn)行連接。
當(dāng)然上述觀點(diǎn)仁者見仁智者見智。以上介紹了幾種部署以及運(yùn)行 arthas 的方法,企業(yè)可以根據(jù)當(dāng)前的項(xiàng)目架構(gòu)選擇合適的部署進(jìn)行解決。為什么需要????就因?yàn)槟軒椭_發(fā)解決問(wèn)題,不需要來(lái)回發(fā)版!
歡迎登陸 start.aliyun.com 知行動(dòng)手實(shí)驗(yàn)室體驗(yàn) Arthas 57 個(gè)動(dòng)手實(shí)驗(yàn):https://start.aliyun.com/handson-lab/#!category=arthas
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
本文題目:Arthas使用的各類方式是怎樣的
路徑分享:http://aaarwkj.com/article28/isgjcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、定制網(wǎng)站、定制開發(fā)、品牌網(wǎng)站制作、網(wǎng)站維護(hù)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)