ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) Нет описания правки |
||
Строка 372: | Строка 372: | ||
[[Файл:pdb2.png]] | [[Файл:pdb2.png]] | ||
Версия от 07:01, 24 января 2024
Контролируйте производительность 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, в миллисекундах. | Милисекунды |