Wobserver

Hex.pm Hex.pm Hex.pm

Web based metrics, monitoring, and observer.

Installation

Hex (package)

Add Wobserver as a dependency to your mix.exs file:

def deps do
  [{:wobserver, "~> 0.0.2"}]
end

and add it to your list of applications:

def application do
  [applications: [:wobserver]]
end

Then run mix deps.get in your shell to fetch the dependencies.

Build manually

Run the following commands to build the project:

$ npm install
$ gulp build
$ mix deps.get

Configure

Port

The port can be set in the config by setting :port for :wobserver to a valid number.

config :wobserver,
  port: 80

Node discover

The method used can be set in the config file by setting:

config :wobserver,
  discovery: :none

The following methods can be used: (default: :none)

  • :none, just returns the local node.
  • :dns, use DNS to search for other nodes. The option discovery_search needs to be set to filter entries.
  • :custom, a function as String.

Example config

No discovery: (is default)

config :wobserver,
  port: 80,
  discovery: :none

Using dns as discovery service:

config :wobserver,
  port: 80,
  discovery: :dns,
  discovery_search: "google.nl"

Using a custom function:

config :wobserver,
  port: 80,
  discovery: :custom,
  discovery_search: &MyApp.CustomDiscovery.discover/0

Using a anonymous function:

config :wobserver,
  port: 80,
  discovery: :custom,
  discovery_search: fn -> [] end

Both the custom and anonymous functions can be given as a String, which will get evaluated.

Progress

  • [X] System
  • [ ] DNS Discovery - Load balancer
  • [ ] Metrics (prometheus)
  • [ ] Load Charts
  • [ ] Memory Allocators
  • [ ] Applications
  • [ ] Processes
  • [ ] Ports
  • [ ] Table Viewer
  • [ ] Trace Overview

License

Wobserver source code is released under the MIT License. Check LICENSE file for more information.