Client Quotas
Pilot provides a UI and API for managing Kafka client quotas and analyzing quota utilization and violations.
Quota Types
Kafka supports quotas at multiple entity levels:
| Entity Type | Description |
|---|---|
| Default | Cluster-wide default quotas |
| Default User | Default quotas for all users |
| Default Client ID | Default quotas for all client IDs |
| User | Quotas for a specific user |
| Client ID | Quotas for a specific client ID |
| User + Client ID | Quotas for a specific user and client ID combination |
Quota Properties
Common quota properties include:
producer_byte_rate- maximum bytes/sec a producer can publishconsumer_byte_rate- maximum bytes/sec a consumer can fetchrequest_percentage- request processing time per broker, summed across network and I/O threads. 100% represents one fully utilized thread; values above 100% are valid (1500% represents 15 threads).
API Endpoints
Read Operations (Free)
| Method | Path | Description |
|---|---|---|
GET | /api/v1/quotas | List all quotas |
POST | /api/v1/quotas/resolve | Resolve effective quotas for a user/client pair |
Entity-Specific Operations
Each entity type supports GET (free), PUT (licensed), and DELETE (licensed):
| Entity | Path |
|---|---|
| Default | /api/v1/quotas/default |
| Default User | /api/v1/quotas/default-user |
| Default Client ID | /api/v1/quotas/default-client-id |
| User | /api/v1/quotas/user/{user} |
| Client ID | /api/v1/quotas/client-id/{clientId} |
| User + Client ID | /api/v1/quotas/user/{user}/{clientId} |
Example: Set Producer Quota
curl -X PUT http://localhost:8080/api/v1/quotas/user/my-producer \
-H "Content-Type: application/json" \
-d '{"producer_byte_rate": 10485760}'Last updated on