91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Arthas使用的各類方式是怎樣的

發布時間:2022-01-12 16:50:42 來源:億速云 閱讀:137 作者:柒染 欄目:云計算

Arthas使用的各類方式是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Arthas 是阿里巴巴開源的 Java 診斷工具。讓我們能夠在線排查項目發生的問題。除了知道它的存在之外,我們也需要知道我們如何去安裝使用它,以便于提高我們日常開發解決 BUG 的效率。

方案介紹

方案一:本地直接運行

往往最簡單的方法實際是最有效的,它本身就是一個可運行的程序,所以我們可以直接運行即可。

  • 我們可以直接通過官網下載對應的 jar,然后運行再進行 jar,執行對應的命令。

  • 命令如下:

java -jar arthas-boot.jar [option]
  • 演示如下:

Arthas使用的各類方式是怎樣的

方案二:Web Console實現

我們可以不通過每次進入 ssh 中進行執行程序,我們也可通過 web 方式進行訪問操作.通過官網上面的介紹 arthas 的 Web Console,能了解到大致的搭建思路。

  • 通過下載 arthas-tunnel-server。我們可以拿到對應的 arthas 的 server 端。下載完畢之后直接運行即可(我是將其在 ECS 上直接運行)。

Arthas使用的各類方式是怎樣的

  • 在客戶端對應的啟動 arthas-boot。并且通過啟動參數附加上 server 的地址(我是將其在本地運行)。

Arthas使用的各類方式是怎樣的

  • 選擇對應的進程進行 attach,會出現對應的 agent-id,再將其填寫到對應的 server 端 http 頁面中。

Arthas使用的各類方式是怎樣的

Arthas使用的各類方式是怎樣的

  • 最后我們就可以再 server 端進行操作,即 Web Console 實現完成。

Arthas使用的各類方式是怎樣的

方案三:項目依賴

基于 Spring 相關搭建的項目直接加入依賴(需要對應的環境支持,例如不能缺少 tools.jar)。

  • SpringBoot 項目依賴:

<dependency>
            <groupId>com.taobao.arthas</groupId>
            <artifactId>arthas-spring-boot-starter</artifactId>
            <version>${arthas.version}</version>
        </dependency>
  • 非 SpringBoot 項目依賴:

<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>
  • 本地項目啟動之后可以直接訪問:

http://127.0.0.1:3658/
  • 當然還可以結合上面介紹的 Web Console。例如配置文件中增加對應的配置信息:

arthas.agent-id=qwejqjnnnunnq
arthas.tunnel-server=ws://server地址:7777/ws
  • 演示如下:

Arthas使用的各類方式是怎樣的

Arthas使用的各類方式是怎樣的

Arthas使用的各類方式是怎樣的

以上步驟就是先把 tunnel-server 啟動,然后本地配置連接 tunnel-server。然后輸入配置的 Id,即可完成對應的調試。

方案四:容器配置

基于 docker 配置,目前上容器服務的企業不在少數。對于容器服務,也是可以適用的。將 jar 下載下來之后進行 ADD 操作,或者每次通過構建 Dockerfile 則會產生對應含有 arthas 的鏡像文件。

這里介紹下通過 Dockerfile 進行構建:

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

上述是通過構建 Dockerfile 來完成的,這里就直接將鏡像文件貼出來,這里是將當前 arthas 中的文件復制到對應的容器中,之后我們可以通過 exec -it 進入執行,步驟和方法一類似。

總結

通過上面的介紹,其實我更推薦使用 Web 接入的方式更好,原因如下:

  • 在服務直接部署在服務器上或者 ECS 云服務器情況下。我們可以直接運行在對應的 client 端,但是我們如何上到各個服務所在的服務器上?通過跳板機?那么我們是不是操作的時候會有可能對應服務器造成影響,直接連接服務器上是肯定不行的。

  • 服務在所運行的 pod 情況下。此時讓你連接服務是影響是比上面的情況會小很多,如果發生影響也只是影響到當前運行的 pod。但是如果你想直接連接 pod,那么需要的將對應的 pod 端口需要映射到對應的宿主機上,然后再提供外部訪問 ecs 的鏈接。這樣會使得每次 pod 需要映射出去的端口需要一定的規則,無疑是加大了運維等工作,運行則也消耗了當前的資源(訪問頁面等等則走 http 接口請求,如果通過 ws 連接,減少 7 層方面消耗)。

  • 如果通過上述方法,那么我們可以再一臺機器上運行 server 即可,我們每次訪問都通過訪問 server 去連接到到對應的 client 端,同時對應的 agent-id 可以指定,我們可以每次 pod 進行 client 運行的時候指定當前的 agent-id,讓其與當前的 pod 進行一個綁定,便于我們通過 server 進行連接。

當然上述觀點仁者見仁智者見智。以上介紹了幾種部署以及運行 arthas 的方法,企業可以根據當前的項目架構選擇合適的部署進行解決。為什么需要????就因為能幫助開發解決問題,不需要來回發版!

歡迎登陸 start.aliyun.com 知行動手實驗室體驗 Arthas 57 個動手實驗:https://start.aliyun.com/handson-lab/#!category=arthas

Arthas使用的各類方式是怎樣的

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

体育| 肃北| 宁远县| 临猗县| 特克斯县| 维西| 大田县| 安阳市| 尚义县| 达孜县| 仁化县| 汾西县| 阆中市| 石景山区| 郯城县| 苗栗县| 亳州市| 乐昌市| 华蓥市| 衡水市| 新巴尔虎右旗| 云阳县| 原平市| 车致| 江孜县| 库尔勒市| 台南市| 宣城市| 阿拉善右旗| 浙江省| 河间市| 芒康县| 德清县| 英吉沙县| 光山县| 商城县| 赤城县| 桂林市| 靖江市| 遵义县| 大城县|