SQL-запросы получения метрик для панели мониторинга «Метрики»#

Kintsugi использует поды сервиса collector для выполнения SQL-запросов на получение метрик. Полученные данные записываются в VictoriaMetrics в формате временных рядов. Далее для визуального представления метрик UI обращается к сервису kmetrics с использованием PromQL-запросов, которые выполняются непосредственно к VictoriaMetrics и возвращают необходимые серии данных.

В соответствии с данным поведением устанавливается следующее соответствие между SQL-запросами, выполняемыми подами сервиса collector для сбора метрик, и PromQL-запросами, используемыми для получения значений из VictoriaMetrics.

Сопоставление запросов метрик и графиков панели мониторинга «Метрики»#

Название виджета

SQL-запрос

Название метрики

PromQL-запрос

Архивировано файлов

Статистика работы процесса архивации WAL

pg_stat_archiver_archived_count

PromQL-запрос «Число файлов WAL, которые были успешно архивированы»

Архивировано файлов

Статистика работы процесса архивации WAL

pg_stat_archiver_failed_count

PromQL-запрос «Число неудачных попыток архивации файлов WAL»

Время исполнения контрольных точек

Статистика работы фоновых процессов

pg_stat_bgwriter_checkpoint_sync_time

PromQL-запрос «Время синхронизации на диск контрольной точкой»

Время исполнения контрольных точек

Статистика работы фоновых процессов

pg_stat_bgwriter_checkpoint_write_time

PromQL-запрос «Время записи на диск контрольной точкой»

Доступность СУБД

Активность базы данных

pg_status_available

PromQL-запрос «Активность базы данных»

Запись на диск

Статистика работы фоновых процессов

pg_stat_bgwriter_buffers_backend

PromQL-запрос «Записано фоновыми процессами»

Запись на диск

Статистика работы фоновых процессов

pg_stat_bgwriter_buffers_checkpoint

PromQL-запрос «Записано во время контрольных точек»

Запись на диск

Статистика работы фоновых процессов

pg_stat_bgwriter_buffers_clean

PromQL-запрос «Записано фоновым процессам записи»

Запись на диск

Объем данных, записанных во временные файлы

pg_stat_database_temp_bytes

PromQL-запрос «Объем данных, записанных во временные файлы»

Запуск операции vacuum по таблице

Запуск операции vacuum по таблице (по каждой таблице в выбранных базах данных)

pg_vacuum_for_each_table_autovacuum_count

PromQL-запрос «Количество автоочистки»

Запуск операции vacuum по таблице

Запуск операции vacuum по таблице (по каждой таблице в выбранных базах данных)

pg_vacuum_for_each_table_vacuum_count

PromQL-запрос «Количество vacuum»

Количество транзакций, оставшихся до принудительной остановки СУБД (txid wraparound)

Настройки автоочистки

pg_settings_autovacuum_freeze_max_age

PromQL-запрос «Xid transaction age»

Количество транзакций, оставшихся до принудительной остановки СУБД (txid wraparound)

Автоочистка до лимита

pg_autovacuum_limit

PromQL-запрос «Автоочистка до лимита»

Лаг репликации

Общий лаг в байтах для процесса репликации

pg_stat_replication_total_lag_bytes

PromQL-запрос «Общий лаг в байтах для процесса репликации»

Ошибки и нежелательные события

Статистика баз данных

pg_stat_database_checksum_conflicts

PromQL-запрос «Количество запросов, отмененных из-за конфликта»

Ошибки и нежелательные события

Статистика баз данных

pg_stat_database_checksum_failures

PromQL-запрос «Количество ошибок контрольных сумм в базе данных»

Ошибки и нежелательные события

Статистика баз данных

pg_stat_database_deadlocks

PromQL-запрос «Количество взаимных блокировок»

Работающие процессы vacuum и autovacuum

Настройки автоочистки

pg_settings_autovacuum_max_workers

PromQL-запрос «Максимальное количество процессов автоочистки»

Работающие процессы vacuum и autovacuum

Количество процессов регулярного автоочистки

pg_vacuum_regular_runs

PromQL-запрос «Количество регулярной автоочистки»

Работающие процессы vacuum и autovacuum

Количество процессов пользовательского vacuum

pg_vacuum_user_runs

PromQL-запрос «Количество пользовательских vacuum»

