sysguard_mode
Директива `sysguard_mode` определяет метод логического объединения нескольких правил sysguard для оценки состояния загрузки системы.
Описание
Директива sysguard_mode используется в модуле sysguard NGINX для указания того, как объединяются различные проверки условий (например, загрузка, использование памяти и время ответа) для определения того, требуют ли системные условия принятия мер. Данная директива принимает два значения: or и and. При установке в or действие запускается, если выполнено любое из указанных условий, что упрощает реакцию на менее серьёзные нагрузки системы. Если же установлено значение and, все указанные условия должны быть выполнены до выполнения назначенного действия, что обеспечивает более строгий контроль и более точную оценку критических состояний системы. Директива применима в различных контекстах, включая http, server и location, что позволяет гибко настраивать поведение в зависимости от требуемой детализации мониторинга и реакции. Оценка выполняется во время обработки запроса, и на основе текущих системных метрик, измеренных по заданным порогам, предпринимается соответствующее действие, например возврат HTTP-кода ошибки или ограничение обслуживания. Поведение сильно настраиваемо и может быть адаптировано к требованиям нагрузки каждого приложения, обслуживаемого NGINX.
Пример конфига
http {
server {
sysguard on;
sysguard_mode and;
sysguard_load load=5.0 action=/limits;
sysguard_mem swapratio=15% action=/limits;
location /limits {
return 503;
}
}
}Убедитесь, что при использовании этой директивы определено как минимум одно условие sysguard; в противном случае она не будет иметь эффекта.
Использование режима and может привести к срабатыванию меньшего числа действий, что может задержать реагирование на критические изменения состояния системы, если не выполнены все условия.