ENetrebin (обсуждение | вклад) (Новая страница: «Контролируйте производительность Postgres с помощью нашей новой платформы расширений EF2.0. =...») |
Нет описания правки |
||
(не показано 7 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
'''''[[Расширения]] / Расширения 2.0 / PostgresDB (remote monitoring)''''' | |||
Контролируйте производительность Postgres с помощью нашей новой платформы расширений EF2.0. | Контролируйте производительность Postgres с помощью нашей новой платформы расширений EF2.0. | ||
== Обзор == | == Обзор == | ||
Наше решение для мониторинга базы данных Postgres основано на подходе удаленного мониторинга, реализованном в виде расширения АктивныйШлюз | Наше решение для мониторинга базы данных Postgres основано на подходе удаленного мониторинга, реализованном в виде расширения АктивныйШлюз АппОптима. Расширение запрашивает базы данных Postgres для определения ключевой производительности и работоспособности. Собираемые метрики включают данные из таблиц pg_stat, wal_pg_stat и других. Затем система ИИ от АппОптима анализирует эти показатели, чтобы обеспечить анализ аномалий и проблем. | ||
== Начало == | == Начало == | ||
Строка 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|1098x1098пкс]] | |||
[[Файл:pdb2.png|1087x1087пкс]] |
Текущая версия от 15:53, 26 декабря 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, в миллисекундах. | Милисекунды |