Сервис клиентских подключений RX не достучался до Centrifugo
«Keep-alive failed» с вложенной ошибкой «Connection refused» в логах сервиса клиентских подключений Directum RX: недоступен сервер Centrifugo, через который веб-клиент получает уведомления в реальном времени. Новые задания и обновления не появляются без перезагрузки страницы.
Что это значит
Веб-клиент RX получает уведомления в реальном времени (новое задание, изменение карточки) через сервер Centrifugo. Сервис клиентских подключений (ClientsConnectionService) регулярно проверяет связь с ним. Если Centrifugo не отвечает, сервис пишет Keep-alive failed, а внутри видно причину, обычно Connection refused с адресом и портом Centrifugo. Проверка работоспособности сервиса при этом тоже показывает его неготовым.
Пользователи замечают это так: уведомления о новых заданиях не приходят, пока не обновишь страницу.
Как проверить
- Адрес и порт из вложенной ошибки: работает ли там Centrifugo.
kubectl get pods -A | grep -i centrifugo # в Kubernetes
nc -vz <адрес centrifugo> <порт>
- Журнал самого Centrifugo: не перезапускался ли он, не падает ли при старте.
- Совпадает ли время с обновлением или перезапуском сервисов RX.
Что сделать
- Поднять Centrifugo и проверить, что сервис клиентских подключений снова считает себя готовым.
- Если Centrifugo работает, а соединение отклоняется, проверить порт в настройках RX и сетевые политики между сервисами.
- Наблюдать за Centrifugo отдельно: при его падении система формально работает, но пользователи перестают видеть новые задания вовремя. Поставьте на него проверку доступности и тревогу.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать