基本安装及使用
安装
使用arthas-boot
bash
# 直接下载运行时自动下载Arthas到~/.arthas目录
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
# 下载速度过慢 可以使用阿里云镜像
java -jar arthas-boot.jar --repo-mirror aliyun --use-http
# 帮助信息
java -jar arthas-boot.jar -h
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Arthas自动下载安装目录为~/.arthas
,日志目录为~/logs/arthas
使用as.sh
bash
# Linux/Unix/Mac下一键安装
curl -L https://arthas.aliyun.com/install.sh | sh
# 进入交互界面
./as.sh
# 帮助信息
./as.sh -h
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
全量安装
从Github下载arthas-bin.zip
或Maven下载, 解压后,直接运行文件夹中的arthas-boot.jar
建议
windows下建议添加编码参数 否则会出现中文乱码
bash1
java -Dfile.encoding=utf8 -jar arthas-boot.jar
{: .block-warning }
## 参数选项
| 命令选项 | 描述 |
|:-------------|:------------------|
| \-\-disabled-commands \<commands> | 禁用一些命令逗号分隔|
| \-\-repo-mirror \<repo> | maven仓库,仓库可为`maven`、`aliyun`或者http地址 |
| \-\-attach-only | 仅attach目标进程,不做连接,attach成功后就结束 |
| \-\-arthas-home \<path> | Arthas目录 |
| \-\-telnet-port \<number> | Arthas监听端口,默认`3658`,`0`则为随机端口 |
| \-\-http-port \<number> | Arthas http监听端口,默认`8563`,`0`则为随机端口 |
| \-\-user-version \<version> | 使用特定的Arthas版本,版本号可从versions中选择 |
| \-\-versions | 列出本地和远程可用的Arthas版本 |
| \-\-user-http | 强制使用http方式下载,默认使用https方式下载 |
| \-\-target-ip | telnet监听ip,默认为`127.0.0.1` |
| \-\-tunnel-server \<url> | Tunnel服务url地址|
| \-\-agent-id \<id> | 注册到Tunnel服务的代理id |
| \-\-app-name \<name> | 应用名称 |
| \-\-height \<number> | Arthas客户端终端高度 |
| \-\-width \<number> | Arthas客户端终端宽度 |
| \-\-session-timeout \<number> | 会话超时秒数,默认`1800`秒 |
| \-\-stat-url \<url> | 统计url地址,[参考](https://github.com/alibaba/arthas/blob/master/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/app/web/StatController.java)实现 |
| \-\-select \<value> | 通过类名称或jar名称选择进程 |
| \-\-username \<name> | 授权用户名,默认`arthas` |
| \-\-password \<password> | 授权密码 |
| -f, \-\-batch-file \<file> | 指定脚本执行,脚本建议以`as`结尾 |
| -c, \-\-command \<commands> | attach后直接执行命令,多个命令使用`;`分隔 |
| -v, \-\-verbose | 打印debug信息 |
| \<pid> | 根据进程号选择进程 |
| -h, \-\-help | 帮助 |
## 配置文件
```properties
# 配置为-1 则不监听telnet端口
arthas.telnetPort=3658
# 配置为-1 则不监听http端口
arthas.httpPort=8563
# 默认为localhost 可为0.0.0.0
arthas.ip=127.0.0.1
# 会话超时时间(秒)
arthas.sessionTimeout=1800
#arthas.enhanceLoaders=java.lang.ClassLoader
# 授权用户名密码 默认用户名为arthas
arthas.username=arthas
# arthas.password=arthas
# local connection non auth, like telnet 127.0.0.1 3658
# 本机连接是否不需要授权
arthas.localConnectionNonAuth=true
# tunnel ws地址
arthas.tunnelServer=ws://127.0.0.1:7777/ws
# 应用名称
arthas.appName=demoapp
# agentId 若同时配置appName和agentId agentId应为${appName}_agentId
arthas.agentId=demoapp_agentId
# 禁用命令多个逗号分隔
arthas.disabledCommands=stop,dump
# 输出路径
arthas.outputPath=arthas-output
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66