CamundaCanaryOperateVisibilityFailed
Что означает алерт
Алерт срабатывает, если канарейка Camunda больше 10 минут не видит созданный process instance в индексах operate-list-view*.
Обычно это означает проблему на цепочке Zeebe -> Operate importer -> operate индексы.
Быстрый чек
NS=camunda # для prod при необходимости: camunda-prod
- Открыть доступ к ES и проверить health:
kubectl -n "$NS" port-forward svc/camunda-elasticsearch 9200:9200
curl -s localhost:9200/_cluster/health?pretty
- Проверить ключ последнего канареечного процесса:
CANARY_DEPLOY=$(kubectl -n "$NS" get deploy -l app.kubernetes.io/component=es-operate-canary -o jsonpath='{.items[0].metadata.name}')
kubectl -n "$NS" port-forward deploy/"$CANARY_DEPLOY" 18080:8080
KEY=$(curl -s localhost:18080/metrics | awk '/camunda_canary_last_instance_key/{print $2}' | tail -1)
echo "$KEY"
- Сравнить наличие instance в Zeebe и Operate индексах:
# Zeebe record
curl -s -X POST localhost:9200/zeebe-record_process-instance*/_search \
-H 'Content-Type: application/json' \
-d "{\"size\":1,\"query\":{\"term\":{\"value.processInstanceKey\":$KEY}}}" | jq '.hits.total'
# Operate list view
curl -s -X POST localhost:9200/operate-list-view*/_search \
-H 'Content-Type: application/json' \
-d "{\"size\":1,\"query\":{\"bool\":{\"should\":[{\"term\":{\"key\":$KEY}},{\"term\":{\"id\":\"$KEY\"}}],\"minimum_should_match\":1}}}" | jq '.hits.total'
Если в Zeebe есть, а в Operate нет -> проблема на стороне Operate importer/индексов.
Что делать
- Проверить логи Operate:
kubectl -n "$NS" logs deploy/camunda-operate --tail=300 | rg -i 'error|exception|import|elasticsearch|failed'
- Проверить доступность ES из Operate pod:
POD=$(kubectl -n "$NS" get pod -l app.kubernetes.io/component=operate -o jsonpath='{.items[0].metadata.name}')
kubectl -n "$NS" exec "$POD" -c istio-proxy -- \
curl -sS -o /dev/null -w '%{http_code}\n' http://camunda-elasticsearch:9200/_cluster/health
- При зависании импортера перезапустить Operate:
kubectl -n "$NS" rollout restart deploy/camunda-operate
kubectl -n "$NS" rollout status deploy/camunda-operate
- Если проблема массовая по индексам:
- проверить shard pressure и состояние ES;
- проверить, что нет блокировок индексов (
read_only_allow_delete); - проверить, что места на диске достаточно.
Критерий закрытия
- Канарейка стабильно показывает
camunda_canary_stage_success{stage="operate"} = 1. CamundaCanaryOperateVisibilityFailedперешел вresolved.- Ручной тестовый процесс появляется в Operate.