Custom Database Queries: различия между версиями

Материал из Документация Ключ-АСТРОМ
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
'''''[[Расширения]] / [[Расширения#.D0.A0.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.B8.D1.8F%202.0|Расширения 2.0]] / Custom Database Queries'''''
Делайте общие запросы к базам данных Oracle, Postgres, MSSQL, MySQL, DB2, Informix или SAP HANA и отправляйте метрики в Ключ-АСТРОМ.
== Обзор ==
== Обзор ==


Строка 42: Строка 46:
# Браузер — загрузите <code>custom.remote.python.dbquery.zip</code>файл в ваш тенант
# Браузер — загрузите <code>custom.remote.python.dbquery.zip</code>файл в ваш тенант
#* <code>Settings > Monitored technologies > Custom extensions > Upload extension</code>
#* <code>Settings > Monitored technologies > Custom extensions > Upload extension</code>
== Конфигурация ==
=== Конфигурация ===
Создайте конечную точку для каждой базы данных, которую вы хотите запросить.
Это делается в<code>Settings > Monitored technologies > Custom extensions > Generic DB Query Plugin</code>
Вы можете запускать до 10 запросов одновременно, чтобы выполнить более 10 запросов, создайте больше конечных точек для одной и той же базы данных.
Параметры:
* Токен API Astromkey
** Токен API, ему нужны <code>Api V2 - Metric Ingest</code>разрешения
* Имя группы
** Понятное имя для группировки этих запросов
* Пользовательское имя устройства
** Понятное имя пользовательского устройства, к которому можно прикрепить метрики, используемые для оповещений и информационных панелей.
* Уровень журнала
* Отправка статистику
** Отправка статистику на пользовательское устройство, такую ​​как состояние запроса, продолжительность, строки (оставьте это включенным во время тестирования)
* Тип базы данных
** Поддерживаются Oracle, MSSQL, MySQL, DB2, PostgreSQL и Informix.
* Имя хоста
* Порт
* Имя пользователя
* Пароль
* Тип слушателя Oracle
** Имя службы или SID, используется только в том случае, если тип базы данных — Oracle.
* База данных
** Имя базы данных. В случае Oracle это SID или имя службы.
* (Необязательно) JDBC — строка подключения
** Иногда нужны дополнительные опции при подключении к базе данных, например:
*** Установка намерения для соединения MSSQL:<code>jdbc:sqlserver://10.1.2.3:1433;databaseName=master;applicationIntent=ReadOnly</code>
*** Включение SSL для соединения с DB2:<code>jdbc:db2://myserver:5055/my_db:sslConnection=true;</code>
** НЕ добавляйте имя пользователя и пароль в строку подключения
** При использовании строки подключения имя хоста, порт и параметры базы данных игнорируются.
* (Необязательно) путь Java
** Путь к двоичному файлу Java (должен быть java 11 или выше), который будет использоваться, если оставить его пустым, он будет использовать АктивныйШлюз JVM.
* (Необязательно) Дополнительные аргументы Java
** Дополнительные аргументы JVM, пример (введите один аргумент в строке): -Xmx60m
* Время ожидания запросов
** Время ожидания в минутах
* Запрос (1-10) - Имя
** Имя этой метрики, если оно пусто, этот запрос будет проигнорирован.
* Запрос (1-10) — Строка запроса
** Текст запроса
** Это может быть простой запрос, например <code>SELECT COUNT(*) FROM JOBS</code>, где возвращается одно число.
** Или более сложный запрос, например <code>SELECT JOB_ID, DURATION, STATUS FROM JOBS</code>. В этом случае заполните столбцы и значения параметров ниже
* (Необязательно) Запрос (1-10) - Расписание
** Расписание, оно использует формат cron, вы можете использовать веб-сайт <nowiki>https://crontab.guru</nowiki>, чтобы помочь вам создать расписание
** Если пусто, запрос будет выполняться каждую минуту
* (Необязательно) Запрос (1–10) — столбцы значений
** Какие столбцы вы хотели бы отправить обратно в Ключ-АСТРОМ в виде метрик, разделенных запятыми
** Пример: Для запроса<code>SELECT JOB_ID, DURATION, STATUS FROM JOBS</code>
** Вы можете отправить <code>DURATION,STATUS</code>как значение. Эти столбцы должны быть числами
** Если пусто, возвращается значение первого столбца первой строки.
* (Необязательно) Запрос (1–10) — столбцы измерения
** Какие столбцы вы хотели бы использовать в качестве параметров для метрики, разделенные запятыми
** Пример: Для запроса<code>SELECT JOB_ID, DURATION, STATUS FROM JOBS</code>
** Вы можете выбрать отправку <code>JOB_ID</code>в качестве измерения, тогда у вас будет метрика для каждого job_id
* (Необязательно) Запрос (1–10) — Дополнительные параметры
** <code>key=Value</code>пары, которые будут добавлены как дополнительные жестко закодированные измерения
** Может использоваться для таких вещей, как<code>environment=PROD,database=USERS</code>
==== Пример конечной точки Oracle ====
==== Пример конечной точки Informix ====
=== Визуализация ===
Данные отправляются с помощью нашего API Metric Ingest, поэтому для создания диаграмм необходимо использовать обозреватель данных.
Имя метрики всегда <code>custom.db.query</code>, доступ к различным запросам осуществляется через <code>Query Name</code>параметр
=== Мониторинг ===
Если <code>Send Statistics</code>этот параметр включен, вы также можете отслеживать свои запросы, перейдя к<code>Technologies > Custom SQL > DBQuery Monitoring</code>
Любые ошибки при выполнении запросов также будут отправлены на это пользовательское устройство как<code>CUSTOM_INFO_EVENTS</code>

