Skip to content

AxonOps — AI-Native Control Plane for Open Source Data Platforms

Kafka Connect Operations

Operational guidance for running Kafka Connect in production.


MetricDescriptionAlert
connector-countActive connectors≠ expected
task-countRunning tasks≠ expected
connector-startup-failure-totalStartup failures> 0
source-record-poll-totalRecords polledAnomaly
sink-record-send-totalRecords sentAnomaly
offset-commit-failure-totalCommit failures> 0
deadletterqueue-produce-totalDLQ records> 0
kafka.connect:type=connector-metrics,connector={name}
kafka.connect:type=connector-task-metrics,connector={name},task={id}
kafka.connect:type=source-task-metrics,connector={name},task={id}
kafka.connect:type=sink-task-metrics,connector={name},task={id}
Terminal window
# Cluster info
curl http://connect:8083/
# List connectors
curl http://connect:8083/connectors
# Check connector status
curl http://connect:8083/connectors/my-connector/status

Terminal window
curl -X POST http://connect:8083/connectors \
-H "Content-Type: application/json" \
-d @config.json
Terminal window
curl -X PUT http://connect:8083/connectors/my-connector/config \
-H "Content-Type: application/json" \
-d @updated-config.json
Terminal window
# Pause
curl -X PUT http://connect:8083/connectors/my-connector/pause
# Resume
curl -X PUT http://connect:8083/connectors/my-connector/resume
Terminal window
# Restart connector
curl -X POST http://connect:8083/connectors/my-connector/restart
# Restart specific task
curl -X POST http://connect:8083/connectors/my-connector/tasks/0/restart
Terminal window
curl -X DELETE http://connect:8083/connectors/my-connector

Start additional worker processes with same group.id:

Terminal window
# On new node
connect-distributed.sh config/connect-distributed.properties

Tasks automatically rebalance across workers.

Terminal window
curl -X PUT http://connect:8083/connectors/my-connector/config \
-H "Content-Type: application/json" \
-d '{
"connector.class": "...",
"tasks.max": "6"
}'

IssueSymptomSolution
Task failedFAILED statusCheck logs, fix config, restart
Connector not startingUNASSIGNED tasksCheck worker logs
High lagSlow processingScale tasks/workers
Memory issuesOOM errorsIncrease heap, reduce batch size
Terminal window
curl http://connect:8083/connectors/my-connector/status | jq
{
"name": "my-connector",
"connector": {"state": "RUNNING", "worker_id": "worker1:8083"},
"tasks": [
{"id": 0, "state": "RUNNING", "worker_id": "worker1:8083"},
{"id": 1, "state": "FAILED", "worker_id": "worker2:8083", "trace": "..."}
]
}
Terminal window
# Check Connect worker logs
tail -f /var/log/kafka-connect/connect.log | grep ERROR

Terminal window
curl -X PUT http://connect:8083/connector-plugins/MyConnector/config/validate \
-H "Content-Type: application/json" \
-d @config.json
Terminal window
curl http://connect:8083/connectors/my-connector/config > backup.json

TopicPurposeCleanup
connect-offsetsSource offsetsCompacted
connect-configsConfigurationsCompacted
connect-statusStatus updatesCompacted

Verify topics exist with proper replication:

Terminal window
kafka-topics.sh --bootstrap-server kafka:9092 --describe \
--topic connect-offsets