Работающие процессы vacuum и autovacuum

Количество процессов wraparound autovacuum

pg_vacuum_wraparounds

PromQL-запрос «Количество процессов wraparound autovacuum»

Размер табличных пространств

Размер табличных пространств

pg_tablespace_size

PromQL-запрос «Размер табличных пространств»

Сессии

Общее количество серверных процессов по состояниям

pg_activity_count

PromQL-запрос «Общее количество серверных процессов по состояниям»

Статистика контрольных точек

Статистика работы фоновых процессов

pg_stat_bgwriter_checkpoints_req

PromQL-запрос «Количество запрошенных контрольных точек»

Статистика контрольных точек

Статистика работы фоновых процессов

pg_stat_bgwriter_checkpoints_timed

PromQL-запрос «Количество запланированных контрольных точек»

Страницы (блоки) измененные запросами

Страницы (блоки) измененные запросами (Топ 5)

pg_dirtypages_dirty

PromQL-запрос «Страницы (блоки), измененные запросами»

Строк в секунду

Статистика баз данных

pg_stat_database_tup_deleted

PromQL-запрос «Количество строк, удаленное запросами»

Строк в секунду

Статистика баз данных

pg_stat_database_tup_fetched

PromQL-запрос «Количество строк, извлеченное запросами»

Строк в секунду

Статистика баз данных

pg_stat_database_tup_inserted

PromQL-запрос «Количество строк, вставленное запросами»

Строк в секунду

Статистика баз данных

pg_stat_database_tup_returned

PromQL-запрос «Количество строк, возвращенное запросами»

Строк в секунду

Статистика баз данных

pg_stat_database_tup_updated

PromQL-запрос «Количество строк, обновленное запросами»

Топ запросов по количеству возвращенных строк

Топ пользователей по количеству возвращенных строк из БД

pg_stat_statements_rows

PromQL-запрос «Топ пользователей по количеству возвращенных строк из БД»

Топ запросов по общему времени выполнения

Топ пользователей по общему времени выполнения в БД

pg_stat_statements_total_time_sec

PromQL-запрос «Топ пользователей по общему времени выполнения в БД»

Транзакций в секунду

Статистика баз данных

pg_stat_database_xact_commit

PromQL-запрос «Количество зафиксированных транзакций»

Транзакций в секунду

Статистика баз данных

pg_stat_database_xact_rollback

PromQL-запрос «Количество откатанных транзакций»

blks_hit vs. blks_read

Статистика баз данных

pg_stat_database_hit_ratio

PromQL-запрос «Коэффициент попаданий в кеш»

heap_blks_hit vs. heap_blks_read

Статистика по операциям ввода/вывода для пользовательских таблиц

pg_statio_user_tables_heap_hit_ratio

PromQL-запрос «Объем блоков, найденных в буферном кеше против прочитанных дисковых блоков для объекта»

idx_blks_hit vs. idx_blks_read

Статистика по операциям ввода/вывода для пользовательских таблиц

pg_statio_user_tables_idx_hit_ratio

PromQL-запрос «Объем блоков, найденных в буферном кеше против прочитанных дисковых блоков для всех индексов таблицы»

WAL запись в секунду

WAL запись в секунду

pg_wal_bytes

PromQL-запрос «WAL запись в секунду»

Использование памяти

–

host_memory_bytes
host_memory_used_bytes
host_memory_free_bytes

PromQL-запрос «Использование памяти»

Использование памяти программами

–

host_memory_used_percentage

PromQL-запрос «Использование памяти программами»

Использование CPU в системе

–

host_cpu_usage_percentage

PromQL-запрос «Использование CPU в системе»

Использование файловой системы

–

host_filesystem_bytes
host_filesystem_free_bytes
host_filesystem_used_bytes

PromQL-запрос «Использование файловой системы»

Использование файловой системы (в процентах)

–

host_filesystem_usage_percentage

PromQL-запрос «Использование файловой системы (в процентах)»

Количество операций ввода-вывода на диске в секунду

–

host_filesystem_read_operations_sec
host_filesystem_write_operations_sec

PromQL-запрос «Количество операций ввода-вывода на диске в секунду»

Мощность потока ввода-вывода

–

host_filesystem_read_sec_bytes
host_filesystem_write_sec_bytes

