Альтернативные способы обнаружения зависших сервисов OpenStack/Linux?

Я заметил на некоторых из моих серверов Linux, что служба Linux будет зависать. Единственный способ, которым я знаю, что это зависание, - это операции, которые полагаются на службу, терпят неудачу, и когда я перезапускаю службу, она не может остановиться, но запускается нормально.

Если я сделаю service <servicename> status он говорит, что работает, если я сделаю ps -ef | grep <servicename> он показывает только один процесс, запущенный для этой службы, который является правильным.

Что-нибудь еще, что я могу проверить, чтобы знать, повешено ли это или нет? Я пытаюсь быть активным в восстановлении этих служб, а также в определении причин их зависания.

Для справки, сервисы в основном openstack-nova-compute и openstack-cinder-volume. Службу томов cinder, которую я могу обнаружить, когда rabbitMQ начинает собираться, но этого не происходит с nova-compute.

Это очень трудно проверить, потому что, как я уже сказал, единственный способ, который я знаю, - это если я попытаюсь что-то сделать на этом узле в OpenStack, и он даст сбой или зависнет, а затем я перезапущу службу. У меня запущен скрипт для тестирования некоторых сервисов OpenStack, но с планировщиком nova может потребоваться некоторое время, чтобы разместить экземпляр на этом хосте, или хост может быть заполнен, поэтому он никогда не будет помещать другой экземпляр на этот хост.

2 ответа

Используйте решения для мониторинга, такие как Zabbix или Nagios, пишите сценарии / проверки для сервисов, в том числе отслеживайте существование процессов, использование процессорного процессора, использование памяти процесса, ответы API и т. Д.

Вы можете написать скрипт (задание cron?), Который проверяет временную метку журналов сервисов OpenStack, которые вы хотите отслеживать. Я думаю, что большинство сервисов выполняют аудит и регистрируют его. Также любая операция должна генерировать логи. Таким образом, если журналы не обновляются через некоторое время, вы можете попробовать перезапустить службу.

И, как вы упомянули, определение того, почему они зависают, должно быть критическим.

Другие вопросы по тегам