All Projects → oslabs-beta → KafKare

oslabs-beta / KafKare

Licence: MIT License
A Kafka monitoring dashboard

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to KafKare

Kafka Monitor
Xinfra Monitor monitors the availability of Kafka clusters by producing synthetic workloads using end-to-end pipelines to obtain derived vital statistics - E2E latency, service produce/consume availability, offsets commit availability & latency, message loss rate and more.
Stars: ✭ 1,817 (+1988.51%)
Mutual labels:  metrics, kafka-cluster
Logi Kafkamanager
一站式Apache Kafka集群指标监控与运维管控平台
Stars: ✭ 3,280 (+3670.11%)
Mutual labels:  metrics, kafka-cluster
prosoul
Automatic Project Assessment and Visualization based on Quality Models
Stars: ✭ 16 (-81.61%)
Mutual labels:  metrics
chia-monitor
🍃 A comprehensive monitoring and alerting solution for the status of your Chia farmer and harvesters.
Stars: ✭ 131 (+50.57%)
Mutual labels:  metrics
kafkactl
CLI for Apache Kafka Management -
Stars: ✭ 78 (-10.34%)
Mutual labels:  kafka-cluster
LaravelPrometheusExporter
A laravel service provider to export metrics for prometheus.
Stars: ✭ 27 (-68.97%)
Mutual labels:  metrics
auth0-instrumentation
The goal of this package is to make it easier to collect information about our services through logs, metrics and error catching.
Stars: ✭ 18 (-79.31%)
Mutual labels:  metrics
sensu-plugins-http
This plugin provides native HTTP instrumentation for monitoring and metrics collection, including: response code, JSON response, HTTP last modified, SSL expiry, and metrics via `curl`.
Stars: ✭ 31 (-64.37%)
Mutual labels:  metrics
druid-prometheus-exporter
Service to collect Apache Druid metrics and export them to Prometheus
Stars: ✭ 14 (-83.91%)
Mutual labels:  metrics
flask prometheus metrics
Prometheus Metrics for Flask Web App
Stars: ✭ 17 (-80.46%)
Mutual labels:  metrics
disent
🧶 Modular VAE disentanglement framework for python built with PyTorch Lightning ▸ Including metrics and datasets ▸ With strongly supervised, weakly supervised and unsupervised methods ▸ Easily configured and run with Hydra config ▸ Inspired by disentanglement_lib
Stars: ✭ 41 (-52.87%)
Mutual labels:  metrics
kafka-influxdb-reporter
Kafka InfluxDB Metrics Reporter
Stars: ✭ 22 (-74.71%)
Mutual labels:  metrics
s3 exporter
Exports Prometheus metrics about S3 buckets and objects
Stars: ✭ 65 (-25.29%)
Mutual labels:  metrics
resoto
Resoto - Find leaky resources, manage quota limits, detect drift, and clean up!
Stars: ✭ 562 (+545.98%)
Mutual labels:  metrics
kamon-akka-http
Kamon integration for metrics, context and distributed tracing with Akka HTTP
Stars: ✭ 75 (-13.79%)
Mutual labels:  metrics
page-timing
⏱ Measure browser timing and do something with it
Stars: ✭ 19 (-78.16%)
Mutual labels:  metrics
build-plugin
Track your build performances like never before.
Stars: ✭ 45 (-48.28%)
Mutual labels:  metrics
opencensus telemetry
Opencensus integration with Telemetry library
Stars: ✭ 18 (-79.31%)
Mutual labels:  metrics
sonar-jdepend-plugin
Sonar plugin for jDepend
Stars: ✭ 22 (-74.71%)
Mutual labels:  metrics
twitter-analytics-wrapper
A simple Python wrapper to download tweets data from the Twitter Analytics platform. Particularly interesting for the impressions metrics that are unavailable on current Twitter API. Also works for the videos data.
Stars: ✭ 44 (-49.43%)
Mutual labels:  metrics

Kafkare

A system monitoring tool for Kafka.

Kafkare

GitHub GitHub issues GitHub last commit GitHub Repo stars

Table of Contents

  1. Features
  2. Overview
  3. Documentation and Demo
    1. Two ways to generate sample kafka data
      1. Manual data entry
      2. Streaming API
    2. Running the Dashboard Application
  4. Setup
    1. Connecting to an existing instance of Kafka
    2. Updating User Database
  5. FAQ
  6. License
  7. Authors

