Мы настроили zabbix для мониторинга нашей инфраструктуры, и наша группа безопасности отказалась запускать пользовательские скрипты через zabbix. Это немного усложняет нашу жизнь при поиске решений, не требующих специальных сценариев.
Некоторое время я исследовал, как мы можем отслеживать скорость появления дочерних процессов, но пока безуспешно.
Насколько мне известно, проверки zabbix не включают проверки скорости появления, можете ли вы подсказать, как мы можем этого добиться?
Вам понадобится несколько вилок - вы можете получить их, используя vmstat -f (количество вилок с момента загрузки):
vmstat -f
Но вы не можете запустить никакую команду, потому что безопасность (ОТ Я знаю, их ответ по умолчанию всегда: нет, это невозможно :-D). Однако вы можете создать модуль Zabbix, который будет выполнять вашу команду => это не умная идея. Лучшим вариантом является считывание количества вилок непосредственно со счетчика ядра. Вы можете проверить это в cmd (это эквивалент vmstat -f
):
cat /proc/stat | grep ^processes
Ваш модуль Zabbix должен читать /proc/stat
, разобрать номер из строки, которая начинается с processes
а затем Zabbix агент использует его как значение метрики. Кусок пирога для разработчика C. Посмотрите фиктивный модуль Zabbix и просто расширьте его.
Вам нужна ставка, затем настройте элемент в Zabbix UI и сохраните его как Delta (speed per second)
, так что, наконец, будет вилок в секунду. Возможно, Zabbix также справится с переполнением. Производительность будет потрясающей, потому что / proc / stat не настоящий файл, поэтому операций ввода-вывода нет. Никаких вилок, только ЦП и память не потребуется. Также вы можете изменить интервал обновления элемента, и результат будет по-прежнему правильным.