All Projects → diennea → bookkeeper-visual-manager

diennea / bookkeeper-visual-manager

Licence: Apache-2.0 license
A visual interface for Apache BookKeeper

Programming Languages

java
68154 projects - #9 most used programming language
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
CSS
56736 projects
SCSS
7915 projects

Projects that are alternatives of or similar to bookkeeper-visual-manager

Tabler React
React components and demo for the Tabler UI theme.
Stars: ✭ 1,830 (+3793.62%)
Mutual labels:  admin-dashboard, user-interface
Essential Ui Kit For Xamarin.forms
Free and beautiful XAML template pages for Xamarin.Forms apps.
Stars: ✭ 780 (+1559.57%)
Mutual labels:  admin-dashboard, user-interface
Grav Plugin Admin
Grav Admin Plugin
Stars: ✭ 316 (+572.34%)
Mutual labels:  admin-dashboard, user-interface
MeteorCandy-meteor-admin-dashboard-devtool
The Fast, Secure and Scalable Admin Panel / Dashboard for Meteor.js
Stars: ✭ 50 (+6.38%)
Mutual labels:  admin-dashboard, user-interface
pywinauto recorder
A record-replay tool to automate GUI via pywinauto
Stars: ✭ 48 (+2.13%)
Mutual labels:  user-interface
SNIndexedScroller
Custom indexed scroller
Stars: ✭ 29 (-38.3%)
Mutual labels:  user-interface
django-search-admin-autocomplete
Simple django app that add autocomplete to search inside admin panel.
Stars: ✭ 28 (-40.43%)
Mutual labels:  admin-dashboard
vuejs-admin-dashboard-template
Mosaic Lite is a free admin dashboard template built on top of Tailwind CSS and fully coded in Vue. Made by
Stars: ✭ 139 (+195.74%)
Mutual labels:  admin-dashboard
z-ui
一个用Typescript + React Hooks写的"UI库"🌌,主要采用蓝色色调,寻找一起coding的小伙伴。⭐喜欢请star,欢迎fork,有Bug和建议请留言。
Stars: ✭ 15 (-68.09%)
Mutual labels:  user-interface
Azia-Admin-React
Free React.js Admin template
Stars: ✭ 44 (-6.38%)
Mutual labels:  admin-dashboard
PlusAdmin-Free-Bootstrap-Admin-Template
Free Admin template featuring horizontal and vertical navbar. Built using Bootstrap 4.
Stars: ✭ 98 (+108.51%)
Mutual labels:  admin-dashboard
enduro admin
Admin interface for Enduro.js
Stars: ✭ 31 (-34.04%)
Mutual labels:  admin-dashboard
sakai-ng
Free Angular Admin Template by PrimeNG
Stars: ✭ 129 (+174.47%)
Mutual labels:  admin-dashboard
Ng-Prime
Angular + PrimeNg
Stars: ✭ 88 (+87.23%)
Mutual labels:  admin-dashboard
nuxewind
Free Vue JS (Nuxt 2) Tailwind Admin Dashboard Template
Stars: ✭ 62 (+31.91%)
Mutual labels:  admin-dashboard
kontext
An advanced, extensible web front-end for the Manatee-open corpus search engine
Stars: ✭ 50 (+6.38%)
Mutual labels:  user-interface
activeadmin-latlng
Active Admin plugin for setting up latitude and longitude
Stars: ✭ 34 (-27.66%)
Mutual labels:  admin-dashboard
tailmin
Tailmin - Admin dashboard built with Vue.js and Tailwind CSS
Stars: ✭ 39 (-17.02%)
Mutual labels:  admin-dashboard
laravellte
Fully customizable and tests supported Laravel admin dashboard 2.0
Stars: ✭ 202 (+329.79%)
Mutual labels:  admin-dashboard
mongo-gui
A web-based MongoDB graphical user interface
Stars: ✭ 111 (+136.17%)
Mutual labels:  user-interface

BKVM - Visual Manager for Apache BookKeeper

Bookkeeper Visual Manager is an open source visual interface for Apache Bookkeeper.

Features:

  • Connect to a BookKeeper cluster (4.7+)
  • Discover bookies and bookie status
  • Search ledgers, using ledger metadata
  • Inspect ledger metadata

Usecases:

  • Inspect your BookKeeper cluster
  • Check health of Bookies
  • See which applications are using more resources
  • Validate configuration of each application (check replication)
  • See Clusterwide configuration

Roadmap:

  • Support multi user access, multitenancy and multiple clusters
  • Manage Bookies
  • Manage replication
  • Verify consistency of cluster
  • Add advanced query functions
  • Add API

Overview

Log in

Use the default account (admin) and the default password (admin) to log in.

bkvm-login

Bookies status