Текущая версия на 15:18, 3 сентября 2024

Расширения / Расширения 2.0 / Custom Database Queries

Делайте общие запросы к базам данных Oracle, Postgres, MSSQL, MySQL, DB2, Informix или SAP HANA и отправляйте метрики в Ключ-АСТРОМ.

Обзор

Пользовательское расширение запросов к БД

Это специальное расширение АктивногоШлюза позволяет выполнять запросы к базам данных Oracle, MSSQL, MySQL, DB2, PostgreSQL, Informix или SAP HANA и отправлять результаты обратно в Ключ-АСТРОМ в виде метрик.

Случаи Использования

Вы можете использовать это расширение для ввода бизнес-данных, показателей обработки заданий, статистики базы данных и таблиц, всего, что хранится в ваших базах данных.

Примеры запросов

  • SELECT COUNT(*) FROM DAILY_PROCESSED_JOBS
  • SELECT DEPARTMENT, EMPLOYEE_COUNT FROM DEPARTMENTS

Информация О Совместимости

Это расширение использует JDBC для подключения к различным базам данных. Вот версии драйверов JDBC, которые мы используем. Пожалуйста, обратитесь к документации драйвера JDBC, чтобы узнать, какую версию базы данных они поддерживают.

  • mssql-jdbc-9.4.0.jre8.jar
  • mysql-connector-java-8.0.26.jar
  • ojdbc11.jar
  • postgresql-42.3.3.jar
  • jdbc-4.50.7.1.jar
  • db2jcc4.jar
  • ngdbc-2.14.7.jar ПРИМЕЧАНИЕ. Его необходимо загрузить и развернуть вручную. См. Установка.

Установка

Требования

  • Среда Linux или Windows АктивныйШлюз
  • Сетевой доступ с компьютера АктивномуШлюзу к целевой базе данных
  • Имя пользователя и пароль для доступа к базе данных и выполнения настроенных вами запросов.
    • Примечание . Проверка подлинности Windows в настоящее время не поддерживается.
  • Для SAP HANA файл jar необходимо загрузить отсюда: ngdbc-2.14.7.jar.

Установка

Существует два шага для установки расширения АктивногоШлюза:

  1. Среда Сервер АктивногоШлюза — извлеките zip-файл с расширением в папку plugin_deployment удаленного подключаемого модуля.
    • При установке по умолчанию это делается с помощьюunzip -o -d /opt/astromkey/remotepluginmodule/plugin_deployment custom.remote.python.dbquery.zip
    • Скорректируйте путь, если АктивныйШлюз был установлен не в/opt/astromkey
  2. (Необязательно) Для SAP HANA поместите файл ngdbc-2.14.7.jar в ../plugin_deployment/custom.remote.python.dbquery/jars/каталог.
  3. Браузер — загрузите custom.remote.python.dbquery.zipфайл в ваш тенант
    • Settings > Monitored technologies > Custom extensions > Upload extension

Конфигурация

Конфигурация

Создайте конечную точку для каждой базы данных, которую вы хотите запросить.

Это делается вSettings > Monitored technologies > Custom extensions > Generic DB Query Plugin

