Контролирую ок. 10 серверов Linux с 4 ядрами ЦП каждый с Zabbix.
В последнее время я получал много ложных срабатываний триггера «Загрузка процессора слишком высока».
Выражение триггера «Слишком высокая загрузка процессора» было:
{Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>5
что по умолчанию.
Затем я поднял 5 до 12, чтобы получать меньше сигналов тревоги, но почему-то подумал, что это не лучший способ справиться с этим. Поэтому я немного погуглил и построил новый триггер.
{Template OS Linux:system.cpu.util[,user].max(5m)}>75
Я бы спросил у сообщества:
Как бы вы составили выражение, которое будет делать это:
Триггер сработает, если:
Я следил за примерами в какая-то статья и попробовал с
({Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>3
&
{Template OS Linux:system.cpu.util[,user].max(5m)}>75)
но я потерпел неудачу.
Zabbix сервер вернул ошибку:
Неправильное выражение триггера. Проверьте часть выражения, начинающуюся с "& {Шаблон ОС Linux: system.cpu.util [, пользователь] .max (5m)}> 75)".
Поскольку я (пока что) не высококвалифицированный эксперт по Zabbix, мои комментарии будут очень благодарны. Спасибо.
Почему в вашем случае ложная тревога "Слишком высокая загрузка процессора"? Для меня это настоящий симптом - переполнен CPU.
ИМХО: использовать только
{Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>5
но порог зависит от вашего сервера - что и как он делает. Но значение> 5 мне подозрительно. Пример: загрузка ЦП может быть низкой, но загрузка ЦП высокой - в этом случае это может быть признаком «медленных» операций ввода-вывода с диском (вам нужно будет проверить показатели использования CPU iowait, длины дисковой очереди, ...). Ваше новое комбинированное выражение триггера не учитывает этот случай.
Я рекомендую статью об использовании / насыщении от старшего архитектора производительности в Netflix: http://www.brendangregg.com/usemethod.html
Я бы предложил примерно следующее:
{Template OS Linux:system.cpu.load[percpu,avg15].avg(15m)}>1.8
Цель в том, что вы хотите более медленное время отклика на ваши будильники вместо повышения до более высокого порога. Часто всплеск активности, который исчезает через 5 или 10 минут, на самом деле не является большой проблемой, может быть совершенно нормальным в зависимости от того, что вы там делаете. Однако, если тяжелая нагрузка сохраняется в течение значительного периода времени, вам следует знать об этом. Увеличьте или уменьшите этот порог на 1,8 в зависимости от того, как будет выглядеть ваша типичная рабочая нагрузка.
С точки зрения вашего выражения здесь:
{Template OS Linux:system.cpu.util[,user].max(5m)}>75
Я бы не рекомендовал использовать функцию max () в этом контексте, потому что она будет чувствительна даже к кратковременному всплеску высокой активности ... если только вы этого не хотите, но тогда не жалуйтесь на получение большого количества предупреждений.
Наконец, да, вы можете использовать логические выражения, и здесь есть страница документации, которая вам поможет. Проверь это:
https://www.zabbix.com/documentation/3.2/manual/config/triggers/expression#operators