<< Click to Display Table of Contents >> Администрирование (Linux) > Сопровождение работы системы > Проверка работоспособности сервисов Общие проверки работоспособности |
Общие проверки используются сразу в нескольких сервисах. Например, у каждого сервиса есть проверка объема используемой оперативной памяти и проверка пула рабочих потоков. Подробнее см. в таблице. Кроме общих проверок есть еще уникальные для конкретных сервисов.
Для каждого сервиса задан свой состав проверок работоспособности. При этом у проверок есть свои параметры:
•name – имя проверки работоспособности. Администратор не может менять имя, иначе проверка не будет работать;
•enabled – включить или отключить проверку. По умолчанию true – все проверки включены. Используется во всех проверках.
Также есть дополнительные параметры, которые используются не во всех проверках:
•value – значение для настройки проверки. Каждая проверка может интерпретировать его по-своему;
•degradedValue – промежуточное пороговое значение, при котором проверка возвращает статус degraded;
•timeoutInMs – тайм-аут выполнения проверки. Мгновенное завершение проверки по истечении тайм-аута не гарантируется;
•checkIntervalInSeconds – частота выполнения проверки.
Далее перечислены все общие проверки и их дополнительные параметры.
PROCESS_MEMORY – проверка объема оперативной памяти, используемой сервисом. Записывает в статус- и лог-файлы расширенную информацию о памяти процесса. Параметры:
•value – максимально допустимое значение, при котором проверка возвращает статус unhealthy. Указывается в мегабайтах. Значения по умолчанию для всех сервисов разные.
Если результат проверки игнорируется, то при превышении указанного значения в 1,5 раза контейнер с сервисом автоматически перезапускается. Измените значение параметра, если нужно отрегулировать лимит. Для сервисов, с которых выполнение кода передается в изолированную область, к лимиту по оперативной памяти дополнительно прибавляется значение параметра ISOLATED_HOST_MAX_MEMORY_SIZE. Таким образом исключается ситуация, когда сервис занимает всю свободную память;
•degradedValue – промежуточное пороговое значение, при котором проверка возвращает статус degraded. Указывается в мегабайтах. Значения по умолчанию для всех сервисов разные.
Пример настройки:
'@name': 'PROCESS_MEMORY'
'@value': '1024'
'@degradedValue': '768'
'@enabled': 'true'
QUEUE – проверка работоспособности брокера сообщений RabbitMQ. Отправляет сообщение в очередь и учитывает обычную работу с очередью. При этом проверка не отправляет сообщение в очередь, если с ней успешно работали меньше 1 минуты назад. В этом случае проверка возвращает статус healthy. Параметры:
•degradedValue – время, при превышении которого проверка возвращает статус degraded. Указывается в миллисекундах. Значение по умолчанию 2000. Проверка возвращает статус unhealthy, если возникла ошибка или превышено значение в 5000 миллисекунд.
Пример настройки:
'@name': 'QUEUE'
'@degradedValue': '2000'
'@enabled': 'true'
THREAD_POOL – проверка пула рабочих потоков. Следит за наличием минимально допустимого количества свободных рабочих потоков. По умолчанию проверка включена для всех сервисов. Параметры:
•value – минимально допустимое количество свободных рабочих потоков, при котором проверка возвращает статус unhealthy. Указывается в процентах по отношению к общему количеству рабочих потоков. Значение по умолчанию 7;
•degradedValue – промежуточное пороговое значение процента свободных потоков, при котором проверка возвращает статус degraded. Значение по умолчанию 15.
Пример настройки:
'@name': 'THREAD_POOL'
'@value': '7'
'@degradedValue': '15'
'@enabled': 'true'
CERTS_EXPIRATION – проверка наличия сертификатов, у которых истекает срок действия. Отпечаток сертификата и дата истечения срока добавляются в кэш для отслеживания срока действия сертификатов, необходимых сервису для работы. Например, сертификаты шифрования для сервиса ключей KeyDerivationService. Проверка работает только с этим кэшем и не обращается к самим сертификатам. Кэш заполняется при старте сервиса и не очищается. Проверка возвращает статус degraded, если действие сертификата закончится в течение 14 дней, и статус unhealthy, если время действия используемого сертификата истекло.
Пример настройки:
'@name': 'CERTS_EXPIRATION'
'@enabled': 'true'
DATABASE – проверка подключения к базе данных. Выполняет подключение к серверу и простой SQL-запрос. Параметры:
•degradedValue – время, при превышении которого проверка возвращает статус degraded. Указывается в секундах. Значение по умолчанию 8;
•timeoutInMs – тайм-аут выполнения проверки. Указывается в миллисекундах. Значение по умолчанию 18000. Проверка возвращает статус unhealthy, если возникла ошибка или превышен тайм-аут.
Пример настройки:
'@name': 'DATABASE'
'@degradedValue': '8'
'@timeoutInMs': '18000'
'@enabled': 'true'
MONGODB – проверка подключения к базе данных MongoDB. Если в параметре MONGODB_CONNECTION_STRING не указана строка подключения к базе данных, то проверка не выполняется. Параметры:
•timeoutInMs – тайм-аут выполнения проверки. Указывается в миллисекундах. Значение по умолчанию 5000.
В зависимости от критичности использования MongoDB для сервиса проверка может возвращать статус:
•degraded – для веб-сервера, сервиса хранилищ, общего сервиса. При этом для сервиса хранилищ проверка выполняется, только если используется режим масштабирования, то есть развернуто несколько экземпляров сервисов и в параметре ENABLE_SCALING указано значение true. Для общего сервиса проверка выполняется, только если в его состав включен сервис виджетов;
•unhealthy – для сервиса хранения файлов предпросмотра, сервиса виджетов и сервиса интеграции.
Пример настройки:
'@name': 'MONGODB'
'@timeoutInMs': '5000'
'@enabled': 'true'
CRITICAL_EXCEPTION – проверка наличия критичных исключений. Все возникшие, но необработанные в коде исключения попадают в кэш типов исключений. Эти исключения сверяются со списком критичных для сервиса. Кэш по умолчанию очищается раз в 5 минут. Для каждого сервиса может быть свой набор исключений. Если есть критичные исключения, то проверка возвращает статус unhealthy.
Пример настройки:
'@name': 'CRITICAL_EXCEPTION'
'@enabled': 'true'
WRITE_ACCESS_TO_FILE – проверка доступа на запись к папке и наличия свободного места на диске. Если нет доступа к папке или не хватило места на запись, то статус проверки возвращает значение unhealthy. У каждого сервиса проверятся своя папка. Параметры:
•checkIntervalInSeconds – частота выполнения проверки. Указывается в секундах. Значение по умолчанию 120.
Пример настройки:
'@name': 'WRITE_ACCESS_TO_FILE'
'@checkIntervalInSeconds': '120'
'@enabled': 'true'
SERVER_START – проверка успешной загрузки сервера. Если сервер не загрузился, то проверка возвращает статус unhealthy.
Пример настройки:
'@name': 'SERVER_START'
'@enabled': 'true'
MODULES_LOAD – проверка успешной загрузки прикладных модулей. Если прикладные модули не загрузились, то проверка возвращает статус unhealthy. Если сервис работает в безопасном режиме, то возвращается статус degraded.
Пример настройки:
'@name': 'MODULES_LOAD'
'@enabled': 'true'
В таблице представлены общие проверки работоспособности по умолчанию:
Сервис / HealthCheck |
PROCESS_ |
QUEUE |
THREAD_ |
CERTS_ |
DATABASE |
MONGODB |
CRITICAL_ |
WRITE_ACCESS_ |
SERVER_ |
MODULES_ |
(SungeroWebServer) |
D = 4096 U = 6144 |
|||||||||
(SungeroWebClient) |
D = 768 U = 1024 |
|||||||||
(StorageService) |
D = 768 U = 1024 |
Папка для хранения содержимого документов |
||||||||
(DelayedOperationService) |
D = 768 U = 1024 |
|||||||||
(JobScheduler) |
D = 768 U = 1024 |
|||||||||
(GenericService) |
D = 4096 U = 6144 |
|||||||||
(PreviewService) |
D = 4096 U = 6144 |
Папка для временного хранения результатов конвертации. Папка для временного хранения исходных файлов |
||||||||
Сервис хранения файлов предпросмотра (PreviewStorage) |
D = 768 U = 1024 |
Папка для хранения файлов предпросмотра |
||||||||
Сервис выполнения блоков схемы задач (WorkflowBlockService) |
D = 3072 U = 6144 |
|||||||||
(WorkflowProcessService) |
D = 768 U = 1024 |
|||||||||
(SungeroWorker) |
D = 4096 U = 6144 |
|||||||||
(SungeroWidgets) |
D = 3072 U = 4096 |
|||||||||
(ReportService) |
D = 4096 U = 6144 |
|||||||||
(IndexingService) |
D = 3072 U = 4096 |
|||||||||
(ClientsConnectionService) |
D = 768 U = 1024 |
|||||||||
(IntegrationService) |
D = 4096 U = 6144 |
|||||||||
(LogService) |
D = 768 U = 1024 |
Папка с лог-файлами сервиса |
||||||||
(KeyDerivationService) |
D = 768 U = 1024 |
Папка с лог-файлами сервиса |
||||||||
(NomadService) |
D = 7168 U = 8192 |
Папка с лог-файлами сервиса |
Для параметра PROCESS_MEMORY указаны значения: D – проверка возвращает статус degraded, U – проверка возвращает статус unhealthy.
© Компания Directum, 2024 |