erlang的观察工具如crashdump,appmon,cover等工具有二种不同的界面:gs(wx)和web。这些tool都遵循一定的接口,用户可以自行扩展这些功能,使的能够融入toolbar或者webtool体系。 其中webtool在线上使用的时候比较方便,因为是web界面,容易过防火墙什么的。
webtool的使用界面如下:
但是默认的webtool在启动的时候,默认只在127.0.0.1:8888网络上监听,无法在其他机器上查看状态,这样使用起来很不方便。
演示下:
$ erl |
Erlang R15B03 (erts-5.9.3.1) 1 [64-bit] [ smp:16 :16] [async- threads:0 ] [hipe] [kernel- poll:false ] |
Eshell V5 .9.3.1 (abort with ^G) |
1> webtool:start (). |
WebTool is available at http:// localhost:8888 / |
Or http://127.0.0. 1:8888 / |
{ok,<0.35.0>} |
2> |
粗粗的研究下webtool的启动代码,可以透过下面的方式来绕开这个问题,注意下面这三个参数都需要的,具体的值用户自己配:
webtool:start(standard_path, [{bind_address, {0,0,0,0}},{port, 8888},{server_name, "test"}]).
这种方式默认是全部接口监听:
$ hostname -i
192.168.2.10
看下具体的网卡地址就可以访问到服务了,本例子中是: http://192.168.2.10:8888
祝玩的开心!