Ssh 通过公共IP将erlang observer连接到远程计算机 背景
我有一台正在生产的机器运行elixir应用程序(无法访问iex,只能访问erl),我的任务是分析我们为什么要消耗这么多CPU。这里的想法是启动observer,查看“流程”选项卡,并查看缩减最多的流程 我如何连接? 要连接,我将遵循博客上的教程:Ssh 通过公共IP将erlang observer连接到远程计算机 背景,ssh,erlang,elixir,Ssh,Erlang,Elixir,我有一台正在生产的机器运行elixir应用程序(无法访问iex,只能访问erl),我的任务是分析我们为什么要消耗这么多CPU。这里的想法是启动observer,查看“流程”选项卡,并查看缩减最多的流程 我如何连接? 要连接,我将遵循博客上的教程: 一, 他们的指示如下: 使用cookie和名称在生产机器中启动应用程序 从本地运行:sshuser@public_ip“epmd-names”获取应用程序的名称和使用的端口 从本地创建到远程计算机的ssh隧道:ssh-L 4369:user@pub
- 一,
sshuser@public_ip“epmd-names”
获取应用程序的名称和使用的端口ssh-L 4369:user@public_ip:4369-L 42877:user@public_ip:42877 user@public_ip
(默认情况下,4399是epmd端口,42877是应用程序的端口)erl-name”user@app_name“-setcookie”mah_cookie”-隐藏-运行观察者
sudo journalctl-f
检查机器的所有日志,我发现:
channel 3: open failed: administratively prohibited: open failed
my_app_name sshd[8917]: error: connect_to flame@99.999.99.999: unknown host (Name or service not known)
/scripts/watchdog.sh")
my_app_name CRON[9985]: pam_unix(cron:session): session closed for user flame
其中:
-name
:我的应用程序名称ssh远程-user@remote-ip-L4369:localhost:4369-L43175:localhost:43175
这个问题描述了一些可能引发错误的场景:此外,由于最终目标是识别具有高约简计数的进程,您是否考虑简单地使用Erlang API <代码> Erlang:PrimeStudioFiels/1,2?
> ssh remote-user@remote-ip "epmd -names"
epmd: up and running on port 4369 with data:
name super_duper_app at port 43175
iex --name observer@127.0.0.1 --cookie super_duper_cookie
Node.connect :"super_duper_app@127.0.0.1"
> true
:observer.start