PostgreSQL Performance Metrics
Общие сведения
Название плагина: postgresqlPlugin
Ссылка для загрузки плагина: postgresqlPlugin
Описание:
Данный плагин позволяет собрать метрики с СУБД PostgreSQL
Формат сценария задания потока данных
name: postgresql performance metrics
jobs:
- name: postgresql performance metrics
steps:
- plugin: postgresqlPerformanceMetrics
with:
streamId: $.vars.stream.id
streamKey: $.vars.stream.key
# Адрес для подключения к серверу postgresql
host: <string>
# Порт для подключения к серверу postgresql. По умолчанию 5432
port: <integer>
# Опционально. По умолчанию Prefer. Допустимые значения Disable, Allow, Prefer, Require, VerifyCA, VerifyFull
# Подробнее см. в документации https://www.postgresql.org/docs/current/libpq-ssl.html
sslMode: <string>
# Опционально. Имя базы данных для подключения. По умолчанию postgres
dbname: <string>
# Опционально. Можно указать собираемые метрики. По умолчанию содержит все метрики.
metrics:
- pg_mon_stat_database_blks_read
- pg_mon_stat_database_blks_hit
- pg_mon_stat_activity_max_tx_duration
# Опционально. Список ключ-значение для их статичной записи в формируемую метрику. По умолча нию пустой список.
labels:
label1: Label1_Value
label2: Label2_Value
label3: Label3_Value
# Допустимые значения для LogLevel: trace, debug, information, warning, error, critical, none
# Опционально. Уровень логирования выполнения заданий, отправляющихся в коллектор событий. По умолчанию error.
consoleSyncLogLevel: trace
# Опционально. Уровень логирования выполнения заданий, выводящихся в лог работы агента. По умолчанию error.
syncLogLevel: none
# Опционально. Таймаут запроса на получение метрик. По умолчанию 10 секунд
scrapeTimeout: <string>
# Опционально. Таймаут для запросов на отправку метрик в коллектор Monq. По умолчанию 30 секунд
writeTimeout: <string>
# Опционально. Задержка начальной повторной попытки отправки метрик. Удваивается при каждой повторной попытке. По умолчанию 30 миллисекунд
writeMinBackoff: <string>
# Опционально. Максимальная задержка повтора. По умолчанию 5 секунд
writeMaxBackoff: <string>
# Опционально. Количество метри к, отправляемых в коллектор единоразово. По умолчанию 2000
maxSamplesPerSend: <integer>
with-secured:
username: $.vars.stream.params.username
password: $.vars.stream.params.password
Параметры конфигурации используемые в сценарии
Параметр | Тип | Обязательный параметр | Значение по умолчанию | Возможные значения | Описание |
---|---|---|---|---|---|
streamId | string | да | - | Любая строка | Идентификатор текущего потока ($.vars.stream.id ) |
streamKey | string | да | - | Любая строка | API ключ текущего потока ($.vars.stream.key ) |
username | string | да | - | Любая строка | Логин для подключения к серверу postgresql |
password | string | да | - | Любая строка | Пароль для подключения к серверу postgresql |
host | string | да | - | Любая строка | Адрес для подключения к серверу postgresql |
port | string | опционально | 5432 | От 1 до 65535 | Порт - для подключения к серверу postgresql |
sslMode | string | опционально | prefer | disable, allow, prefer, require | disable - ssl не используется для подключения к серверу postgresqlallow, prefer, require - режимы ssl для подключения |
dbname | string | опционально | postgres | Любая строка | Указывается имя базы данных для подключения |
metrics | list[] | опционально | - | Любая строка | Можно указать собираемые метрики. По умолчанию содержит все метрики. |
syncLogLevel | string | опционально | error | none, critical, error, warning, information, debug, trace | Параметр, определяющий уровень логирования выполнения заданий, отправляющихся в коллектор событий. |
consoleSyncLogLevel | string | опционально | error | none, critical, error, warning, information, debug, trace | Параметр, определяющий уровень логирования выполнения заданий, выводящихся в лог работы агента. |
scrapeTimeout | string | опционально | 10s | Число+ms/s | Таймаут запроса на получение метрик |
writeTimeout | string | опционально | 30s | Число+ms/s | Таймаут для запроса отправки метрик в коллектор Monq |
writeMinBackoff | string | опционально | 30ms | Число+ms/s | Задержка начальной повторной попытки отправки метрик. Удваивается при каждой повторной попытке |
writeMaxBackoff | string | опционально | 5s | Число+ms/s | Максимальная задержка повтора |
maxSamplesPerSend | integer | опционально | 2000 | От 1 до 65535 | Количество метрик, отправляемых в коллектор единоразово |
labels | list[] | опционально | - | Любая строка | Перечисление меток, добавляемых к полученной метрике. По умолчанию пустой список |
Собираемые метрики
Метрика | Тип | Описание (на русском) |
---|---|---|
pg_mon_up | gauge | Удалось ли последнему сбору метрик из PostgreSQL подключиться к серверу |
pg_mon_locks_count | gauge | Количество блокировок |
pg_mon_stat_activity_count | gauge | Общее количество активных подключений к PostgreSQL |
pg_mon_postmaster_start_time_seconds | gauge | Время запуска postmaster |
pg_mon_stat_database_deadlocks | gauge | Количество обнаруженных взаимных блокировок в этой базе данных |
pg_mon_stat_database_blks_hit | counter | Количество раз, когда блоки диска уже находились в буферном кэше, поэтому чтение не требовалось (это включает только попадания в буферный кэш PostgreSQL, а не файловой системы ОС) |
pg_mon_stat_database_blks_read | counter | Количество прочитанных блоков диска в этой базе данных |
pg_mon_stat_activity_max_tx_duration | gauge | Максимальная продолжительность в секундах, в течение которой выполняется любая активная транзакция |
pg_mon_replication_lag | gauge | Задержка репликации от мастера в секундах |
pg_mon_database_size_bytes | gauge | Используемое дисковое пространство базой данных в байтах |
Пример сценария задания на получение метрик
name: postgresql performance metrics
jobs:
- name: postgresql performance metrics
steps:
- plugin: postgresqlPerformanceMetrics
with:
streamId: $.vars.stream.id
streamKey: $.vars.stream.key
host: 10.25.0.10
sslMode: prefer
labels:
label1: Label1_Value
consoleSyncLogLevel: debug
syncLogLevel: none
maxSamplesPerSend: 500
with-secured:
username: $.vars.stream.params.username
password: $.vars.stream.params.password