{"id":21658456,"url":"https://github.com/jbvmio/kafkactl","last_synced_at":"2026-03-10T18:08:55.180Z","repository":{"id":35004924,"uuid":"145854140","full_name":"jbvmio/kafkactl","owner":"jbvmio","description":"CLI for Apache Kafka Management -","archived":false,"fork":false,"pushed_at":"2024-03-21T17:02:34.000Z","size":27791,"stargazers_count":88,"open_issues_count":7,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-17T05:36:57.984Z","etag":null,"topics":["burrow","consumer-group","kafka","kafka-cluster","lag","manage-kafka-clusters","offsets","partition","replicas","topic","zookeeper"],"latest_commit_sha":null,"homepage":"http://www.jbvm.io/kafkactl","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbvmio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-23T13:00:45.000Z","updated_at":"2025-07-11T08:49:50.000Z","dependencies_parsed_at":"2024-06-19T01:35:21.131Z","dependency_job_id":"c4e58c50-856f-4974-916f-977074bf2efb","html_url":"https://github.com/jbvmio/kafkactl","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/jbvmio/kafkactl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbvmio%2Fkafkactl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbvmio%2Fkafkactl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbvmio%2Fkafkactl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbvmio%2Fkafkactl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbvmio","download_url":"https://codeload.github.com/jbvmio/kafkactl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbvmio%2Fkafkactl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30346599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["burrow","consumer-group","kafka","kafka-cluster","lag","manage-kafka-clusters","offsets","partition","replicas","topic","zookeeper"],"created_at":"2024-11-25T09:29:16.954Z","updated_at":"2026-03-10T18:08:55.153Z","avatar_url":"https://github.com/jbvmio.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# kafkactl - Kafka Management Tool\nkafkactl - CLI for Apache Kafka, Zookeeper and Burrow Management.\n\n[![GitHub release](https://img.shields.io/github/release/jbvmio/kafkactl.svg)](\n  https://github.com/jbvmio/kafkactl/releases/latest)\n[![Travis-CI Build Status](https://travis-ci.com/jbvmio/kafkactl.svg?branch=master)](\n  https://travis-ci.com/jbvmio/kafkactl)\n[![Go Report Card](https://goreportcard.com/badge/github.com/jbvmio/kafkactl)](\n  https://goreportcard.com/report/github.com/jbvmio/kafkactl)\n[![github wiki](https://img.shields.io/badge/docs-wiki-lightgrey.svg)](\n  https://github.com/jbvmio/kafkactl/wiki)\n\n#### Current Features:\n- [x] Search / Filter for Groups and Topics\n- [x] Show Topic Partition Details - Offsets, Replicas, Leaders, etc.\n- [x] Show Group Details - Lag, Offsets, Members, etc.\n- [x] Display / Modify Topic Configs\n- [x] Create / Delete Topics\n- [x] Delete Consumer Groups\n- [x] Reset Partition Offsets for a Group\n- [x] Tail Topics in realtime\n- [x] Produce to a Specific Topic Partition or all Partitions at once\n- [x] Perform a Preferred Replica Election for a target topic or for all topics\n- [x] Increase / Decrease Replicas\n- [x] Migrate Topics between Brokers\n- [x] Query burrow details\n- [x] Monitor burrow lag via Terminal Graph\n- [x] Explore Zookeeper Paths\n- [x] Create and Delete Zookeeper Values\n- [x] Pass stdin to create Kafka messages or Zookeeper Values\n\n#### ToDo:\n- [ ] Add Security Features\n- [ ] Add Metrics Testing\n- [ ] Test Avro Serialization\n\nkafkactl is actively developed with new features being added and tested. Thus, ongoing optimization and re-factoring will occur so ensure you are aware of the [latest releases](https://github.com/jbvmio/kafkactl/releases/latest).\n\n\n# kafkactl tool - Get Started\n\n### **From Source**\n* Requires Go Version 1.11+\n```\ngit clone https://github.com/jbvmio/kafkactl\ncd kafkactl/\ngo build -o $GOPATH/bin/kafkactl\n\n# If inside your go path:\nGO111MODULE=on go build -o $GOPATH/bin/kafkactl\n```\n### **Homebrew**\n```\n# First time install:\nbrew tap jbvmio/tap\nbrew install jbvmio/tap/kafkactl\n\n# Upgrading\nbrew upgrade jbvmio/tap/kafkactl\n\n```\n### **Docker**\n```\ndocker pull docker.io/jbvmio/kafkactl:latest\ndocker run --rm jbvmio/kafkactl -B broker:9092 get topics --lag\ndocker run --rm jbvmio/kafkactl -Z zookeeper:2181 ls /brokers/ids/2\ndocker run --rm jbvmio/kafkactl config --sample\n```\n### **Manual Download and Install (Linux, Windows, Mac)**\n- Download the [latest kafkactl tool](https://github.com/jbvmio/kafkactl/releases/latest) appropriate for your platform, extract and install to a valid directory, preferably located somewhere in your configured $PATH.\n- Run \"kafkactl config --sample\" to generate and display a sample config. Create your config and place as $HOME/.kafkactl.yaml\n\n#### **Alternatively, pass all arguments using flags instead of using a config file when running kafkactl:**\n```\n# kafkactl --broker brokerhost01:9092 admin create topic newtopic01 --partitions 15 --rfactor 3\n\n```\n\n# kafkactl - Example Commands\n### example config commands\n```\nkafkactl config --sample\nkafkactl config view\nkafkactl config get-contexts\nkafkactl config current-context\nkafkactl config use cluster1\n```\n\n### example config file (~/.kafkactl.yaml)\n```\ncontexts:\n  prod-atl01:\n    name: prod-atl01\n    brokers:\n    - broker01:9092\n    - broker02:9092\n    - broker03:9092\n    burrow:\n    - burrow01:8080\n    - burrow02:8080\n    - burrow03:8080\n    zookeeper:\n    - zkhost01:2181\n    - zkhost02:2181\n    - zkhost03:2181\n    clientVersion: \"\"\n  prod-atl02:\n    name: prod-atl02\n    brokers:\n    - broker01:9092\n    - broker02:9092\n    - broker03:9092\n    burrow:\n    - burrow01:8080\n    - burrow02:8080\n    - burrow03:8080\n    zookeeper:\n    - zkhost01:2181\n    - zkhost02:2181\n    - zkhost03:2181\n    clientVersion: \"\"\n  prod-atl03:\n    name: prod-atl03\n    brokers:\n    - broker01:9092\n    - broker02:9092\n    - broker03:9092\n    burrow:\n    - burrow01:8080\n    - burrow02:8080\n    - burrow03:8080\n    zookeeper:\n    - zkhost01:2181\n    - zkhost02:2181\n    - zkhost03:2181\n    clientVersion: \"\"\ncurrent-context: prod-atl01\nconfig-version: 1\n\n```\n\n# Usage\n\n### kafkactl -h\n```\nkafkactl: Kafka Management Tool\n\nUsage:\n  kafkactl [flags]\n  kafkactl [command]\n\nExamples:\n  kafkactl --context \u003ccontextName\u003e get brokers\n\nAvailable Commands:\n  admin       Kafka Admin Actions\n  burrow      Show Burrow Lag Evaluations \u003cwip\u003e\n  config      Show and Edit kafkactl config\n  describe    Get Kafka Details\n  get         Get Kafka Information\n  help        Help about any command\n  logs        Get Messages from a Kafka Topic\n  send        Send/Produce Messages to a Kafka Topic\n  version     Print kafkactl version and exit\n  zk          Zookeeper Actions\n\nFlags:\n  -B, --broker string      Specify a single broker target host:port - Overrides config.\n      --burrow string      Specify a single burrow endpoint http://host:port - Overrides config.\n      --cfg string         config file (default is $HOME/.kafkactl.yaml)\n  -C, --context string     Specify a context.\n  -x, --exact              Find exact matches.\n  -h, --help               help for kafkactl\n  -o, --out string         Change Output Format - yaml|json.\n  -v, --verbose            Display additional info or errors.\n      --version string     Specify a client version.\n  -Z, --zookeeper string   Specify a single zookeeper target host:port - Overrides config.\n\n```\n\n### kafkactl admin -h\n```\nAvailable Commands:\n  create      Create Kafka Resources\n  delete      Delete Kafka Resources\n  get         Get Kafka Configurations\n  move        Move Partitions using Stdin\n  set         Set Kafka Configurations\n```\n\n### kafkactl zk -h\n```\nZookeeper Actions\n\nUsage:\n  kafkactl zk [flags]\n  kafkactl zk [command]\n\nAvailable Commands:\n  create      Create Zookeeper Paths and Values\n  delete      Delete Zookeeper Paths and Values\n  ls          Print Zookeeper Paths and Values\n\nFlags:\n  -h, --help         help for zk\n  -o, --out string   Change Output Format - yaml|json.\n\nGlobal Flags:\n  -B, --broker string      Specify a single broker target host:port - Overrides config.\n      --burrow string      Specify a single burrow endpoint http://host:port - Overrides config.\n      --cfg string         config file (default is $HOME/.kafkactl.yaml)\n  -C, --context string     Specify a context.\n  -x, --exact              Find exact matches.\n  -v, --verbose            Display additional info or errors.\n      --version string     Specify a client version.\n  -Z, --zookeeper string   Specify a single zookeeper target host:port - Overrides config.\n```\n\n\n# Example output:\n\n### kafka\n```\n# kafkactl\n\nBrokers:  5\n Topics:  208\n Groups:  126\n\nCluster: (Kafka: v1.1)\n  brokerhost01:9092/1\n* brokerhost02:9092/2\n  brokerhost03:9092/3\n  brokerhost04:9092/4\n  brokerhost05:9092/5\n\n(*)Controller\n\n```\n\n```\n# kafkactl get group mygroup05\n\nGROUPTYPE  GROUP      COORDINATOR\nconsumer   mygroup05  broker03:9092/3\n\n```\n\n```\nkafkactl get group mygroup05 --lag\n\nGROUP      TOPIC      PART  MEMBER                    OFFSET  LAG\nmygroup05  mytopic05  14    mygroup05-77885078-77abc  97      0\nmygroup05  mytopic05  1     mygroup05-77885078-77abc  76      0\nmygroup05  mytopic05  2     mygroup05-77885078-77abc  84      0\nmygroup05  mytopic05  9     mygroup05-77885078-77abc  84      0\nmygroup05  mytopic05  12    mygroup05-77885078-77abc  84      0\nmygroup05  mytopic05  3     mygroup05-77885078-77abc  135     0\nmygroup05  mytopic05  8     mygroup05-77885078-77abc  90      0\nmygroup05  mytopic05  7     mygroup05-77885078-77abc  83      0\nmygroup05  mytopic05  4     mygroup05-77885078-77abc  111     0\nmygroup05  mytopic05  6     mygroup05-77885078-77abc  114     0\nmygroup05  mytopic05  0     mygroup05-77885078-77abc  2329    0\nmygroup05  mytopic05  5     mygroup05-77885078-77abc  85      0\nmygroup05  mytopic05  11    mygroup05-77885078-77abc  139     0\nmygroup05  mytopic05  10    mygroup05-77885078-77abc  125     0\nmygroup05  mytopic05  13    mygroup05-77885078-77abc  97      0\n\n```\n\n### zookeeper\n```\n# kafkactl zk ls /cluster/id\n\nVALUE: /cluster/id\n {\"version\":\"1\",\"id\":\"wwI7vYwOShKnEqVzDhhUYqi\"}\n\n```\n\n```\n# kafkactl zk ls /\n\nPATH: /\n cluster\n controller\n brokers\n zookeeper\n admin\n isr_change_notification\n log_dir_event_notification\n controller_epoch\n consumers\n burrow\n latest_producer_id_block\n config\n\n# kafkactl zk --create /testpath\nSuccessfully Created: /testpath\n\n# echo 'my testvalue from stdin' | kafkactl zk --create /testpath/testvalue\nSuccessfully Created: /testpath/testvalue\n\n# kafkactl zk ls /testpath/testvalue\n\nVALUE: /testpath/testvalue\n my testvalue from stdin\n\n```\n\n### burrow\n```\nkafkactl burrow mygroup07 -x\n\nBURROW      GROUP      TOPIC      PARTITION  LAG  TOPICLAG  STATUS\ndc01-kafka  mygroup07  mytopic07  0          0    0         OK\ndc01-kafka  mygroup07  mytopic07  1          0    0         OK\ndc01-kafka  mygroup07  mytopic07  2          0    0         OK\ndc01-kafka  mygroup07  mytopic07  3          0    0         OK\ndc01-kafka  mygroup07  mytopic07  4          0    0         OK\ndc01-kafka  mygroup07  mytopic07  5          0    0         OK\ndc01-kafka  mygroup07  mytopic07  6          0    0         OK\ndc01-kafka  mygroup07  mytopic07  7          0    0         OK\ndc01-kafka  mygroup07  mytopic07  8          0    0         OK\ndc01-kafka  mygroup07  mytopic07  9          0    0         OK\ndc01-kafka  mygroup07  mytopic07  10         0    0         OK\ndc01-kafka  mygroup07  mytopic07  11         0    0         OK\ndc01-kafka  mygroup07  mytopic07  12         0    0         OK\ndc01-kafka  mygroup07  mytopic07  13         0    0         OK\ndc01-kafka  mygroup07  mytopic07  14         0    0         OK\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbvmio%2Fkafkactl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbvmio%2Fkafkactl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbvmio%2Fkafkactl/lists"}