Bookies availability (AVAILABLE, DOWN, READONLY) and disk usage.

bkvm-bookies

Ledgers monitoring

Search for specific ledgers and ledgers metadata. Monitor ledger disk usage and replication factor.

bkvm-ledgers

Bookies configuration

bkvm-systemstatus

Quickstart

Requirements

In order to run BookKeeper Visual Manager you just need a Unix Machine and Java 8 runtime.

In order to develop BookKeeper Visual Manager you need Maven 3.6.x and Yarn.

Using the provided release packages

Download a release package from github releases page. Unzip the package

Configure the service by editing conf/server.properties By default we will connect to ZooKeeper at localhost, like when you are using BookKeeper standalone.

Start the service

bin/service server start

Open your browser at http://localhost:4500

Username and passwords are: admin/admin

Docker

You can build the docker image by running:

mvn clean install -DskipTests
./docker/build.sh

Then you can run the container and the service will be listening on 0.0.0.0:4500:

docker run --rm -p 4500:4500 -e BKVM_metadataServiceUri='zk+null://<my-zookeeper>:2181/ledgers' bkvm/bkvm:latest

Please note that using this configuration the database will be persisted locally.

If you want instead to rely on BookKeeper for all the BKVM data (cluster configuration, bookies metadata) you can run the docker with the JDBC url option:

 docker run --rm -p 4500:4500 -e BKVM_metadataServiceUri='zk+null://bk:2181/ledgers' \
   -e BKVM_jdbc_url='jdbc:herddb:zookeeper:<my-zookeeper>:2181/herddb?server.mode=diskless-cluster' bkvm/bkvm:latest

Thanks to HerdDb diskless-cluster mode, the BKVM container is stateless.

Deploy BKVM on Kubernetes using Helm

You can use the sample Helm Chart to bootstrap BKVM on k8s.

Deploy the war application using Maven Jetty Plugin

git clone https://github.com/diennea/bookkeeper-visual-manager.git
cd bookkeeper-visual-manager
mvn clean install -DskipTests

To pass the Metadata Service URI connection string you have to set the system property bookkeeper.visual.manager.metadataServiceUri or run the provided script in bin folder.

BVM_PORT=8080
BVM_SERVICEURI=zk+null://localhost:2181/ledgers

./bin/run_dev.sh $BVM_SERVICEURI $BVM_PORT

Deploy the war application on container

You can also deploy the target/bookkeeper-visual-manager-XX.XX.war on your container passing the bookkeeper.visual.manager.metadataServiceUri location in a system property.

Deploy the war application using Maven Jetty Runner

Download the jetty-runner jar available at Maven Central.

BVM_PORT=8080
BVM_WAR_PATH=path/to/warfile

# Environment Variable configuration
BVM_CONF_PATH=/path/to/conf java -jar jetty-runner.jar $BVM_WAR_PATH --port $BVM_PORT

Advanced configuration

In order to use a more advanced configuration you need to provide to the application a key/value properties file. An example file is provided in the conf/ folder. The provided file can also be your Bookkeeper Server configuration.

Property Value
metadataServiceUri Location of the Bookkeeper Server.
zkConnectionTimeout First connection timeout.
zkTimeout Zookeeper session timeout.

You can provide this file to the application in three ways:

  1. System Property: bookkeeper.visual.manager.config.path
    BVM_PORT=8080
    BVM_CONF_PATH=path/to/warfile
    
    mvn jetty:run \
        -Dbookkeeper.visual.manager.config.path=$BVM_CONF_PATH \
        -Djetty.http.port=$BVM_PORT
    
  2. Environment Variable: BVM_CONF_PATH
    BVM_PORT=8080
    BVM_WAR_PATH=path/to/warfile
    
    BVM_CONF_PATH=path/to/conf java -jar jetty-runner.jar $BVM_WAR_PATH --port $BVM_PORT
    
  3. Deployment Descriptor: bookkeeper.visual.manager.config.path in the web.xml
    <context-param>
        <param-name>bookkeeper.visual.manager.config.path</param-name>
        <param-value>path/to/file</param-value>
    </context-param>
    

Development of the front-end

  1. Clone this repo
  2. Make sure you have installed node (v11.8.0) and yarn (1.19.1).
  3. Go into the frontend folder src/main/bvmui
  4. Install dependencies (use yarn install command)
  5. Auto reload (use yarn serve command)
    cd src/main/bvmui
    yarn install
    yarn serve
    
  6. Build (use yarn build command)

Getting Involved

Feel free to create issues and pull request in order to interact with the community.

Please let us know if you are trying out this project, we will be happy to hear about your user case and help you.

Release commands

git checkout master
mvn release:prepare
mvn release:perform

License

Bookkeeper Visual Manager is under Apache 2 license.

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].