В этой статье:

Просмотр объёма потребления системных ресурсов контейнерами

Проверка работы подов на каждом узле кластера и аудит их логов

Проверка доступа к источнику данных

Проверка событий кластера

Проверка работы кластера в OKD

Для диагностики и устранения ошибок системы откройте приложение OKD:

В приложении доступно:

Просмотр объёма потребления системных ресурсов контейнерами

Для просмотра объёма потребления ресурсов центрального процессора (CPU) и оперативной памяти (RAM) контейнерами откройте подраздел «Monitoring > Dashboards» и выберите аналитическую панель «Kubernetes/Compute Resources/Namespace (Pods)» в раскрывающемся списке «Dashboards»:

По умолчанию на диаграмме отображается статистика объёма потребления системных ресурсов по всем подам. Для отображения статистики по конкретному поду наведите курсор на точку диаграммы. После чего будет отображена всплывающая подсказка с наименованием пода и значением объёма потребления соответствующего ресурса.

Примеры диаграмм:

Проверка работы подов на каждом узле кластера и аудит их логов

Для проверки работы подов на каждом узле кластера:

  1. Откройте подраздел «Compute > Nodes»:

В таблице отображается список узлов кластера с системными характеристиками.

  1. Щёлкните по наименованию узла кластера в столбце «Name» для детализации данных по конкретному узлу кластера.

  2. Перейдите на вкладку «Pods»:

На вкладке отображается таблица со списком подов.

  1. Проанализируйте работу подов по параметрам (столбцам):

Работа пода считается некорректной:

  1. Перезапустите под при обнаружении некорректной работы.

Если после перезапуска пода сохраняется некорректное поведение, то проведите аудит логов пода.

Для аудита логов пода на вкладке «Pods»:

  1. Щёлкните по наименованию пода в столбце «Name» для детализации данных по конкретному поду.

Совет. Рекомендуется проверить следующие поды: fmp-api, fmp-auth, fmp-dashboard, fmp-rpc, fmp-web.

  1. Перейдите на вкладку «Logs»:

  1. Отсортируйте логи пода по времени их выполнения с помощью команды:

kubectl logs <наименование пода> -n <пространство имён сервера мобильной платформы> | sort -k 23

После чего будет выведен список логов, отсортированный по времени выполнения процессов от самым быстрых до самых долгих.

  1. Проанализируйте логи пода. Пример логов, которые указывают на корректную работу контейнеров пода fmp-api (также актуально для fmp-auth, fmp-dashboard, fmp-rpc, fmp-web):

{"request_id"="-","ip": "10.129.2.28", "timestamp": "[08/Sep/2022:10:54:06 +0000]", "http_method: "GET", "URN": "/metrics", "query_string": "", "response_status": 200, "response_length": 1948, "response_time": 0.045690}

Расшифровка примера:

{"request_id"="<идентификатор запроса>", "ip": "<IP-адрес клиента>", "timestamp": "<время отправки ответа клиенту>", "http_method: "<HTTP-метод запроса>", "URN": "<URN>", "query_string": "значения GET-параметров", "response_status": <статус ответа>, "response_length": <длина ответа>, "response_time": <время обработки ответа>}

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

Если с сервера мобильной платформы возвращается ответ с кодом ошибки 502, то проанализируйте логи пода fmp-nginx, характеризующие работу прокси-сервиса nginx.

Проверка доступа к источнику данных

Для проверки доступа к источнику данных отправьте тестовый запрос к серверу мобильной платформы:

Если тестовый запрос к серверу мобильной платформы не выполняется, то отправьте запрос к источнику данных:

Примечание. Если запрос выполняется только из контейнера, то возможно прокси-сервисы (nginx, ingres кластера и другие) работают некорректно. Для выявления такого сервиса отправьте запрос к каждому из уровней проксирования. Если запрос не выполняется из контейнера, то проверьте таймауты.

Таймауты, указанные на прокси-сервере и фреймворке, должны соответствовать реальному времени выполнения запроса. Проверьте установленные таймауты на прокси-сервере до кластера, на кластере (Ingress Controller) и на источнике данных. Если таймауты указаны корректно, то проверьте события кластера.

Проверка событий кластера

Для проверки и анализа событий кластера выполните одно из действий:

kubectl get events -n <пространство имён сервера мобильной платформы>

После выполнения действия будет получена информация о событиях кластера. Для получения подробной информации о расшифровке событий кластера обратитесь к документации OKD.

См. также:

Мониторинг ошибок системы