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) | 
| 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 | Любая строка | Указывается имя базы данных для подключения | 
Пример сценария задания на получение метрик
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