PromQL-запрос «Мощность потока ввода-вывода»

Время в ожидании завершения операций ввода-вывода

–

host_filesystem_read_await_seconds
host_filesystem_write_await_seconds

PromQL-запрос «Время в ожидании завершения операций ввода-вывода»

Средний размер очереди ввода-вывода

–

host_filesystem_avgqu_sz_bytes

PromQL-запрос «Средний размер очереди ввода-вывода»

Статистика использования сети

–

host_network_received_bytes
host_network_sent_bytes
host_network_average_received_package
host_network_average_sent_package

PromQL-запрос «Статистика использования сети»

Скорость передачи данных по сети

–

host_network_received_sec_bytes
host_network_sent_sec_bytes

PromQL-запрос «Скорость передачи данных по сети»

Статистика по сетевым пакетам

–

host_network_received_package
host_network_sent_package

PromQL-запрос «Статистика по сетевым пакетам»

Место хранения#

При работе с VictoriaMetrics collector использует маршрут /import сервиса Prometheus.

SQL-запросы получения значений метрик#

Настройки автоочистки#

SELECT
    (SELECT setting::BIGINT FROM pg_settings WHERE name = 'autovacuum_freeze_max_age') autovacuum_freeze_max_age,
    (SELECT setting::int FROM pg_settings WHERE name = 'autovacuum_max_workers') autovacuum_max_workers

Автоочистка до лимита#

SELECT
    datname,
    CASE WHEN (SELECT typlen FROM pg_type WHERE oid=28) = 4 THEN 2147483647 - age(datfrozenxid) ELSE (9223372*10^18)-1 - age(datfrozenxid) END AS limit
FROM pg_database
ORDER BY 2 ASC
LIMIT 25

Запуск операции vacuum по таблице (по каждой таблице в выбранных базах данных)#

SELECT
    schemaname,
    relname,
    vacuum_count,
    autovacuum_count
FROM pg_stat_user_tables
ORDER BY vacuum_count DESC, autovacuum_count DESC
LIMIT 25

Количество процессов регулярного автоочистки#

SQL-запрос для PostgreSQL версии 11–12:

WITH queries AS (
    SELECT
        datname,
        query
    FROM pg_stat_activity act
    WHERE act.query ~* '^autovacuum*(?:(?!.*\bwraparound\b))'
)
SELECT
    dat.datname,
    COUNT(query) AS regular
FROM pg_database dat
LEFT JOIN queries q ON dat.datname = q.datname
WHERE NOT dat.datistemplate
GROUP BY dat.datname
ORDER BY regular DESC
LIMIT 25

SQL-запрос для PostgreSQL версии 12 и выше:

WITH queries AS MATERIALIZED (
    SELECT
        datname,
        query
    FROM pg_stat_activity act
    WHERE act.query ~* '^autovacuum*(?:(?!.*\bwraparound\b))'
)
SELECT
    dat.datname,
    COUNT(query) AS regular
FROM pg_database dat
LEFT JOIN queries q ON dat.datname = q.datname
WHERE NOT dat.datistemplate
GROUP BY dat.datname
ORDER BY regular DESC
LIMIT 25

Количество процессов пользовательского vacuum#

SQL-запрос для PostgreSQL версии 11–12:

WITH queries AS (
    SELECT
        datname,
        query
    FROM pg_stat_activity act
    WHERE act.query ~* '^vacuum'
)
SELECT
    dat.datname,
    COUNT(query) AS user
FROM pg_database dat
LEFT JOIN queries q ON dat.datname = q.datname
WHERE NOT dat.datistemplate
GROUP BY dat.datname
ORDER BY user DESC
LIMIT 25

SQL-запрос для PostgreSQL версии 12 и выше:

WITH queries AS MATERIALIZED (
    SELECT
        datname,
        query
    FROM pg_stat_activity act
    WHERE act.query ~* '^vacuum'
)
SELECT
    dat.datname,
    COUNT(query) AS user
FROM pg_database dat
LEFT JOIN queries q ON dat.datname = q.datname
WHERE NOT dat.datistemplate
GROUP BY dat.datname
ORDER BY user DESC
LIMIT 25

Количество процессов wraparound autovacuum#

SQL-запрос для PostgreSQL версии 11–12:

