Мониторинг процесса базы данных postgresql с помощью телеграфа с использованием плагина ввода procstat send running=0i для активного рабочего состояния
Я отслеживаю процесс базы данных postgresql с помощью плагина ввода telegraf и procstat, но, похоже, он не работает должным образом на всех машинах (главных и подчиненных).
Конфигурация входного плагина выглядит следующим образом:
[[inputs.procstat]]
systemd_unit = "postgresql-10.service"
Для этого процесса, когда он запущен, а телеграф говорит, что running=0i
Я могу без проблем подключиться к БД с помощью psql!
На другой машине, где телеграф говорит running=1i:
Единственное отличие, которое я вижу, это отсутствие MainPID. Кажется, телеграф использует эту командуsystemctl show postgresql-10.service | grep MainPID
чтобы найти pid процесса и получить 0, когда он говорит, что running=0i.
systemctl show postgresql-10.service | grep MainPID
GuessMainPID=yes
MainPID=0
ExecMainPID=0
Базы данных устанавливаются с помощью ansible playbook, поэтому нет никакой разницы в версии postgres или конфигурации файла системного блока.
Я нашел эту проблему , но не мог понять, что именно нужно сделать, чтобы ее исправить.
В чем проблема и как ее исправить? Заранее спасибо.
Обновлять:
systemctl list-unit-files | grep enabled | grep postgres
postgres_exporter.service enabled
systemctl list-unit-files | grep postgres
postgres_exporter.service enabled
postgresql-10.service disabled