{"id":26267815,"url":"https://github.com/oslabs-beta/kafkapeek","last_synced_at":"2025-04-30T19:21:16.176Z","repository":{"id":60459479,"uuid":"537592064","full_name":"oslabs-beta/KafkaPeek","owner":"oslabs-beta","description":"KafkaPeek is an open-source application designed to help developers visualize, monitor, and stay up-to-date on their Kafka deployments","archived":false,"fork":false,"pushed_at":"2023-02-04T22:03:40.000Z","size":4095,"stargazers_count":50,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-08T10:53:18.614Z","etag":null,"topics":["grafana","kafka","kafkajs","nodejs","prometheus","react","react-router","socket-io","websockets"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oslabs-beta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-16T19:22:26.000Z","updated_at":"2024-10-03T01:50:09.000Z","dependencies_parsed_at":"2023-02-17T21:46:07.886Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/KafkaPeek","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FKafkaPeek","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FKafkaPeek/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FKafkaPeek/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FKafkaPeek/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/KafkaPeek/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251767210,"owners_count":21640470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grafana","kafka","kafkajs","nodejs","prometheus","react","react-router","socket-io","websockets"],"created_at":"2025-03-14T04:18:23.759Z","updated_at":"2025-04-30T19:21:16.066Z","avatar_url":"https://github.com/oslabs-beta.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"text-align: center;\"\u003e\n\n![KafkaPeek Logo](./client/assets/images/kafkaPeek-logo.png \"KafkaPeek Logo\")\n\n\u003c/div\u003e\n\n\u003ch1 style=\"text-align: center\" style=\"font-size: 10rem\"\u003eKafkaPeek\u003c/h1\u003e\n\nKafkaPeek is a developer tool that monitors key metrics in your local Kafka deployment. \n\n#### Key Health Metrics Tracked\n\n- Bytes In Per Sec \n- Bytes Out Per Sec\n- JVM Heap Usage (MB)\n- Under Replicated Partitions\n- Offline Partition Count\n- Active Controller Count\n- Brokers Running\n\n#### Key Performance Metrics Tracked\n\n- Requests Per Sec\n- Request Total Time (s)\n- Request Queue Time (ms)\n- Response Send Time (ms)\n## Tech Stack\n\n**Client:** [React](https://reactjs.org/), [React Router](https://reactrouter.com/en/main), [ApexCharts](https://apexcharts.com), [Socket.io](https://socket.io)\n\n**Server:** [Node](https://nodejs.org/en/), [Express](https://expressjs.com/), [Socket.io](https://socket.io) [KafkaJS](https://kafka.js.org)\n\n\n**DevOps:** [Apache Kafka](https://kafka.apache.org/), [Prometheus](https://prometheus.io/), [JMX Exporter](https://github.com/prometheus/jmx_exporter), [Grafana](https://grafana.com), [Docker](https://www.docker.com), [Git](https://git-scm.com/), [Github](https://github.com/)\n\n\n## Features\n\n- Live monitoring of key health metrics of a Kafka Broker\n- Secured login through Github OAuth\n- Slack alerts if metrics go beyond user set specifications\n- Customization of dashboard metrics based on the organizations needs\n- Ability to save graphs in real time\n\n\n## Installation\n\nInstall KafkaPeek with npm to install all dependencies\n\n```bash\n  npm install\n```\n    \n## Deployment\n\nTo deploy this project run the following commands in the terminal:\n\n1. Deploy your kafka cluster\n```bash\n  docker-compose up\n```\n\n2. In a new terminal window, deploy the producer:\n```bash\n  npm run start:producer\n```\n\n3. In a new terminal window, deploy the consumer:\n```bash\n  npm run start:consumer\n```\n\n4. In a new terminal window, deploy the application on:\n\nDeploy application on dev server (localhost:8080)\n```bash\n  npm run dev\n```\n\nOR\n\nDeploy application on production server (localhost:4000)\n```bash\n  npm run build\n```\nthen\n```bash\n  npm start\n```\nNow you have a fully functioning Kafka broker with one demo producer and consumer.\n\n## Demo\n\n\u003ch3\u003eMain Dashboard\u003c/h3\u003e\n\n\n![Alt Text](https://media.giphy.com/media/kfKhKpAbezCIxwCW9D/giphy.gif)\n\n\u003ch3\u003eSlack Notifications\u003c/h3\u003e\n\n\n![Alt Text](https://media.giphy.com/media/0ykVFzaLsVZao1XgGR/giphy.gif)\n\n\n## Running Tests\n\nTo run tests, run the following command\n\n```bash\n  npm run test socketIOtest.js\n```\n```bash\n  npm run test supertest.js\n```\n\n## Roadmap\n\n- Web Based Application\n- Customized Developer Options \n- Github OAuth Authentication\n- User Account Information\n- User Settings\n- NoSql Database - Error Logs/Accounts/Archived Metrics\n\n\n## Acknowledgements\n\n - [Awesome Readme Templates](https://awesomeopensource.com/project/elangosundar/awesome-README-templates)\n - [Awesome README](https://github.com/matiassingers/awesome-readme)\n - [How to write a Good readme](https://bulldogjob.com/news/449-how-to-write-a-good-readme-for-your-github-project)\n\n\n## Authors\n\n- Dipen Nagpal: [Github](https://github.com/dnagpal1) | [LinkedIn](www.linkedin.com/in/dipen-nagpal)\n- Nicholas Echevarria: [Github](https://github.com/nick-echevarria) | [LinkedIn](https://www.linkedin.com/in/nicholasechevarria/)\n- Luis Navarro: [Github](https://github.com/luis-e-navarro) | [LinkedIn](https://linkedin.com/in/luis-e-navarro)\n- Juan Kang: [Github](https://github.com/juanpakang) | [LinkedIn](https://www.linkedin.com/in/juankang/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fkafkapeek","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Fkafkapeek","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fkafkapeek/lists"}