WITH queries AS (
    SELECT
        datname,
        query
    FROM pg_stat_activity act
    WHERE act.query ~* '^autovacuum.*to prevent wraparound'
)
SELECT
    dat.datname,
    COUNT(query) AS wraparounds
FROM pg_database dat
LEFT JOIN queries q ON dat.datname = q.datname
WHERE NOT dat.datistemplate
GROUP BY dat.datname
ORDER BY wraparounds DESC
LIMIT 25

SQL-запрос для PostgreSQL версии 12 и выше:

WITH queries AS MATERIALIZED (
    SELECT
        datname,
        query
    FROM pg_stat_activity act
    WHERE act.query ~* '^autovacuum.*to prevent wraparound'
)
SELECT
    dat.datname,
    COUNT(query) AS wraparounds
FROM pg_database dat
LEFT JOIN queries q ON dat.datname = q.datname
WHERE NOT dat.datistemplate
GROUP BY dat.datname
ORDER BY wraparounds DESC
LIMIT 25

Статистика работы фоновых процессов#

SQL-запрос для PostgreSQL версии 11–17:

SELECT
    current_setting('block_size') AS block_size,
    checkpoints_timed,
    checkpoints_req,
    checkpoint_write_time,
    checkpoint_sync_time,
    buffers_checkpoint*current_setting('block_size')::float AS buffers_checkpoint,
    buffers_clean*current_setting('block_size')::float AS buffers_clean,
    buffers_backend*current_setting('block_size')::float AS buffers_backend
FROM pg_stat_bgwriter

SQL-запрос для PostgreSQL версии 17–18:

SELECT
    current_setting('block_size') AS block_size,
    cp.num_timed AS checkpoints_timed,
    cp.num_requested AS checkpoints_req,
    cp.write_time AS checkpoint_write_time,
    cp.sync_time AS checkpoint_sync_time,
    cp.buffers_written * current_setting('block_size')::float AS buffers_checkpoint,
    bg.buffers_clean * current_setting('block_size')::float AS buffers_clean,
    (SELECT sum(writes * op_bytes)::float AS buffers_backend FROM pg_stat_io WHERE backend_type = 'client backend' AND context IN ('normal', 'vacuum')) AS buffers_backend
FROM pg_stat_checkpointer cp
CROSS JOIN pg_stat_bgwriter bg

SQL-запрос для PostgreSQL версии 18 и выше:

SELECT
    current_setting('block_size') AS block_size,
    cp.num_timed AS checkpoints_timed,
    cp.num_requested AS checkpoints_req,
    cp.write_time AS checkpoint_write_time,
    cp.sync_time AS checkpoint_sync_time,
    cp.buffers_written * current_setting('block_size')::float AS buffers_checkpoint,
    bg.buffers_clean * current_setting('block_size')::float AS buffers_clean,
    (SELECT sum(write_bytes)::float AS buffers_backend FROM pg_stat_io WHERE backend_type = 'client backend' AND context IN ('normal', 'vacuum')) AS buffers_backend
FROM pg_stat_checkpointer cp
CROSS JOIN pg_stat_bgwriter bg

Статистика баз данных#

SQL-запрос для PostgreSQL версии 11–12:

SELECT
    datname,
    deadlocks,
    COALESCE(ROUND(100*blks_hit/NULLIF((blks_hit + blks_read),0),2),0) AS hit_ratio,
    conflicts,
    xact_commit,
    xact_rollback,
    tup_returned,
    tup_fetched,
    tup_inserted,
    tup_updated,
    tup_deleted
FROM pg_stat_database
WHERE datname NOT IN ('template0', 'template1')
ORDER BY deadlocks DESC, hit_ratio DESC, xact_commit+xact_rollback DESC, tup_returned+tup_fetched+tup_inserted+tup_updated+tup_deleted DESC
LIMIT 25

SQL-запрос для PostgreSQL версии 12 и выше:

SELECT
    datname,
    deadlocks,
    COALESCE(ROUND(100*blks_hit/NULLIF((blks_hit + blks_read),0),2),0) AS hit_ratio,
    COALESCE(checksum_failures, 0) AS checksum_failures,
    conflicts,
    xact_commit,
    xact_rollback,
    tup_returned,
    tup_fetched,
    tup_inserted,
    tup_updated,
    tup_deleted
