PostgresDB (remote monitoring)

Материал из Документация Ключ-АСТРОМ

Расширения / Расширения 2.0 / PostgresDB (remote monitoring)

Контролируйте производительность Postgres с помощью нашей новой платформы расширений EF2.0.

Обзор

Наше решение для мониторинга базы данных Postgres основано на подходе удаленного мониторинга, реализованном в виде расширения АктивныйШлюз Ключ-АСТРОМ. Расширение запрашивает базы данных Postgres для определения ключевой производительности и работоспособности. Собираемые метрики включают данные из таблиц pg_stat, wal_pg_stat и других. Затем система ИИ от Ключ-АСТРОМ анализирует эти показатели, чтобы обеспечить анализ аномалий и проблем.

Начало

Создайте пользователя базы данных, используя следующий шаблон:

CREATE USER astromkey With PASSWORD ' <PASSWORD> ' INHERIT;

GRANT pg_monitor TO astromkey;

Чтобы собирать метрики WAL, у пользователя должна быть superuserроль.

ALTER USER astromkey WITH SUPERUSER;

Между АктивнымШлюзом, на котором развернуто расширение, и базой данных Postgres должно быть установлено соединение.

Активируйте расширение в своей среде с помощью встроенного концентратора продукта, предоставьте необходимую конфигурацию устройства, и все готово.

Перейдите на обзорную панель Postgres, чтобы просмотреть метрики и объекты.

Это расширение записывает информацию на уровне экземпляра и уровне базы данных.

Случаи использования

Расширение предназначено для пользователей, которые:

  • Хотели бы следить за состоянием работоспособности и производительностью своих баз данных Postgres.

Расширение позволяет вам:

  • Осуществлять мониторинг инфраструктуры с помощью комплексной информационной панели
  • Обнаруживать аномалии траффика и предупреждать о них
  • Принять упреждающие меры, чтобы избежать ухудшения качества обслуживания.

Информация о совместимости

Для этого расширения требуется АктивныйШлюз версии 1.259 минимум

Postgres 14 или выше для всех метрик

Postgres 10 или выше для всех метрик, за исключением таблицы pg_stat_wall.

В версии 9.6 отмените выбор набора функций сеансов, поскольку информация о сеансе не существует.

Расширение не будет работать на версиях старше 9.6.

Расширение не распространяется на данные, специфичные для облака, такие как сеть, активность виртуальных машин и т. д. Возможно, потребуется изменить привилегии, чтобы разрешить SELECT для следующих таблиц:

  • pg_stat_bgwriter
  • pg_stat_database
  • pg_stat_activity
  • pg_tablespace
  • pg_stat_wal (доступно только с версии 14, для более старых версий отмените выбор набора функций)

Содержание расширения

Тип содержимого Количество включенных предметов
Generic Relationship 3
Screen Layout 2
Alerts 1
Screen Actions 4
Metric Metadata 48
Screen Entities Lists 5
Dashboards 1
List Screen Layout 2
Generic Type 3
Screen Chart Groups 9

Наборы функций

Ниже приведен полный список наборов функций, представленных в этой версии. Чтобы обеспечить соответствие вашим потребностям, отдельные метрики могут быть активированы и деактивированы вашим администратором во время настройки.

Наборы функций Количество включенных показателей
Table space 1
Название метрики Ключ метрики Описание Единица
Table space postgres.tablespace Табличное пространство в байтах Байт
Recovery 1
Название метрики Ключ метрики Описание Единица
Instance recovery mode postgres.recovery.state Укажите, находится ли экземпляр в режиме восстановления. Count
Slowest connections 3
Название метрики Ключ метрики Описание Единица
Slowest idle transaction postgres.slowest.idle Самая медленная транзакция в состоянии ожидания Секунды
Slowest active transaction postgres.slowest.active Самая медленная транзакция в активном состоянии Секунды
Slowest waiting transaction postgres.slowest.waiting Самая медленная транзакция в состоянии ожидания Секунды
pg stat bgwriter 10
Название метрики Ключ метрики Описание Единица
Checkpoints scheduled performed per minute postgres.checkpoints_timed.count Количество выполненных запланированных контрольных точек Count
Checkpoints requested performed per minute postgres.checkpoints_req.count Количество запрошенных контрольных точек, которые были выполнены Count
Checkpoints write time postgres.checkpoint_write_time Общее количество времени, затраченное на этап обработки контрольной точки, когда файлы записываются на диск. Милисекунды
Checkpoint sync time postgres.checkpoint_sync_time Общее количество времени, затраченное на этап обработки контрольной точки, когда файлы синхронизируются с диском. Милисекунды
Buffers checkpoint postgres.buffers_checkpoint Количество буферов, записанных во время контрольных точек Count
Buffers write postgres.buffers_clean Количество буферов, записанных фоновым записывающим устройством Count
Buffers max clean postgres.maxwritten_clean Сколько раз фоновая программа записи останавливала очистку сканирования, поскольку она записала слишком много буферов Count
Buffers write by backend postgres.buffers_backend Количество буферов, записываемых непосредственно серверной частью Count
Buffers fsync postgres.buffers_backend_fsync Сколько раз серверной части приходилось выполнять собственный вызов fsync (обычно фоновый модуль записи обрабатывает их, даже если серверная часть выполняет собственную запись) Count
Buffers allocated postgres.buffers_alloc Количество выделенных буферов Count
Sessions 3
Название метрики Ключ метрики Описание Единица
Sessions per minute postgres.sessions.count Общее количество установленных сессий Count
Sessions abandoned per minute postgres.sessions_abandoned.count Количество сеансов базы данных с этой базой данных, которые были прекращены из-за потери соединения с клиентом. Count
Sessions fatal per minute postgres.sessions_fatal.count Количество сеансов с этой базой данных, прерванных из-за фатальных ошибок. Count
Pg stat database 14
Название метрики Ключ метрики Описание Единица
Deadlocks postgres.deadlocks Количество тупиков Count
Number of backends postgres.numbackends Количество серверов, подключенных в настоящее время к этой базе данных Count
Number of transactions per minute postgres.xact_commit.count Количество транзакций в этой базе данных, которые были зафиксированы Count
Number of rollbacks per minute postgres.xact_rollback.count Количество транзакций в этой базе данных, которые были отменены Count
Disk block read count per minute postgres.blks_read.count Количество дисковых блоков, прочитанных в этой базе данных Count
Cached disk block count per minute postgres.blk_hit.count Сколько раз дисковые блоки уже были обнаружены в буферном кеше, поэтому чтение не требовалось Count
Rows fetch count (sequential scan and index entry) per minute postgres.tup_returned.count Количество активных строк, полученных при последовательном сканировании, и записей индекса, возвращенных при сканировании индекса в этой базе данных. Count
Row fetch count (index scan) per minute postgres.tup_fetched.count Количество активных строк, полученных при сканировании индекса в этой базе данных Count
Row inserts count per minute postgres.tup_inserted.count Количество строк, вставленных запросами в эту базу данных Count
Row updates count per minute postgres.tup_updated.count Количество строк, обновленных запросами в этой базе данных Count
Row deletes count per minute postgres.tup_deleted.count Количество строк, удаленных запросами в этой базе данных Count
- postgres.conflicts.count - -
Temp files count postgres.temp_files Количество временных файлов, созданных запросами в этой базе данных Count
Temp files bytes postgres.temp_bytes Общий объем данных, записанных во временные файлы по запросам в этой базе данных Байт
Cache hit ratio 1
Название метрики Ключ метрики Описание Единица
Cache hit ratio postgres.cache-hit-ratio Коэффициент попадания в кэш Count
Wal stats 8
Название метрики Ключ метрики Описание Единица
Wal records per minute postgres.wal.records.count Количество записей WAL, генерируемых в минуту Count
WAL fpi per minute postgres.wal.fpi.count Количество полностраничных изображений WAL, генерируемых в минуту Count
WAL bytes postgres.wal.bytes Общий объем сгенерированного WAL в байтах Count
Wal buffers full postgres.wal.buffers.full Сколько раз данные WAL записывались на диск из-за переполнения буферов WAL Count
WAL write postgres.wal.write Сколько раз буферы WAL были записаны на диск с помощью запроса XLogWrite Count
WAL sync postgres.wal.sync Сколько раз файлы WAL были синхронизированы с диском с помощью запроса Issue_xlog_fsync Count
WAL write time postgres.wal.write.time Общее количество времени, потраченное на запись буферов WAL на диск посредством запроса XLogWrite, в миллисекундах. Милисекунды
WAL sync time postgres.wal_sync_time Общее количество времени, потраченное на синхронизацию файлов WAL с диском с помощью запроса Issue_xlog_fsync, в миллисекундах. Милисекунды

Скриншоты

Pdb1.png


Pdb2.png