AI Platform Docs
Администрирование

Сервис Agent Registry

Проверки состояния, диагностика и восстановление Agent Registry.

Состав компонента

Процесс/СервисНазначениеОсновные сигналы
APIКаталог, получение записи и поиск с учетом прав доступаРаботоспособность, готовность, время ответа, коды 401/403/404/503
Kubernetes ReconcilerМониторинг Service, EndpointSlice и разрешенных HTTPRouteСвежесть покрытия, ошибки наблюдения, повторный список, задержка согласования
Outbox RelayПубликация зафиксированных событий в RedpandaВозраст неопубликованной записи, попытки, срок владения, ошибки брокера
Search IndexerОбновление разрешений SpiceDB и документов OpenSearchОтставание группы потребителя, повторные события, ошибки проекции
Search ReindexПостроение нового поколения поискового индексаСостояние задания, смещения разделов, количество документов, контрольный набор
RetentionПрименение сроков храненияВремя завершения, ошибки удаления, сохранность неопубликованной очереди

PostgreSQL хранит метаданные. Redpanda, SpiceDB и OpenSearch являются производными или внешними проекциями и восстанавливаются из метаданных и событий.

Получение сведений о состоянии

После явного выбора контекста и пространства имен допустимы команды чтения:

kubectl -n "$REGISTRY_NAMESPACE" get deploy,pod,svc,endpointslice,job,lease kubectl -n "$REGISTRY_NAMESPACE" get events --sort-by=.lastTimestamp kubectl -n "$REGISTRY_NAMESPACE" logs
deploy/ap-agent-registry-kubernetes-reconciler --all-pods --tail=200 kubectl -n "$REGISTRY_NAMESPACE" logs
deploy/ap-agent-registry-api --all-pods --tail=200

Важно: Не помещайте значение токена, текст карточки, запрос поиска, вектор и внутренний адрес в запрос.

Устаревшее данные мониторинга Kubernetes

Признак: алерт AgentRegistryObservationCoverageStale, потеря готовности Reconciler или исчезновение доступных интерфейсов.

  1. Проверьте возраст покрытия, ошибки данных мониторинга, ответы 410, ограничение запросов Kubernetes и лидера сервисов Reconciler.
Возраст покрытияПоведение
≤ 30 сПокрытие свежее, ресурсы доступны
> 30 сПокрытие устарело
> 300 с ±20 %Периодический full resync — полное подтверждение наличия/отсутствия
  1. Убедитесь, что потоки Service и EndpointSlice свежие для каждого явно сопоставленного пространства имен.
  2. Проверьте только права get/list/watch через RoleBinding. Чтение Secret, Pod, Deployment и всего кластера не требуется.
  3. При 410 Gone дождитесь полного повторного списка.
  4. При перезапуске лидера сервисов Reconciler, новый владелец должен сначала выполнить полную синхронизацию и только потом считать покрытие свежим.

Потеря готовности агента

Проверьте все EndpointSlice, принадлежащие сервису агента: управляющий контроллер, тип адреса, порт и признаки ready, serving, terminating.

При отсутствии доступного EndpointSlice:

  • агент не доступен из обычной выдачи для вызова;
  • удаляется публичный интерфейс;
  • инициируется отзыв разрешений доступа (SpiceDB) и поисковой проекции.

Восстанавливайте исходный агентский сервис или Low-code Runtime. Пересозданный сервис получает новый UID и проходит полную проверку.

Ошибка разрешений SpiceDB

Признак: AgentRegistryPermissionCleanupFailing или ответы authorization_unavailable.

  1. Считайте затронутый агент недоступным до завершения восстановления.
  2. Проверьте состояние SpiceDB и код ошибки авторизационного запроса.
  3. После восстановления дождитесь повторной операции Reconciler.
  4. Убедитесь, что разрешения владельца и рабочей области удалены либо созданы в соответствии с текущим состоянием.

Откат БД SpiceDB не приведет к восстановлению.

Отказ поиска

  • При отказе AI Gateway поиск возвращает 503.
  • При отказе OpenSearch поиск возвращает 503.
  • Просмотр списка и одной записи продолжается, если PostgreSQL и SpiceDB исправны.
  • После восстановления создайте новое поколение индекса.
  • Переключайте псевдоним только после проверки количества, контрольного набора и догонки потока событий.
  • Храните прежнее поколение не менее семи дней для быстрого возврата.

Не редактируйте отдельные документы OpenSearch вручную.

Задержка транзакционной очереди

Признак: AgentRegistryOutboxPublishFailing или рост возраста самой старой неопубликованной записи.

  1. Проверьте Redpanda, права на топик, срок хранения и владельца блокировки.
  2. Не меняйте published_at вручную.
  3. После истечения периода блокировки запись должна стать доступной повторной попытки.
  4. Повторная доставка допустима: Search Indexer устраняет повторы по идентификатору события и версии агрегата.
  5. После восстановления убедитесь, что очередь сокращается, а группа потребителя продвигается.

Миграции и восстановление

Задание миграции и проверка при запуске используют транзакционную блокировку PostgreSQL. При ошибке:

  1. остановите деплой версии;
  2. сохраните номер Alembic и ошибку базы;
  3. верните совместимый образ приложения;
  4. выполняйте понижение версии схемы только после проверки сохранности данных;
  5. не запускайте разрушительный SQL из интерактивного контейнера.

Цели восстановления: Agent Registry — RTO 60 минут и RPO 5 минут; SpiceDB — RTO 30 минут и RPO 5 минут.

OpenSearch восстанавливается из метаданных и не имеет внутреннего механизма, гарантирующего сохранность.

На этой странице