Приветствую!
Тестирую апгрейд версии имеющегося сервера 5.0, попробовал на тестовом сервере поэтапный переход 5.0->6.0->7.0, наткнулся на значительное увеличение нагрузки на CPU опрашиваемого хоста при переходе с 6.0 на 7.0.
Проблема ярко проявляется на конкретном хосте, всего хостов ~250. На проблемном хосте размещается десяток сервисов, которые опрашиваются python-скриптом через userparameter с интервалом в 1m, на сервер летит ~35 метрик от каждого сервиса. Параметры хоста: cpu xeon e3-1230 4c/8t, 32G ram.
При использовании версии сервера 6.0.38 load average ~4 на проблемном хосте, при апгрейде сервера до 7.0.9 load average проблемного хоста постепенно уходит в облака, вероятно, по причине использования асинхронного поллинга и формирования бесконечной очереди задач.
В конфиге сервера выставлены StartPollers=100 Timeout=20.
Numder of items: ~200k. Number of triggers: ~55k. New values per second при апгрейде увеличивается с ~800 до ~2900.
Агент zabbix_agent2 6.0.29, отдаёт данные на оба сервера.
Понятно, что скрипты почти наверняка работают не оптимально, но вопрос их оптимизации хотелось бы вынести за рамки апгрейда версии сервера.
Пока попробовал указать в конфиге сервера MaxConcurrentChecksPerPoller=20. Это позволяет получить la ~6 на проблемном хосте, при этом last check со временем растёт за пределы 10 минут. Если поднимать MaxConcurrentChecksPerPoller, то на проблемном хосте (и ещё ряде машин с похожей схемой опроса сервисов скриптами) заканчивается cpu, а если MaxConcurrentChecksPerPoller снижать, то задержки обновления метрик растут вплоть до объявления сервисов упавшими, агентов недоступными и т.д.
Как действовать, чтобы добиться от версии сервера 7.0 политики опроса без повышенной нагрузки на cpu опрашиваемого хоста, подобно 6.0?
Тестирую апгрейд версии имеющегося сервера 5.0, попробовал на тестовом сервере поэтапный переход 5.0->6.0->7.0, наткнулся на значительное увеличение нагрузки на CPU опрашиваемого хоста при переходе с 6.0 на 7.0.
Проблема ярко проявляется на конкретном хосте, всего хостов ~250. На проблемном хосте размещается десяток сервисов, которые опрашиваются python-скриптом через userparameter с интервалом в 1m, на сервер летит ~35 метрик от каждого сервиса. Параметры хоста: cpu xeon e3-1230 4c/8t, 32G ram.
При использовании версии сервера 6.0.38 load average ~4 на проблемном хосте, при апгрейде сервера до 7.0.9 load average проблемного хоста постепенно уходит в облака, вероятно, по причине использования асинхронного поллинга и формирования бесконечной очереди задач.
В конфиге сервера выставлены StartPollers=100 Timeout=20.
Numder of items: ~200k. Number of triggers: ~55k. New values per second при апгрейде увеличивается с ~800 до ~2900.
Агент zabbix_agent2 6.0.29, отдаёт данные на оба сервера.
Понятно, что скрипты почти наверняка работают не оптимально, но вопрос их оптимизации хотелось бы вынести за рамки апгрейда версии сервера.
Пока попробовал указать в конфиге сервера MaxConcurrentChecksPerPoller=20. Это позволяет получить la ~6 на проблемном хосте, при этом last check со временем растёт за пределы 10 минут. Если поднимать MaxConcurrentChecksPerPoller, то на проблемном хосте (и ещё ряде машин с похожей схемой опроса сервисов скриптами) заканчивается cpu, а если MaxConcurrentChecksPerPoller снижать, то задержки обновления метрик растут вплоть до объявления сервисов упавшими, агентов недоступными и т.д.
Как действовать, чтобы добиться от версии сервера 7.0 политики опроса без повышенной нагрузки на cpu опрашиваемого хоста, подобно 6.0?
Comment