Zabbix: мониторинг скорости появления детей
Мы настроили zabbix для мониторинга нашей инфраструктуры, и наша команда безопасности отказала нам в запуске пользовательских сценариев через zabbix. Это делает нашу жизнь немного сложнее в поиске решений, которые не требуют пользовательских сценариев.
Некоторое время я исследовал, как мы можем отслеживать скорость появления дочерних процессов, но пока безуспешно.
Насколько я знаю, проверки zabbix не включают проверки скорости появления, можете ли вы предложить, как мы можем этого добиться?
1 ответ
Вам нужно несколько вилок - вы можете получить их с помощью vmstat -f (количество вилок с момента загрузки):
vmstat -f
Но вы не можете запустить какую-либо команду, потому что безопасность (OT я знаю, их ответ по умолчанию всегда: нет, это невозможно:-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 не настоящий файл, поэтому никаких операций ввода-вывода. Никаких вилок только CPU и mem не потребуются. Также вы можете изменить интервал обновления товара, и результат будет по-прежнему корректным.