You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/_sources/web-console.md.txt

100 lines
3.2 KiB
Plaintext

7 years ago
Web Console
===
6 years ago
### 通过浏览器连接arthas
5 years ago
Arthas目前支持Web Console用户在attach成功之后可以直接访问[http://127.0.0.1:3658/](http://127.0.0.1:3658/)。
7 years ago
可以填入IP远程连接其它机器上的arthas。
6 years ago
![](_static/web-console-local.png)
> 默认情况下arthas只listen 127.0.0.1,所以如果想从远程连接,则可以使用 `--target-ip`参数指定listen的IP更多参考`-h`的帮助说明。
> 注意会有安全风险考虑下面的tunnel server的方案。
后续更多Web Console功能支持请到issue下留言[https://github.com/alibaba/arthas/issues/15](https://github.com/alibaba/arthas/issues/15)
### 使用arthas tunnel server连接远程arthas
#### 下载部署arthas tunnel server
[https://github.com/alibaba/arthas/releases](https://github.com/alibaba/arthas/releases)
Arthas tunnel server是一个spring boot fat jar应用直接`java -jar`启动:
```bash
java -jar arthas-tunnel-server.jar
```
默认情况下arthas tunnel server的web端口是`8080`arthas agent连接的端口是`7777`。
启动之后,可以访问 [http://localhost:8080/](http://localhost:8080/) ,再通过`agentId`连接到已注册的arthas agent上。
通过Spring Boot的Endpoint可以查看到具体的连接信息 [http://localhost:8080/actuator/arthas](http://localhost:8080/actuator/arthas) ,登陆用户名是`arthas`密码在arthas tunnel server的日志里可以找到比如
```
32851 [main] INFO o.s.b.a.s.s.UserDetailsServiceAutoConfiguration
Using generated security password: f1dca050-3777-48f4-a577-6367e55a78a2
```
#### 启动arthas时连接到tunnel server
在启动arthas可以传递`--tunnel-server`参数,比如:
```bash
as.sh --tunnel-server 'ws://47.75.156.201:7777/ws'
```
* 如果有特殊需求,可以通过`--agent-id`参数里指定agentId。默认情况下会生成随机ID。
attach成功之后会打印出agentId比如
```bash
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
version 3.1.2
pid 86183
time 2019-08-30 15:40:53
id URJZ5L48RPBR2ALI5K4V
```
如果是启动时没有连接到 tunnel server也可以在后续自动重连成功之后通过 session命令来获取 agentId
```bash
[arthas@86183]$ session
Name Value
-----------------------------------------------------
JAVA_PID 86183
SESSION_ID f7273eb5-e7b0-4a00-bc5b-3fe55d741882
AGENT_ID URJZ5L48RPBR2ALI5K4V
TUNNEL_SERVER ws://47.75.156.201:7777/ws
```
以上面的为例,在浏览器里访问 [http://47.75.156.201:8080/](http://47.75.156.201:8080/) ,输入 `agentId`就可以连接到本机上的arthas了。
![](_static/arthas-tunnel-server.png)
#### Arthas tunnel server的工作原理
```
browser <-> arthas tunnel server <-> arthas tunnel client <-> arthas agent
```
7 years ago
5 years ago
[tunnel-server/README.md](https://github.com/alibaba/arthas/blob/master/tunnel-server/README.md#)