FROM pg_stat_database
WHERE datname NOT IN ('template0', 'template1')
ORDER BY deadlocks DESC, hit_ratio DESC, checksum_failures DESC, conflicts DESC, xact_commit+xact_rollback DESC, tup_returned+tup_fetched+tup_inserted+tup_updated+tup_deleted DESC
LIMIT 25

Страницы (блоки), измененные запросами (Топ 5)#

SELECT
    t2.rolname,
    t3.datname,
    (sum(t1.shared_blks_dirtied + t1.local_blks_dirtied)) * current_setting('block_size')::bigint AS dirty
FROM pg_stat_statements t1
JOIN pg_roles t2 ON t1.userid = t2.oid
JOIN pg_database t3 ON t1.dbid = t3.oid
WHERE datname NOT IN ('template0', 'template1')
GROUP BY rolname, datname
ORDER BY dirty DESC
LIMIT 25

Статистика работы процесса архивации WAL#

SELECT
    archived_count,
    failed_count
FROM pg_stat_archiver

Статистика по операциям ввода/вывода для пользовательских таблиц#

SELECT
    relname,
    COALESCE(ROUND(100*heap_blks_hit/NULLIF((heap_blks_hit + heap_blks_read),0),2),0) AS heap_hit_ratio,
    COALESCE(ROUND(100*idx_blks_hit/NULLIF((idx_blks_hit + idx_blks_read),0),2),0) AS idx_hit_ratio
FROM pg_statio_user_tables
ORDER BY heap_hit_ratio DESC, idx_hit_ratio DESC
LIMIT 25

Топ пользователей по общему времени выполнения в БД#

SQL-запрос для PostgreSQL версии 11–13:

SELECT
    t2.rolname,
    t3.datname,
    SUM(total_time/1000)::bigint AS total_time_sec
FROM pg_stat_statements t1
JOIN pg_roles t2 ON t1.userid=t2.oid
JOIN pg_database t3 ON t1.dbid = t3.oid
WHERE datname NOT IN ('template0', 'template1')
GROUP BY rolname, datname
ORDER BY total_time_sec DESC
LIMIT 25

SQL-запрос для PostgreSQL версии 13 и выше:

SELECT
    t2.rolname,
    t3.datname,
    sum((total_plan_time + total_exec_time) / 1000)::bigint as total_time_sec
FROM pg_stat_statements t1
JOIN pg_roles t2 ON t1.userid = t2.oid
JOIN pg_database t3 ON t1.dbid = t3.oid
WHERE datname NOT IN ('template0', 'template1')
GROUP BY rolname, datname
ORDER BY total_time_sec DESC
LIMIT 25

Топ пользователей по количеству возвращенных строк из БД#

SELECT
    t2.rolname,
    t3.datname,
    SUM(t1.rows) as rows
FROM pg_stat_statements t1
JOIN pg_roles t2 ON t1.userid = t2.oid
JOIN pg_database t3 ON t1.dbid = t3.oid
WHERE datname NOT IN ('template0', 'template1')
GROUP BY rolname, datname
ORDER BY rows DESC
LIMIT 25

Активность базы данных#

SELECT 1 AS available

Размер табличных пространств#

SELECT
    spcname,
    pg_tablespace_size(spcname) AS size
FROM pg_tablespace
ORDER BY size DESC
LIMIT 25

Общее количество серверных процессов по состояниям#

SELECT
    CASE WHEN (state IS NULL) THEN 'backend' ELSE state END,
    count(*)
FROM pg_stat_activity
GROUP BY state

Общий лаг в байтах для процесса репликации#

SELECT
    client_addr,
    pg_current_wal_lsn() - replay_lsn AS total_lag_bytes
FROM pg_stat_replication
ORDER BY client_addr DESC
LIMIT 25

WAL запись в секунду#

SQL-запрос для PostgreSQL версии 11–14:

SELECT pg_current_wal_lsn() - '0/0' wal_bytes

SQL-запрос для PostgreSQL версии 14 и выше:

SELECT wal_bytes
FROM pg_stat_wal

Объем данных, записанных во временные файлы#

SELECT SUM(temp_bytes) as temp_bytes
FROM pg_stat_database
WHERE datname NOT IN ('template0', 'template1')

PromQL-запросы получения метрик#

