PostgreSQL Requests
Общие сведения
Название плагина: postgreSqlPlugin
Ссылка для загрузки плагина: скачать
Описание:
Данный плагин позволяет выполнить SQL запрос в СУБД PostgreSQL
Формат сценария задания сборщика данных
#Формат задания
jobs:
- name: request to PostgreSQL
steps:
- name: request to PostgreSQL
- plugin: postgreSqlRequest
with:
streamId: $.vars.stream.id
streamKey: $.vars.stream.key
# Имя хоста для подключения к серверу PostgreSQL.
# Обязательный параметр.
host: <string>
# Номер порта для подключения к серверу PostgreSQL.
# Опционально. По умолчанию 5432.
port: <integer>
# Режим SSL для подключению к серверу PostgreSQL
# Допустимые значения Disable, Allow, Prefer, Require, VerifyCA, VerifyFull
# Опционально. По умолчанию Prefer.
sslMode: <string>
# Имя базы данных для подключения.
# Обязательный параметр.
dbname: <string>
# Запрос в БД.
# Обязательный параметр.
query: <string>
# Способ отправки результатов выполнения запроса.
# Допустимые значения events и metrics.
# Опционально. По умолчанию event.
sendAs: <enum>
# Параметры отправки результатов выполнения запроса как события.
# Используется только если sendAs = events
sendAsEvents:
# Количество строк в выборке, отправляемых за раз в одном событии.
# Опционально. По умолчанию 100.
batchSize: <integer>
# Список меток, добавляемых к полученным событиям.
# Опционально. По умолчанию пустой список.
labels:
label1: Label1_Value
label2: Label2_Value
# Параметры отправки результатов выполнения запроса как метрики.
# Используется только если sendAs = metrics
sendAsMetrics:
# Количество строк в выборке, отправляемых за раз в коллектор метрик.
# Опционально. По умолчанию 10.
batchSize: <integer>
# Указание имени, которое будет добавлено как суффикс к результирующему названию метрики, начинающейся с pg_mon.
# Опционально. По умолчанию пустая строка.
metricNameSuffix: <string>
# Таймаут для запросов на отправку метрик в коллектор Monq.
# Опционально. По умолчанию 30s.
writeTimeout: <string>
# Задержка начальной повторной попытки отправки метрик. Удваивается при каждой повторной попытке.
# Опционально. По умолчанию 30ms.
writeMinBackoff: <string>
# Максимальная задержка повторной попытки отправки метрик.
# Опционально. По умолчанию 5s.
writeMaxBackoff: <string>
# Список меток, добавляемых к полученным метрикам.
# Опционально. По умолчанию пустой список.
labels:
label1: Label1_Value
label2: Label2_Value
# Параметры для преобразования таблицы с результатами запроса в метрики.
tableConversion:
# Указание имени колонки, ячейки которой будут содержать значение метрики.
# Опционально. По умолчанию VALUE.
valueColumn: <string>
# Список колонок из ответа, которые надо преобразовать в метки.
# Опционально. По умолчанию пустой список.
labelColumns:
- Column1
- Column2
# Фиксировать время выполнения запроса (в секундах) в БД (в формате метрического ряда) или нет.
# Опционально. По умолчанию false.
sendQueryResponseTime: <boolean>
# Параметры отправки времени выполнения запроса. Используется только если sendQueryResponseTime = true
queryResponseTimeMetric:
# Список меток, добавляемых к полученным метрикам.
# Опционально. По умолчанию пустой список.
labels:
label1: Label1_Value
label2: Label2_Value
# Допустимые значения для LogLevel: trace, debug, information, warning, error, critical, none
# Опционально. Уровень логирования выполнения заданий, выводящихся в лог работы агента. По умолчанию error
consoleSyncLogLevel: <string>
with-secured:
# Username - для подключения к серверу PostgreSQL
username: <string>
# Password - для подключения к серверу PostgreSQL
password: <string>
Параметры конфигурации используемые в сценарии
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Возможные значения | Описание |
|---|---|---|---|---|---|
| streamId | string | да | - | Любая строка | Идентификатор потока, в который необходимо отправлять собранные данные $.vars.stream.id - макрос, подставляющий ID потока, который связан со сборщиком данных |
| streamKey | string | да | - | Любая строка | Ключ потока, в который необходимо отправлять собранные данные $.vars.stream.key - макрос, подставляющий API ключ потока, который связан со сборщиком данных |
| 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 | Любая строка | Указывается имя базы данных для подключения |
| query | string | да | - | Любая строка | SQL-запрос, который будет выполнен в базе данных |
| sendAs | string | опционально | event | events, metrics | Способ отправки результатов выполнения запроса — как события или как метрики. В зависимости от данного параметра необходимо выбрать соответствующий поток данных (метрики или события и логи) |
| sendAsEvents.batchSize | integer | опционально | 100 | Любое положительное число | Количество строк в выборке, отправляемых за раз в одном событии |
| sendAsEvents.labels | object | опционально | - | Любые пары ключ-значение | Дополнительные метки, которые будут добавлены к событиям |
| sendAsMetrics.batchSize | integer | опционально | 10 | Любое положительное число | Количество строк в выборке, отправляемых за раз в коллектор метрик |
| sendAsMetrics.metricNameSuffix | string | опционально | - | Любая строка | Суффикс, добавляемый к названию метрики (начинается с pg_mon) |
| sendAsMetrics.writeTimeout | string | опционально | 30s | Строка с указанием времени (например, 30s, 1m) | Таймаут для отправки метрик в коллектор |
| sendAsMetrics.writeMinBackoff | string | опционально | 30ms | Строка с указанием времени | Начальная задержка повторной попытки отправки метрик |
| sendAsMetrics.writeMaxBackoff | string | опционально | 5s | Строка с указанием времени | Максимальная задержка повторной попытки отправки метрик |
| sendAsMetrics.labels | object | опционально | - | Любые пары ключ-значение | Дополнительные метки, которые будут добавлены к метрикам |
| tableConversion.valueColumn | string | опционально | VALUE | Любая строка | Название колонки, из которой брать числовое значение метрики |
| tableConversion.labelColumns | string[] | опционально | - | Список колонок | Список колонок ответа, значения которых будут преобразованы в метки |
| sendQueryResponseTime | boolean | опционально | false | true, false | Включает/выключает отправку времени выполнения запроса как метрики |
| queryResponseTimeMetric.labels | object | опционально | - | Любые пары ключ-значение | Метки, добавляемые к метрикам времени выполнения запроса |
| consoleSyncLogLevel | string | опционально | error | trace, debug, information, warning, error, critical, none | Уровень логирования выполнения задания, выводящегося в лог работы агента |
Пример сценария задания на получение метрик
name: request to PostgreSQL
jobs:
- name: request to PostgreSQL
steps:
- plugin: postgreSqlRequest
with:
streamId: $.vars.stream.id
streamKey: $.vars.stream.key
host: 10.25.0.10
port: 5432
sslMode: prefer
dbName: myDatabase
query: >
SELECT COUNT(*)
FROM public."Table";
sendAsEvents:
batchSize: 10
labels:
label1: Label1_Value
label2: Label2_Value
sendQueryResponseTime: false
consoleSyncLogLevel: trace
with-secured:
username: $.vars.stream.params.username
password: $.vars.stream.params.password