首页 > 代码库 > net_kernel与节点互连,断开,监控

net_kernel与节点互连,断开,监控

问:
如果我的erlang
app部署在linux机器上,且linux机器上只能通过命令行的方式访问。
这个时候我能否从windows的机器上通过rpc运行observer:start().
然后在windows的机器上通过界面来查看那个linux环境上的erlang app运行情况?
 
答:No problem!
 
1. 如果erlang vm启动的时候没有指定name,使用net_kernel可以在运行时指定 
1> net_kernel:start([test@nimbus]).{ok,<0.34.0>}

 

2. 判断当前是不是longname

(test@nimbus)2> net_kernel:longnames().true

 

3. 在linux环境运行的erlang程序中获取cookie和node,方法很简单,输入erlang:get_cookie()和node()。
(newmaster@192.168.1.***)3> node().‘newmaster@192.168.1.***‘(newmaster@192.168.1.***)4> erlang:get_cookie().‘81**03‘

 

4. 修改erlang vm的cookie,只有与要连接的进程cookie相同时才能进行连接加入集群
  erlang:set_cookie(node(), Cookie).
    net_adm:ping(Node()).
(test@nimbus)4> erlang:set_cookie(node(),‘81**03‘).true(test@nimbus)5> net_adm:ping(‘newmaster@192.168.1.***‘).pong

 

5. 启动observer:start(),成功后可以在Nodes选项中查看需要的一些信息

(test@nimbus)6> observer:start().ok

技术分享

 

如果有更好的办法,请指出来,谢谢...

 

 

net_kernel与节点互连,断开,监控