Ошибка отображения метрик сервера
Описание ошибки
После обновления метрики сервера некорректно отображаются в web-интерфейсе SpaceVM.
Таблица ошибок и их решения
| № | Как выявить ошибку | Тип ошибки | Действия по диагностике |
|---|---|---|---|
| 1 | Вывод ошибки в терминале в процессе обновления | Ошибка процесса обновления | Проверить корректность шагов обновления. |
| 2 | Нулевое значение нагрузки ЦП и ОЗУ в web-интерфейсе | Ошибка конфигурации статистики | Проверить корректность конфигурации статистики в CLI контроллера. |
| 3 | Нулевое значение нагрузки ЦП и ОЗУ в web-интерфейсе | Сбой SSL-сертификатов | Не отображаются метрики и на контроллере настроена репликация БД. |
| 4 | Сервер недоступен для переноса ВМ, находится в состоянии ошибки | Сервер находится в Cервисном режиме или состоянии ошибки | Сервер в ошибке или в сервисном режиме, в стандартный режим не переводится. |
| 5 | Сервер недоступен для переноса ВМ | Сбой в работе prometheus | Проверить наличие динамического изменения данных в web-интерфейсе Prometheus. |
| 6 | Сервер находится в состоянии ошибки | Автовосстановление сервера | Сервер в ошибке или в сервисном режиме, через web-интерфейс в стандартный режим не переводится. Перезапуск сервисов контроллера не дал результата. |
Ошибка процесса обновления
Диагностика: Проверить корректность выполнения шагов при обновлении до версии 6.5.9 согласно инструкции.
Решение:
Выполнить на контроллере команды:
services restart prometheus
node nodes-cli "services restart node-statistics"
Ошибка конфигурации статистики
Диагностика: На контроллере проверить конфигурацию статистики с помощью команды:
system statistics config
В конфигурации должны корректно отображаться параметры узлов: job_name с UUID узла, ip-адрес, путь на валидный ssl-сертификат.
Решение:
Если в выводе конфигурации отсутствуют нужные узлы или секции:
-
Перенастроить конфигурацию экспортеров Prometheus согласно БД контроллера с помощью команды:
system statistics reload -
Убедиться, что конфигурация изменилась и соответствует параметрам узлов:
system statistics config
Сбой SSL-сертификатов
Диагностика: Не отображаются метрики и на контроллере настроена репликация.
Решение:
-
Убедиться, что процесс репликации активен и изменения в БД синхронизированы на обоих контроллерах с помощью команды:
controller statusПодробнее с параметрами вывода команды можно ознакомиться в статье
О репликации контроллера. -
Выполнить команды в shell обоих контроллеров: сначала на master, затем на slave:
MD5=$(md5sum $(which veil-controller) | awk '{print $1}'); [ "$MD5" == "6da8f4bde5c1de88db5211dfba454a50" ] && sed -i -e "s|import grpc_key_generation;|import grpc_key_generation as gr; exec('def grpc_key_generation(*a,**k):\\\\\\\\\\\n try:\\\\\\\\\\\n gr(*a,**k)\\\\\\\\\\\n except:\\\\\\\\\\\n pass');|" -e 's|{ext}";|{ext}" 2>/dev/null|' -e "s|'\${_rip_name}', '\${TMP_DIR}'|&, ssh='_'|g" -e '1225 s|controller|systemctl start nginx; controller|' $(which veil-controller) || echo "No required script version" -
После применения скрипта проверить хеш-сумму исполняемого файла с помощью команды:
md5sum $(which veil-controller)Правильный хеш после применения скрипта: 47422aed5e5b23577e13e97360c94404 /usr/local/sbin/veil-controller.
-
После проверки в CLI контроллера с ролью master выполнить команду:
controller role master
Сервер находится в Cервисном режиме или состоянии ошибки
Диагностика: Проверить состояние узла в web-интерфейсе. Узел в стандартный режим не переводится.
Решение:
-
Перезапустить супервизор на узле и контроллере с помощью команд CLI:
services restart node-engine services restart controller-engine -
После перезапуска подождать 5 минут.
Сервер должен самостоятельно выйти из состояния ошибки. Затем его можно перевести в Стандартный режим через web-интерфейс.
Сбой в работе Prometheus
Диагностика: В Web-интерфейсе Prometheus проверить, что метрики сервера
(ip-адрес сервера:9100/metrics) отображаются динамически.
При обновлении страницы данные должны меняться.
Решение:
-
Если метрики не меняются, необходимо проверить статус службы prometheus на сервере.
-
Если метрики обновляются, необходимо проверить статус службы prometheus на контроллере:
- Перейти в shell контроллера.
-
Проверить статус службы prometheus с помощью команды:
systemctl status prometheus -
Вывести логи службы prometheus с помощью команды:
journalctl -u prometheus | tail -n 20 -
При наличии ошибок
Loading on-disk chunks failedостановить работу службы prometheus. -
Перенастроить конфигурации в CLI контроллера:
system statistics clear -
Запустить prometheus.
Автовосстановление сервера
Диагностика: Проверить состояние узла в web-интерфейсе. Узел в стандартный режим не переводится. Перезапуск сервисов контроллера не дал результат.
Решение:
- Выполнить команду для каждого проблемного узла в CLI контроллера:
node reinstall <uuid узла> - Перезапустить супервизор контроллера с помощью команды:
services restart controller-engine services restart controller-web-api
Выполнение команды запускает повторную генерацию ssl-сертификатов и возвращает узел в активное состояние.
В некоторых случаях выполнение задачи возвращает ответ TASK FAILED, но процесс не прерывается.
В этом случае необходимо подождать несколько минут и обновить информацию в разделе Серверы.