Features

  • Cross-platform Kafka monitoring, real-time data display desktop application
  • Metrics monitored are based on feedback from real life Kafka deployment crashes and best practices
  • Fullstack integration, leveraging user authentication to ensure only authorized members can review the dashboard

Overview

Kafkare is a cross-platform Kafka monitoring dashboard application used to oversee the health of the Kafka cluster. Several key metrics are displayed including consumer lag time, number of topics, as well as system metrics like cpu usage, and available memory. Users can register for an account and login to access the dashboard. Passwords are encrypted with Bcrypt and stored in an external database.

Documentation and Demo

Demo Setup

QUICK START

There are two ways to generate your Kafka data:

  1. Manually - For a controlled amount of data produced
  2. Using an API - For a constant stream of data produced

Running the demo kafka cluster and manually enter data


From root directory (Kafkare) go into the kafka-playground folder:

In the terminal:

Install all dependencies

npm install

Set up the docker containers, we have a prebuilt kafka cluster for the demo
export HOST_IP=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1)
docker-compose up

Run the data generator application to create topics and consumers:

npm run build-testbed
npm run testbed

You can go to your browser and enter in the address bar:

localhost:8181

to see the data generator

In the data generator, put in a new topic for the broker and submit it. Then put in the number of messages you want to produce and submit. This will create that many messages to the kafka cluster.

Running the demo kafka cluster and using the API for constant data generation


From root directory (Kafkare) go into the kafka-playground folder/streaming_data:

In the terminal:

Install all dependencies

npm install

Go back to the kafka-playground folder and install the dependencies there as well: In the terminal:

Install all dependencies

npm install

Set up the docker containers, we have a prebuilt kafka cluster for the demo
export HOST_IP=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1)
docker-compose up

Run the data streaming application to create topics and consumers:
You can start your consumer by going to a new terminal, then open the Kafkare/kafka-playground directory. Now run:
npm run consumer

Open a new terminal window. From the root directory (Kafkare) go into the kafka-playground directory. Now create the topic in Kafka by running:

npm run topic

Finally, to create the generate the stream, run in the terminal:

npm run producer

Running the dashboard

Open a new terminal. In the root directory (Kafkare), run in the terminal

npm install
npm run build
npm start

You will see a login page where you can either login with an existing account or create a new account to login with.

To create a new account, click the register button in the login page. After registering an account, you will be prompted to login in with the account.

After successfully logging in, a desktop application with the Kafka monitoring dashboards will load and you can start monitoring the running kafka cluster.

Connecting to an existing instance of Kafka

In the kafka-playground/ directory, edit the docker-compose.yml file. Add the following environment variables with relavant information to Kafka-exporter:

Environment Variable Description
KAFKA_SERVER Addresses (host:port) of Kafka server.
SASL_USERNAME SASL user name.
SASL_PASSWORD SASL user password.
  kafka_exporter:
    image: danielqsj/kafka-exporter
    ports:
      - '9308:9308'
    environment: 
      KAFKA_SERVER: <host:port>
      SASL_USERNAME: <SASL username>
      SASL_PASSWORD: <SASL password>

Connecting the user database

In the server/db/ directory, edit the db.js file. Within the file, change the value of the PG_URI variable to the postgres database you are using.

const PG_URI =
  'postgres://<user>:<password>@<host>.db.elephantsql.com:5432/<db>';

FAQ

Docker Compose Error

Q1. I'm getting this error when I use docker-compose up

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "docker-compose", line 3, in <module>
  File "compose\cli\main.py", line 67, in main
  File "compose\cli\main.py", line 123, in perform_command
  File "compose\cli\command.py", line 69, in project_from_options
  File "compose\cli\command.py", line 132, in get_project
  File "compose\cli\docker_client.py", line 43, in get_client
  File "compose\cli\docker_client.py", line 170, in docker_client
  File "site-packages\docker\api\client.py", line 188, in __init__
  File "site-packages\docker\api\client.py", line 213, in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: (2, 'CreateFile', 'The system cannot find the file specified.')

A1. Make sure Docker Desktop is up and running.

Q2: Why doesn't Kafka doesn't start when I use docker-compose.

A2: Make sure your hostIP is defined. On iOS or Linux use:

export HOST_IP=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1)

For Windows Users use:

export HOST_IP=$(ipconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $14 }' | cut -f2 -d: | head -n1)

License

The JavaScript Templates script is released under the MIT license.

Authors

Jenniel Figuereo
Jiaxin Li
Joel Beger
Wai Fai Lau

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