PromQL-запросы используются сервисом kmetrics для извлечения значений метрик из хранилища временных рядов VictoriaMetrics.

PromQL-запрос «Xid transaction age»#

pg_settings_autovacuum_freeze_max_age{$LABELS}

PromQL-запрос «Максимальное количество процессов автоочистки»#

pg_settings_autovacuum_max_workers{$LABELS}

PromQL-запрос «Автоочистка до лимита»#

pg_autovacuum_limit{$LABELS}

PromQL-запрос «Количество vacuum»#

ceil(rate(pg_vacuum_for_each_table_vacuum_count{$LABELS}[1m]))

PromQL-запрос «Количество автоочистки»#

ceil(rate(pg_vacuum_for_each_table_autovacuum_count{$LABELS}[1m]))

PromQL-запрос «Количество регулярной автоочистки»#

pg_vacuum_regular_runs{$LABELS}

PromQL-запрос «Количество пользовательских vacuum»#

pg_vacuum_user_runs{$LABELS}

PromQL-запрос «Количество процессов wraparound autovacuum»#

pg_vacuum_wraparounds{$LABELS}

PromQL-запрос «Записано фоновыми процессами»#

rate(pg_stat_bgwriter_buffers_backend{$LABELS}[1m])

PromQL-запрос «Записано фоновым процессам записи»#

rate(pg_stat_bgwriter_buffers_clean{$LABELS}[1m])

PromQL-запрос «Записано во время контрольных точек»#

rate(pg_stat_bgwriter_buffers_checkpoint{$LABELS}[1m])

PromQL-запрос «Количество запрошенных контрольных точек»#

ceil(rate(pg_stat_bgwriter_checkpoints_req{$LABELS}[1m]))

PromQL-запрос «Количество запланированных контрольных точек»#

ceil(rate(pg_stat_bgwriter_checkpoints_timed{$LABELS}[1m]))

PromQL-запрос «Время записи на диск контрольной точкой»#

rate(pg_stat_bgwriter_checkpoint_write_time{$LABELS}[1m])

PromQL-запрос «Время синхронизации на диск контрольной точкой»#

rate(pg_stat_bgwriter_checkpoint_sync_time{$LABELS}[1m])

PromQL-запрос «Коэффициент попаданий в кеш»#

pg_stat_database_hit_ratio{$LABELS}

PromQL-запрос «Количество взаимных блокировок»#

irate(pg_stat_database_deadlocks{$LABELS}[1m])

PromQL-запрос «Количество ошибок контрольных сумм в базе данных»#

irate(pg_stat_database_checksum_failures{$LABELS}[1m])

PromQL-запрос «Количество запросов, отмененных из-за конфликта»#

irate(pg_stat_database_checksum_conflicts{$LABELS}[1m])

PromQL-запрос «Количество зафиксированных транзакций»#

irate(pg_stat_database_xact_commit{$LABELS}[1m])

PromQL-запрос «Количество откатанных транзакций»#

irate(pg_stat_database_xact_rollback{$LABELS}[1m])

PromQL-запрос «Количество строк, возвращенное запросами»#

irate(pg_stat_database_tup_returned{$LABELS}[1m])

PromQL-запрос «Количество строк, извлеченное запросами»#

irate(pg_stat_database_tup_fetched{$LABELS}[1m])

PromQL-запрос «Количество строк, вставленное запросами»#

irate(pg_stat_database_tup_inserted{$LABELS}[1m])

PromQL-запрос «Количество строк, обновленное запросами»#

irate(pg_stat_database_tup_updated{$LABELS}[1m])

PromQL-запрос «Количество строк, удаленное запросами»#

irate(pg_stat_database_tup_deleted{$LABELS}[1m])

PromQL-запрос «Страницы (блоки), измененные запросами»#

rate(pg_dirtypages_dirty{$LABELS}[1m])

PromQL-запрос «Число файлов WAL, которые были успешно архивированы»#

ceil(rate(pg_stat_archiver_archived_count{$LABELS}[1m]))

PromQL-запрос «Число неудачных попыток архивации файлов WAL»#

ceil(rate(pg_stat_archiver_failed_count{$LABELS}[1m]))

PromQL-запрос «Объем блоков, найденных в буферном кеше против прочитанных дисковых блоков для объекта»#

