皇冠体育寻求亚洲战略合作伙伴,皇冠代理招募中,皇冠平台开放会员注册、充值、提现、电脑版下载、APP下载。

首页快讯正文

usdt交易所(www.caibao.it):Arthas 使用的各种方式

admin2021-02-0841

USDT官网

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

原题目:Arthas 使用的各种方式

简介: Arthas 是阿里巴巴开源的 Java 诊断工具。让我们能够在线排查项目发生的问题。除了知道它的存在之外,我们也需要知道我们若何去安装使用它,以便于提高我们一样平常开发解决 BUG 的效率。

Arthas 是阿里巴巴开源的 Java 诊断工具。让我们能够在线排查项目发生的问题。除了知道它的存在之外,我们也需要知道我们若何去安装使用它,以便于提高我们一样平常开发解决 BUG 的效率。

方案一:内陆直接运行

往往最简朴的方式现实是最有用的,它本身就是一个可运行的程序,以是我们可以直接运行即可。

java -jar arthas-boot.jar [option]

方案二:Web Console实现

我们可以不通过每次进入 ssh 中举行执行程序,我们也可通过 web 方式举行接见操作.通过官网上面的先容 arthas 的 Web Console,能领会到大致的搭建思绪。

  • 通过下载 arthas-tunnel-server。我们可以拿到对应的 arthas 的 server 端。下载完毕之后直接运行即可(我是将其在 ECS 上直接运行)。

  • 在客户端对应的启动 arthas-boot。而且通过启动参数附加上 server 的地址(我是将其在内陆运行)。

  • 选择对应的历程举行 attach,会泛起对应的 agent-id,再将其填写到对应的 server 端 http 页面中。

  • 最后我们就可以再 server 端举行操作,即 Web Console 实现完成。

方案三:项目依赖

基于 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>

,

Usdt第三方支付接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

<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

  • 演示如下:

以上步骤就是先把 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 的方式,企业可以凭据当前的项目架构选择合适的部署举行解决。为什么需要????就因为能辅助开发解决问题,不需要往返发版!

Arthas 实验预览

作者:Montos(一个在后端道路上摸爬滚打的内卷人)

网友评论