All Projects → tolitius → hface

tolitius / hface

Licence: EPL-1.0 license
look your Hazelcast cluster in the face!

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
clojure
4091 projects
CSS
56736 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to hface

hazelcast-csharp-client
Hazelcast .NET Client
Stars: ✭ 98 (+34.25%)
Mutual labels:  hazelcast
hazelcast-kubernetes
Hazelcast clustering for Kubernetes made easy.
Stars: ✭ 50 (-31.51%)
Mutual labels:  hazelcast
IntroduceToEclicpseVert.x
This repository contains the code of Vert.x examples contained in my articles published on platforms such as kodcu.com, medium, dzone. How to run each example is described in its readme file.
Stars: ✭ 27 (-63.01%)
Mutual labels:  hazelcast
ethereum-ingest
JavaFX and commandline application to import events from the Ethereum blockchain into ElasticSearch, MongoDB, Hazelcast, CQEngine and SQLite.
Stars: ✭ 34 (-53.42%)
Mutual labels:  hazelcast
Hazelcast
Open-source distributed computation and storage platform
Stars: ✭ 4,662 (+6286.3%)
Mutual labels:  hazelcast
zeebe-hazelcast-exporter
Export events from Zeebe to Hazelcast
Stars: ✭ 20 (-72.6%)
Mutual labels:  hazelcast
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-79.45%)
Mutual labels:  hazelcast
hazelcast-scala
Scala language support for Hazelcast
Stars: ✭ 26 (-64.38%)
Mutual labels:  hazelcast
hazelcast-consul-discovery-spi
Consul based discovery strategy SPI for Hazelcast enabled applications
Stars: ✭ 47 (-35.62%)
Mutual labels:  hazelcast
moqui-hazelcast
Moqui Framework tool component for Hazelcast, used for distributed async services, entity distributed cache invalidation, web session replication, and distributed cache (javax.cache)
Stars: ✭ 12 (-83.56%)
Mutual labels:  hazelcast
quartz-scheduler-hazelcast-jobstore
An implementation of a Quartz Scheduler JobStore using Hazelcast distributed Collections
Stars: ✭ 42 (-42.47%)
Mutual labels:  hazelcast
j2cache
java实现的缓存策略组件,支持多种缓存产品,开发人员可以像Map一样使用,简单方便。支持的存储方案:jvm\redis\ignite\hazelcast\guava
Stars: ✭ 33 (-54.79%)
Mutual labels:  hazelcast

hface

Hazelcast cluster monitoring and debugging dashboard

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:

[org.hface/hface-client "0.1.8"]

or

<dependency>
  <groupId>org.hface</groupId>
  <artifactId>hface-client</artifactId>
  <version>0.1.8</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

for pre Hazelcast 4.0+ clusters: hface config and deps are different and to run it follow this

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"]     ;; hazelcast cluster hosts/ips
             :cluster-name "dev"}}    ;; cluster name to connect to

from releases

download the hface release from releases i.e. let's say the version is 0.1.1:

$ wget https://github.com/tolitius/hface/releases/download/v0.1.1/hface-dash-0.1.1.jar

run it:

$ java -jar -Dconf=/opt/app/hface/hface.conf hface-dash-0.1.1.jar

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

/opt/app/hface/hface.conf is a sample path to the config file, replace it with your path

from sources

get ready

you would need lein (if you come from Java think maven) to compile and build a single runnable jar, a.k.a. an uberjar.

lein is straighforward to install: just download the script and run it

build and run

  • 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/

lein version

starting from 2.9.0+ lein brings newer deps that break backwards compatibility as discussed in this and this issues. If you experience a problem building hface from sources:

$ lein downgrade 2.8.3
$ lein do clean, ring uberjar

which will work, and then:

$ lein upgrade

to bring you back to the latest lein version.

for pre Hazelcast 4.0

In case you are working with a Hazelcast 3.x.x clusters:

hface client

bring 0.1.6 hface client instead of the latest:

[org.hface/hface-client "0.1.6"]

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 releases

download the hface 0.1.0 release from releases:

$ wget https://github.com/tolitius/hface/releases/download/v0.1.0/hface-dash-0.1.0.jar

run it:

$ java -jar -Dconf=/opt/app/hface/hface.conf hface-dash-0.1.0.jar

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

/opt/app/hface/hface.conf is a sample path to the config file, replace it with your path

License

Copyright © 2020 tolitius

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].