Справочная информация
У меня в работе машина, на которой запущено приложение elixir (нет доступа к iex, только к erl), и мне поручено провести анализ того, почему мы потребляем так много ЦП.Идея состоит в том, чтобы запустить обозреватель, проверить вкладку процессов и увидеть процессы с наибольшим сокращением.
Как я подключаюсь?
Для подключения я следую учебному пособию из блога:
Их инструкции следующие:
- запустить приложение на рабочей машине с файлом cookieи имя
- из локального запуска:
ssh user@public_ip "epmd -names"
для получения имени приложения и используемого порта - из локального создания туннеля ssh к удаленной машине:
ssh -L 4369:user@public_ip:4369 -L 42877:user@public_ip:42877 user@public_ip
(4369порт epmd по умолчанию, 42877 - это порт приложения) - из локального соединения с удаленным компьютером, используя имя узла:
erl -name "user@app_name" -setcookie "mah_cookie" -hidden -run observer
Проблема
И теперь теоретически я должен иметь возможность использовать наблюдателя на машине.Однако вместо этого меня встречает следующая ошибка:
Протокол 'inet_tcp': ошибка регистрации / прослушивания: epmd_close
Итак, прочесав темную сторону Интернета, ярешил использовать 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
Где:
- erlang
-name
: my_app_name - пользователь машины: пламя
- публичный IP-адрес машины: 99.999.99.999 (очевидно, не настоящий)
, так что он говорит мне, неизвестный хост ??Я запутался, так как 99.999.99.999 является публичным IP-адресом самой машины!
Вопросы
- Что я делаю не так?
- Я читал это в старых версияхиз erlang Я не могу контролировать машину с помощью наблюдателя, если они находятся в разных сетях (что имеет место, потому что я хочу контролировать эту машину с моего локального хоста), но я не нашел никакой информации об этом в наши дни.
- Если это на самом деле невозможно, какие у меня есть альтернативы?