Usage

Groups

Prerequisites

  • You have setup the correct access control permissions in Kpow to allow GROUP_EDIT . See: User authorization.
  • You have setup the correct Kafka ACLs if you have enabled ACLs in your Kafka cluster. See: Minimum ACL permissions.

Managing Offsets

Overview

Within Kpow you can change consumer group offsets from any dimension:

  • Whole group assignments
  • Host-level assignments
  • Topic-level assignments
  • Partition-level assignment

Offsets can be reset in multiple ways:

  • By offset value
  • To the earliest offset
  • By time
  • By skipping an offset (eg, incrementing the current offset)

Offset actions

Group offset management can be found in the navigation menu under the Consumers/Workflows section.

Select the consumer group you would like to manage from the dropdown, and you will see the consumer group topology.

Select consumer group

Consumer group topology

All offset management actions are available when clicking on a node:

Once you have selected a node, the available group offset actions can be found under the Mutations section on the right-hand pane.

Resetting member offsets by time

Scheduling a mutation

All group offset actions are scheduled, and will be invoked once all prerequisites have been met. For group offsets, the prerequisite is that the consumer group's state must be EMPTY. That is, you will have to manually scale down all instances of the consumer group to alter their offsets. This is because group actions cannot be performed on a running consumer group.

By default, Kpow will try to run the mutation for up to 15 minutes after it has been scheduled. You can cancel the mutation or view its current status by clicking on the Consumers/Mutations tab.

Scheduling a mutation

Removing Consumer Group Members

If you have a static consumer group (a consumer group with group.instance.id set) you can use Kpow to remove a member from the group. This is can be useful as static consumer groups do not send a leave group request when they go offline, and instead rely on session.timeout to trigger a group rebalance.

When removing a member from a static consumer group it will have the effect of triggering a rebalance. This can be useful if you want to speed up the rebalancing process and don't wish to wait for the session.timeout value.

To remove a member from a consumer group navigate to the member in the consumer topology or table and click the "Remove Member" action. Removing members from a consumer group requires the GROUP_DELETE RBAC action.