Я хочу создать скрипт для установки конфигурации monit для мониторинга средней нагрузки на сервер. Есть ли способ сказать: «Используйте этот порог, если на сервере 1 ЦП, или используйте этот порог, если на сервере 2 ЦП? У меня примерно 24 сервера, и каждый день я добавляю больше, и я хотел бы просто установить файл, и он адаптируется к сервер или если сервер обновлен, чтобы иметь больше процессоров.Есть идеи?Спасибо
Скрипт для обновления конфигурации Monit в зависимости от количества процессоров
comment
Возможно, вы также могли бы рассмотреть возможность использования инструмента подготовки, такого как Ansible, для развертывания и управления вашей конфигурацией в соответствии с фактами серверов.
- person TheCodeKiller   schedule 25.09.2019
Ответы (1)
Просто просмотрите последние примечания к выпуску Monit 5.26.0. Появилась новая опция проверки на ядро.
if loadavg(1m) per core > 2 then alert
if loadavg(1m) > 8 then alert # same test on a 4 core system
if loadavg(1m) > 18 then alert # same test on a 9 core system
Единственная проблема заключается в том, что большинство репозиториев ОС не предоставляют такой последней версии. Таким образом, вы можете в конечном итоге скомпилировать его самостоятельно или создать файл конфигурации с помощью сценария bash, например
#!/usr/bin/env bash
# Integers only!
percore=2
cores=$(grep processor /proc/cpuinfo | wc -l)
load=$(expr $cores \* $percore)
echo "if loadavg(1m) > ${load} then alert" >> myMonitRcTemporaryFile
это - точно - не будет реагировать, если будут добавлены процессоры (например, в виртуальной машине)...
person
boppy
schedule
25.09.2019
Это потрясающе! Я еще не видел, чтобы они добавили эту способность. Спасибо, что показали мне, что это полностью решает проблему.
- person Lockcuff; 01.10.2019
Большой! Не могли бы вы пометить этот ответ как правильный, пожалуйста?
- person boppy; 01.10.2019