look your Hazelcast cluster in the face!
JavaScript HTML Clojure CSS Java
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

hface

look your Hazelcast cluster in the face!

What do you mean?

hface braindump

The Gist

hface monitors a Hazelcast cluster in real time. It currently supports maps, multimaps and queues. Support for other distributed data structures is coming.

In order to monitor a remote Hazelcast cluster add an 8K jar dependency to it:

Clojars Project

or

<dependency>
  <groupId>org.hface</groupId>
  <artifactId>hface-client</artifactId>
  <version>0.1.5</version>
</dependency>

it will be collecting the stats from all the nodes and will be sending these stats to hface for aggregation and visual pleasure. Here is an example of a simple Hazelcast server node with an hface client dependency.

Visual

This is what hface dash currently looks like as it monitors the cluster:

hface dash

ASCII

All the stats are also available in JSON via /stats:

Hazelcast cluster stats

Run it

hface config

hface dashboard relies on a small configuraion file that can be pointed to by -Dconf=path-to-config. Here is a sample config:

{:collector {:refresh-interval 4}                       ;; refresh cluster stats every 4 seconds
 :hz-client {:hosts ["127.0.0.1" "127.0.0.2"]           ;; hazelcast cluster hosts/ips
             :retry-ms 5000                             ;; retry to reconnect in 5 seconds
             :retry-max 720000                          ;; 720000 * 5000 = one hour
             :group-name "dev"                          ;; creds to the cluster (dev/dev-pass are hz defaults)
             :group-password "dev-pass"}}

from sources

  • clone the repo (e.g. git clone https://github.com/tolitius/hface.git)
  • cd hface/dash
  • lein ring uberjar
  • java -jar -Dconf=/path-to/hface.conf target/hface-dash.jar

then, for joy, go to http://localhost:3000/

License

Copyright © 2018 tolitius

Distributed under the Eclipse Public License, the same as Clojure.