Skip to content

Instantly share code, notes, and snippets.

@ukazap
Forked from pnc/observer.md
Created July 19, 2022 04:31
Show Gist options
  • Save ukazap/f7b75a2304cafa257e1b71685d6c6e49 to your computer and use it in GitHub Desktop.
Save ukazap/f7b75a2304cafa257e1b71685d6c6e49 to your computer and use it in GitHub Desktop.
Using Erlang observer/appmon remotely

Using OTP's observer (appmon replacement) remotely

$ ssh remote-host "epmd -names"
epmd: up and running on port 4369 with data:
name some_node at port 58769

Note the running on port for epmd itself and the port of the node you're interested in debugging. Reconnect to the remote host with these ports forwarded:

$ ssh -L 4369:localhost:4369 -L 58769:localhost:58769 remote-host

On your machine, start a hidden Erlang node running the observer app:

$ erl -name [email protected] -setcookie if-server-has-one -hidden -run observer

N.B.: If the server is using -sname, you need to use -sname as well, because Erlang™. You'll also need to change your system's hostname to match the target host, for the same reason.

In observer, go to Nodes - Connect Node and type [email protected].

You can also get a remote shell:

$ erl -name [email protected] -setcookie if-server-has-one -remsh [email protected]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment