PostgresDB (remote monitoring): различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «Контролируйте производительность Postgres с помощью нашей новой платформы расширений EF2.0. =...»)
 
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''''[[Расширения]] / [[Расширения#.D0.A0.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.B8.D1.8F%202.0|Расширения 2.0]] / PostgresDB (remote monitoring)'''''
Контролируйте производительность Postgres с помощью нашей новой платформы расширений EF2.0.
Контролируйте производительность Postgres с помощью нашей новой платформы расширений EF2.0.


Строка 52: Строка 54:
* pg_tablespace
* pg_tablespace
* pg_stat_wal (доступно только с версии 14, для более старых версий отмените выбор набора функций)
* pg_stat_wal (доступно только с версии 14, для более старых версий отмените выбор набора функций)
== Содержание расширения ==
{| class="wikitable"
|+
!Тип содержимого
!Количество включенных предметов
|-
|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
|}
== Наборы функций ==
Ниже приведен полный список наборов функций, представленных в этой версии. Чтобы обеспечить соответствие вашим потребностям, отдельные метрики могут быть активированы и деактивированы вашим администратором во время настройки.
{| class="wikitable"
|+
! colspan="2" |Наборы функций
! colspan="2" |Количество включенных показателей
|-
| colspan="2" |'''''Table space'''''
| colspan="2" |'''''1'''''
|-
|''Название метрики''
|''Ключ метрики''
|''Описание''
|''Единица''
|-
|Table space
|postgres.tablespace
|Табличное пространство в байтах
|Байт
|-
| colspan="2" |'''''Recovery'''''
| colspan="2" |'''''1'''''
|-
|''Название метрики''
|''Ключ метрики''
|''Описание''
|''Единица''
|-
|Instance recovery mode
|postgres.recovery.state
|Укажите, находится ли экземпляр в режиме восстановления.
|Count
|-
| colspan="2" |'''''Slowest connections'''''
| colspan="2" |'''''3'''''
|-
|''Название метрики''
|''Ключ метрики''
|''Описание''
|''Единица''
|-
|Slowest idle transaction
|postgres.slowest.idle
|Самая медленная транзакция в состоянии ожидания
|Секунды
|-
|Slowest active transaction
|postgres.slowest.active
|Самая медленная транзакция в активном состоянии
|Секунды
|-
|Slowest waiting transaction
|postgres.slowest.waiting
|Самая медленная транзакция в состоянии ожидания
|Секунды
|-
| colspan="2" |'''''pg stat bgwriter'''''
| colspan="2" |'''''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
|-
| colspan="2" |'''''Sessions'''''
| colspan="2" |'''''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
|-
| colspan="2" |'''''Pg stat database'''''
| colspan="2" |'''''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
|Общий объем данных, записанных во временные файлы по запросам в этой базе данных
|Байт
|-
| colspan="2" |'''''Cache hit ratio'''''
| colspan="2" |'''''1'''''
|-
|''Название метрики''
|''Ключ метрики''
|''Описание''
|''Единица''
|-
|Cache hit ratio
|postgres.cache-hit-ratio
|Коэффициент попадания в кэш
|Count
|-
| colspan="2" |'''''Wal stats'''''
| colspan="2" |'''''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]]

Текущая версия на 19:19, 3 сентября 2024

Расширения / Расширения 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