pg_statio_user_tables_heap_hit_ratio{$LABELS}

PromQL-запрос «Объем блоков, найденных в буферном кеше против прочитанных дисковых блоков для всех индексов таблицы»#

pg_statio_user_tables_idx_hit_ratio{$LABELS}

PromQL-запрос «Топ пользователей по общему времени выполнения в БД»#

pg_stat_statements_total_time_sec{$LABELS}

PromQL-запрос «Топ пользователей по количеству возвращенных строк из БД»#

pg_stat_statements_rows{$LABELS}

PromQL-запрос «Активность базы данных»#

pg_status_available{$LABELS}

PromQL-запрос «Размер табличных пространств»#

pg_tablespace_size{$LABELS}

PromQL-запрос «Общее количество серверных процессов по состояниям»#

pg_activity_count{$LABELS}

PromQL-запрос «Общий лаг в байтах для процесса репликации»#

pg_stat_replication_total_lag_bytes{$LABELS}

PromQL-запрос «WAL запись в секунду»#

irate(pg_wal_bytes{$LABELS}[1m])

PromQL-запрос «Объем данных, записанных во временные файлы»#

rate(pg_stat_database_temp_bytes{$LABELS}[1m])

PromQL-запрос «Использование CPU в системе»#

host_cpu_usage_percentage{$LABELS}

PromQL-запрос «Использование памяти»#

В виджете Использование памяти строится три графика:

  • Всего.

    host_memory_bytes{$LABELS}
    
  • Использовано.

    host_memory_used_bytes{$LABELS}
    
  • Всего свободно.

    host_memory_free_bytes{$LABELS}
    

PromQL-запрос «Использование памяти программами»#

host_memory_used_percentage{$LABELS}

PromQL-запрос «Использование файловой системы»#

В виджете Использование файловой системы строится три графика:

  • Всего.

    host_filesystem_bytes{$LABELS}
    
  • Использовано.

    host_filesystem_used_bytes{$LABELS}
    
  • Всего свободно.

    host_filesystem_free_bytes{$LABELS}
    

PromQL-запрос «Использование файловой системы (в процентах)»#

host_filesystem_usage_percentage{$LABELS}

PromQL-запрос «Количество операций ввода-вывода на диске в секунду»#

В виджете Количество операций ввода-вывода на диске в секунду строится два графика:

  • Количество операций чтения в секунду.

    host_filesystem_read_operations_sec{$LABELS}
    
  • Количество операций записи в секунду.

    host_filesystem_write_operations_sec{$LABELS}
    

PromQL-запрос «Мощность потока ввода-вывода»#

В виджете Мощность потока ввода-вывода строится два графика:

  • Поток чтения.

    host_filesystem_read_sec_bytes{$LABELS}
    
  • Поток записи.

    host_filesystem_write_sec_bytes{$LABELS}
    

PromQL-запрос «Время в ожидании завершения операций ввода-вывода»#

В виджете Время в ожидании завершения операций ввода-вывода строится два графика:

  • Ожидание чтения.

    host_filesystem_read_await_seconds{$LABELS}
    
  • Ожидание записи.

    host_filesystem_write_await_seconds{$LABELS}
    

PromQL-запрос «Средний размер очереди ввода-вывода»#

host_filesystem_avgqu_sz_bytes{$LABELS}

PromQL-запрос «Статистика использования сети»#

В виджете Статистика использования сети строится четыре графика:

  • Принято байт.

    host_network_received_bytes{$LABELS}
    
  • Отправлено байт.

    host_network_sent_bytes{$LABELS}
    
  • Средний размер принятого пакета.

    host_network_average_received_package{$LABELS}
    
  • Средний размер отправленного пакета.

    host_network_average_sent_package{$LABELS}
    

PromQL-запрос «Скорость передачи данных по сети»#

В виджете Скорость передачи данных по сети строится два графика:

  • Скорость приема данных.

    host_network_received_sec_bytes{$LABELS}
    
  • Скорость отправки данных.

    host_network_sent_sec_bytes{$LABELS}
    

PromQL-запрос «Статистика по сетевым пакетам»#

В виджете Статистика по сетевым пакетам строится два графика:

  • Принято пакетов.

    host_network_received_package{$LABELS}
    
  • Отправлено пакетов.

    host_network_sent_package{$LABELS}