clusterSlug parameter that identifies the Kafka cluster to query. If you name a cluster in your question, the assistant normally uses it as the slug. Otherwise it calls list-clusters to find it. Tools that return lists are paged, so the assistant can request further pages when it needs them.
You don’t have to call tools or write their inputs yourself: the assistant picks the tools and builds the inputs from your question. The key inputs listed below help you phrase questions and check what the assistant did.
Permissions
Each tool runs with the permissions of the token you connect with:- Tools that list resources only return the resources you have access to, and leave out the rest without an error.
- Tools that read a single resource fail if you don’t have access to it.
- get-chargeback-report returns every application to users with platform-wide Chargeback access. For other users, it only returns the applications they have Chargeback permissions on.
- list-service-accounts and get-service-account return every service account to users who can view the cluster’s Access Control Lists (ACLs). Other users only see the service accounts owned by application instances they have access to.
- set-topic-labels needs the same permission as editing topic labels in Console: View config on the topic or, when metadata governance is enabled, Manage metadata.
Clusters
Topics
Console offers four tools to find topics. The assistant picks one based on your question:Messages
Schema Registry
Consumer groups
Kafka Connect
Access control and lineage
Self-service and Chargeback
Audit log
Insights
These tools are only available when Insights is enabled. See Disable Insights.Gateway
Certificates
Analyze topics with aggregate-topics
aggregate-topics answers “how many” and “how much per X” questions about the topics on a cluster. It groups topics, then computes one figure per group: a count, or the sum, average, minimum or maximum of a numeric field. Because the work happens in Console, the assistant gets back a short list of totals instead of thousands of topic rows. Use it to answer questions such as:
aggregate-topics needs Insights and only counts the topics your token can access.
How a request works
The assistant sends a request like this one, which totals storage per team, where the team is the first dot-separated segment of the topic name:key is the group, value is the computed figure and count is the number of topics in the group. totalCount is the number of groups.
Parameters
Group topics
Pass several fields to nest the groups. With
"groupBy": ["label.team", "replicationFactor"], each bucket’s key is a list, such as ["payments", "3"].
If one prefix holds most of your topics, ask the assistant to group by more segments. For example, topicNamePrefix(.,2) splits payments.* into payments.cards, payments.refunds and so on.
Aggregate a field
sum, avg, min and max work on these fields:
Filter topics
filter narrows down the topics before they’re grouped. It takes two lists of clauses:
all: every clause has to match.any: at least one clause has to match.
all clauses and at least one of the any clauses. Add "negate": true to a clause to match the topics that don’t satisfy it.
A clause compares a field with a value, using an operator the field accepts:
For
between, give two comma-separated values, such as "10,100". For in and notin, give a comma-separated list.
Instead of a field, a clause can use a named filter:
For example, this filter keeps the stale topics that are larger than 1 GB:
Keep only some groups
having filters the groups after the figures are computed. It takes an operator (eq, lt, lte, gt, gte or between) and a value. For example, to keep the prefixes with more than 100 topics:
Internal topics
Internal topics are left out by default. These are Kafka’s and Conduktor’s own topics, topics whose name starts with an underscore, Kafka Connect topics and ksqlDB topics. To include them, ask about them explicitly so the assistant setsincludeInternal to true, or filter on classification.
When a request returns no groups because internal topics were left out, the response says so, and the assistant can try again with them included.