DebeziumMetricsMissing
Что означает алерт
Метрики Kafka Connect из namespace debezium не собираются 10 минут. Severity: warning.
Сам коннектор при этом может работать. Не работают алерты, построенные на метриках Connect: DebeziumConnectorNotRunning, DebeziumTaskNotRunning, DebeziumConnectorNotRegistered, DebeziumNotConnectedToPostgres, DebeziumErroneousEvents. Алерты по слоту репликации берут данные из postgres-exporter и продолжают работать.
Метрики отдаёт JMX-экспортер внутри процесса Kafka Connect на порту 9404. Собирает их vmagent через Service debezium-connect-metrics и VMServiceScrape debezium-connect.
Диагностика (по шагам)
- Проверить под. Если пода нет или он не
Ready, действовать по DebeziumConnectNotReady: метрик нет, потому что нет процесса.
kubectl --context yc-sarex-stage -n debezium get pods
- Проверить, что экспортер отвечает:
POD=$(kubectl --context yc-sarex-stage -n debezium get pods -l app=debezium-connect -o jsonpath='{.items[0].metadata.name}')
kubectl --context yc-sarex-stage -n debezium exec $POD -- curl -s -m 10 localhost:9404/metrics | grep -c '^kafka_connect_'
| Результат | Значение | Действие |
|---|---|---|
| число больше нуля | экспортер работает, не работает сбор | шаг 3 |
| ошибка соединения | экспортер не запущен | шаг 4 |
| ноль | экспортер запущен, правила в metrics.yaml не совпадают с именами MBean |
«Как починить», пункт 3 |
- Проверить объекты сбора:
kubectl --context yc-sarex-stage -n debezium get svc debezium-connect-metrics
kubectl --context yc-sarex-stage -n debezium get vmservicescrape debezium-connect
kubectl --context yc-sarex-stage -n debezium get endpoints debezium-connect-metrics
У VMServiceScrape состояние должно быть operational, у Endpoints должен быть адрес пода. Если объекты на месте, проверить vmagent в namespace vm-stack.
- Проверить, что экспортер включён:
kubectl --context yc-sarex-stage -n debezium exec $POD -- bash -c 'echo "ENABLE_JMX_EXPORTER=$ENABLE_JMX_EXPORTER"; ls /kafka/libs/jmx_prometheus_javaagent*.jar /kafka/config/metrics.yaml'
Как починить
- Нет Service или VMServiceScrape. Перезапустить пайплайн
deploy_stageвinfra/debezium: объекты создаёт шаблон.helm/templates/monitoring.yamlприmetrics.enabled: true. - Экспортер не включён или нет файлов в образе. Проверить
ENABLE_JMX_EXPORTERв.helm/values.yamlи шаги установки jar иmetrics.yamlвDockerfile, пересобрать образ. - Экспортер отвечает, метрик
kafka_connect_*нет. После обновления версии Debezium или Kafka Connect имена MBean могли измениться. Сверить правила вmetrics.yamlрепозиторияinfra/debeziumс выводомlocalhost:9404/metrics.
Критерий закрытия
- Запрос
up{namespace="debezium"}в VictoriaMetrics возвращает 1. - Алерт перешёл в
inactive.