Can not start observer on remote node

I have a distillery release on a remote node, but when trying to run :observer.start() got the following error:

iex(@)2> :observer.start()
** (UndefinedFunctionError) function :observer.start/0 is undefined (module :observer is not available)

My release config:

environment :prod do
  set include_erts: true
  set include_src: false
  set cookie: :"***********"
  set vm_args: "rel/vm.args"

release :meskarest do
   set version: current_version(:***)
   set applications: [
      :logger, :runtime_tools, :comeonin, :bcrypt_elixir, :httpotion, :timex

How can I start the observer?

The problem is that observer does not get included by default in the release. You need to include it, like this article specifies:

This is my application list:

  def application do
      mod: {Appname.Application, []},
      extra_applications: [:logger, :runtime_tools, :comeonin, :bcrypt_elixir, :httpotion, :timex]

It’s listed in extra_applications. (elixir 1.5, phoenix 1.3)

Either its not or you are talking about a different snippet than you are showing us.

1 Like

I am sure :runtime_tools is listed in extra_applications

iex(**@****)5> Application.started_applications
..... {:runtime_tools, 'RUNTIME_TOOLS', '1.12'} ....

iex(**@****)6> Application.start(:runtime_tools)
{:error, {:already_started, :runtime_tools}}

iex(**@****)7> :observer.start()                
** (UndefinedFunctionError) function :observer.start/0 is undefined (module :observer is not available)

I’m not sure, what runtime_tools is or where it comes from, but the application that you want to start and include is :observer and its dependencies.

OK, was able to google, and runtime_tools doesn’t do anything about observer… I’m not sure though which version of elixir and otp were used in that blog post. Maybe things have changed since them, or he didn’t proofread his post correctly…

How can I package the observer with the release?

iex(***@****)5> Application.start(:observer)     
{:error, {'no such file or directory', ''}}

Add it to :extra_applications, as you did with :runtime_tools before. Thats what I meant by “include”

1 Like

I also had to add :wx, but it works now. Thanks.

1 Like

As I’ve written… “and its dependencies”