На наших серверах Linux у нас есть эта базовая проверка:
check system localhost
every "* 08-18 * * 1-5"
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if swap usage > 25% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
На 3 серверах у нас есть postgresql. Можно ли настроить monit так:
Пример:
check process system_busy
depends on system
exec "/usr/bin/psql -U postgres -c \"SELECT * FROM pg_stat_activity;\" > /var/log/postgres_busy.log"
Нам нужна еще одна проверка, чтобы не изменять локальную.
гораздо лучший и менее сложный способ обойти это - вызвать сценарий bash / python на основе требуемой проверки monit, который имеет необходимые атрибуты для сброса активности postgres там, где это необходимо.