Я хотел бы использовать monit и M/Monit для мониторинга нашей базы данных Postgresql. Настроить его для мониторинга процесса Postgresql достаточно просто. Следующее самое важное, что нам нужно отслеживать, — это количество подключений.
Текущее решение
Я могу написать bash-скрипт, который будет запрашивать количество подключений. Сценарий завершится с кодом состояния, равным количеству подключений. Я могу вызвать этот скрипт из Monit, используя
check program pg-replication-lag with path /tmp/count-connections.sh
if status > 45 then alert
Это предупредит, если используется более 45 подключений.
Проблема
Хотя получение предупреждений в таких ситуациях очень важно, мы также хотели бы визуализировать количество подключений с течением времени. В M/Monit есть несколько отличных графиков системных переменных, таких как RAM, CPU и т. д., но я не вижу никакого способа графического отображения значения состояния check program
в M/Monit, но я надеюсь, что просто упускаю его из виду.
Можно ли графически отображать произвольные данные, собранные check program
? Кто-нибудь может придумать лучший способ собрать эти данные и визуализировать их в M/Monit?
PS: хотя я использовал количество подключений в качестве примера, есть и другие числовые данные, которые мы хотели бы отобразить во времени (например, задержка репликации).