Перейти к основному содержимому
Версия: 8.5

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

Параметры конфигурации используемые в сценарии

ПараметрТипОбязательный параметрЗначение по умолчаниюВозможные значенияОписание
streamIdstringда-Любая строкаИдентификатор текущего потока ($.vars.stream.id)
streamKeystringда-Любая строкаAPI ключ текущего потока ($.vars.stream.key)
usernamestringда-Любая строкаЛогин для подключения к серверу postgresql
passwordstringда-Любая строкаПароль для подключения к серверу postgresql
hoststringда-Любая строкаАдрес для подключения к серверу postgresql
portstringопционально5432От 1 до 65535Порт - для подключения к серверу postgresql
sslModestringопциональноpreferdisable, allow, prefer, requiredisable - ssl не используется для подключения к серверу postgresql
allow, prefer, require - режимы ssl для подключения
dbnamestringопциональноpostgresЛюбая строкаУказывается имя базы данных для подключения
metricslist[]опционально-Любая строкаМожно указать собираемые метрики. По умолчанию содержит все метрики.
syncLogLevelstringопциональноerrornone, critical, error, warning, information, debug, traceПараметр, определяющий уровень логирования выполнения заданий, отправляющихся в коллектор событий.
consoleSyncLogLevelstringопциональноerrornone, critical, error, warning, information, debug, traceПараметр, определяющий уровень логирования выполнения заданий, выводящихся в лог работы агента.
scrapeTimeoutstringопционально10sЧисло+ms/sТаймаут запроса на получение метрик
writeTimeoutstringопционально30sЧисло+ms/sТаймаут для запроса отправки метрик в коллектор Monq
writeMinBackoffstringопционально30msЧисло+ms/sЗадержка начальной повторной попытки отправки метрик. Удваивается при каждой повторной попытке
writeMaxBackoffstringопционально5sЧисло+ms/sМаксимальная задержка повтора
maxSamplesPerSendintegerопционально2000От 1 до 65535Количество метрик, отправляемых в коллектор единоразово
labelslist[]опционально-Любая строкаПеречисление меток, добавляемых к полученной метрике. По умолчанию пустой список

Собираемые метрики

МетрикаТипОписание (на русском)
pg_mon_upgaugeУдалось ли последнему сбору метрик из PostgreSQL подключиться к серверу
pg_mon_locks_countgaugeКоличество блокировок
pg_mon_stat_activity_countgaugeОбщее количество активных подключений к PostgreSQL
pg_mon_postmaster_start_time_secondsgaugeВремя запуска postmaster
pg_mon_stat_database_deadlocksgaugeКоличество обнаруженных взаимных блокировок в этой базе данных
pg_mon_stat_database_blks_hitcounterКоличество раз, когда блоки диска уже находились в буферном кэше, поэтому чтение не требовалось (это включает только попадания в буферный кэш PostgreSQL, а не файловой системы ОС)
pg_mon_stat_database_blks_readcounterКоличество прочитанных блоков диска в этой базе данных
pg_mon_stat_activity_max_tx_durationgaugeМаксимальная продолжительность в секундах, в течение которой выполняется любая активная транзакция
pg_mon_replication_laggaugeЗадержка репликации от мастера в секундах
pg_mon_database_size_bytesgaugeИспользуемое дисковое пространство базой данных в байтах

Пример сценария задания на получение метрик

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