В прошлых статьях я уже писал о metricbeat и о том, как его ставить и о базовых настройках, так что тут я это опущу.
Включение модуля postgresql
- Включаем модуль postgresql
sudo metricbeat mudules enable postgresql - Перезапускаем metricbeat
sudo sysytemctl restart metricbeat
Конфигурация модуля postgresql
Для мониторинга естественно используется подключения к бд, и соответственно нужно настроить доступ к бд.
Настройки модуля находятся по пути /etc/metricbeat/modules.d/postgresql.yml.
- Создаём
keystoresudo metricbeat keystore create - Создаём ключи
keystore, в которые вводим логин и пароль для подключения кpostgressudo metricbeat keystore add MY_USR sudo metricbeat keystore add MY_PWD sudo metricbeat keystore list - И настраиваем сам модуль
sudo vim /etc/metricbeat/modules.d/postgresql.yml
- module: postgresql
metricsets:
- database
- bgwriter
- activity
#тут можно выставить интервал мониторинга
period: 60s
#postgres - это бд, к которой будем подключаться
hosts: ["postgres://127.0.0.1:5432/postgres?sslmode=disable"]
#логин
username: "${MY_USR}"
#пароль
password: "${MY_PWD}"
Права для пользователя в postgresql
Тут самое интересное я не нашел какой-то внятной статьи о правах в которых нуждается пользователь, под которым осуществляется аутентификация. Поэтому просто напишу тут какие права выдал я и это сработало.
- Естественно первым делом connect к бд postgres
- Роли pg_read_all_stats, pg_execute_server_program
Почему именно эти я уже и не вспомню. Дело в том, что я использовал существующую учетную запись для мониторинга, и права были у неё такие.
Включаем логирование pg_stat_statements
- Включаем
pg_stat_statements. Для этого редактируем файл конфигураций самогоpostgresql(путь может различаться). Для поиска файла можно воспользватьсяfind / -name postgresql.conf.sudo vim /var/lib/pgsql/12/data/postgresql.confshared_preload_libraries = 'pg_stat_statements' pg_stat_statements.max = 1000 pg_stat_statements.track = all - Создаём
extentionCREATE EXTENSION pg_stat_statements - Проверяем pg_stat_statements
SELECT * FROM pg_stat_statements - Добавляем statement в
metricbeatsudo vim /etc/metricbeat/modules.d/postgresql.yml//- module: postgresql metricsets: //- statement - Перезапускаем
postgresиmetricbeatsudo sysytemctl restart postgresql-12 sudo sysytemctl restart metricbeat


Комментарии