Вы можете запускать до 10 запросов одновременно, чтобы выполнить более 10 запросов, создайте больше конечных точек для одной и той же базы данных.

Параметры:

  • Токен API Astromkey
    • Токен API, ему нужны Api V2 - Metric Ingestразрешения
  • Имя группы
    • Понятное имя для группировки этих запросов
  • Пользовательское имя устройства
    • Понятное имя пользовательского устройства, к которому можно прикрепить метрики, используемые для оповещений и информационных панелей.
  • Уровень журнала
  • Отправка статистику
    • Отправка статистику на пользовательское устройство, такую ​​как состояние запроса, продолжительность, строки (оставьте это включенным во время тестирования)
  • Тип базы данных
    • Поддерживаются Oracle, MSSQL, MySQL, DB2, PostgreSQL и Informix.
  • Имя хоста
  • Порт
  • Имя пользователя
  • Пароль
  • Тип слушателя Oracle
    • Имя службы или SID, используется только в том случае, если тип базы данных — Oracle.
  • База данных
    • Имя базы данных. В случае Oracle это SID или имя службы.
  • (Необязательно) JDBC — строка подключения
    • Иногда нужны дополнительные опции при подключении к базе данных, например:
      • Установка намерения для соединения MSSQL:jdbc:sqlserver://10.1.2.3:1433;databaseName=master;applicationIntent=ReadOnly
      • Включение SSL для соединения с DB2:jdbc:db2://myserver:5055/my_db:sslConnection=true;
    • НЕ добавляйте имя пользователя и пароль в строку подключения
    • При использовании строки подключения имя хоста, порт и параметры базы данных игнорируются.
  • (Необязательно) путь Java
    • Путь к двоичному файлу Java (должен быть java 11 или выше), который будет использоваться, если оставить его пустым, он будет использовать АктивныйШлюз JVM.
  • (Необязательно) Дополнительные аргументы Java
    • Дополнительные аргументы JVM, пример (введите один аргумент в строке): -Xmx60m
  • Время ожидания запросов
    • Время ожидания в минутах
  • Запрос (1-10) - Имя
    • Имя этой метрики, если оно пусто, этот запрос будет проигнорирован.
  • Запрос (1-10) — Строка запроса
    • Текст запроса
    • Это может быть простой запрос, например SELECT COUNT(*) FROM JOBS, где возвращается одно число.
    • Или более сложный запрос, например SELECT JOB_ID, DURATION, STATUS FROM JOBS. В этом случае заполните столбцы и значения параметров ниже
  • (Необязательно) Запрос (1-10) - Расписание
    • Расписание, оно использует формат cron, вы можете использовать веб-сайт https://crontab.guru, чтобы помочь вам создать расписание
    • Если пусто, запрос будет выполняться каждую минуту
  • (Необязательно) Запрос (1–10) — столбцы значений
    • Какие столбцы вы хотели бы отправить обратно в Ключ-АСТРОМ в виде метрик, разделенных запятыми
    • Пример: Для запросаSELECT JOB_ID, DURATION, STATUS FROM JOBS
    • Вы можете отправить DURATION,STATUSкак значение. Эти столбцы должны быть числами
    • Если пусто, возвращается значение первого столбца первой строки.
  • (Необязательно) Запрос (1–10) — столбцы измерения
    • Какие столбцы вы хотели бы использовать в качестве параметров для метрики, разделенные запятыми
    • Пример: Для запросаSELECT JOB_ID, DURATION, STATUS FROM JOBS
    • Вы можете выбрать отправку JOB_IDв качестве измерения, тогда у вас будет метрика для каждого job_id
  • (Необязательно) Запрос (1–10) — Дополнительные параметры
    • key=Valueпары, которые будут добавлены как дополнительные жестко закодированные измерения
    • Может использоваться для таких вещей, какenvironment=PROD,database=USERS

Пример конечной точки Oracle

Пример конечной точки Informix

Визуализация

Данные отправляются с помощью нашего API Metric Ingest, поэтому для создания диаграмм необходимо использовать обозреватель данных.

Имя метрики всегда custom.db.query, доступ к различным запросам осуществляется через Query Nameпараметр

Мониторинг

Если Send Statisticsэтот параметр включен, вы также можете отслеживать свои запросы, перейдя кTechnologies > Custom SQL > DBQuery Monitoring

Любые ошибки при выполнении запросов также будут отправлены на это пользовательское устройство какCUSTOM_INFO_EVENTS