PostgresDB (remote monitoring): различия между версиями
ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 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. | ||
Строка 204: | Строка 206: | ||
|Count | |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, в миллисекундах. | Милисекунды |