Custom Database Queries: различия между версиями
ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Делайте общие запросы к базам данных Oracle, Postgres, MSSQL, MySQL, DB2, Informix или SAP HANA и отправляйте метрики в Ключ-АСТРОМ. | |||
== Обзор == | == Обзор == | ||
Строка 42: | Строка 44: | ||
# Браузер — загрузите <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) — столбцы значений | |||
** Какие столбцы вы хотели бы отправить обратно в dynatrace в виде метрик, разделенных запятыми | |||
** Пример: Для запроса<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> |
Версия 07:02, 31 мая 2023
Делайте общие запросы к базам данных 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.
Установка
Существует два шага для установки расширения АктивногоШлюза:
- Среда Сервер АктивногоШлюза — извлеките zip-файл с расширением в папку plugin_deployment удаленного подключаемого модуля.
- При установке по умолчанию это делается с помощью
unzip -o -d /opt/astromkey/remotepluginmodule/plugin_deployment custom.remote.python.dbquery.zip
- Скорректируйте путь, если АктивныйШлюз был установлен не в
/opt/astromkey
- При установке по умолчанию это делается с помощью
- (Необязательно) Для SAP HANA поместите файл ngdbc-2.14.7.jar в
../plugin_deployment/custom.remote.python.dbquery/jars/
каталог. - Браузер — загрузите
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
разрешения
- Токен API, ему нужны
- Имя группы
- Понятное имя для группировки этих запросов
- Пользовательское имя устройства
- Понятное имя пользовательского устройства, к которому можно прикрепить метрики, используемые для оповещений и информационных панелей.
- Уровень журнала
- Отправка статистику
- Отправка статистику на пользовательское устройство, такую как состояние запроса, продолжительность, строки (оставьте это включенным во время тестирования)
- Тип базы данных
- Поддерживаются 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;
- Установка намерения для соединения MSSQL:
- НЕ добавляйте имя пользователя и пароль в строку подключения
- При использовании строки подключения имя хоста, порт и параметры базы данных игнорируются.
- Иногда нужны дополнительные опции при подключении к базе данных, например:
- (Необязательно) путь 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) — столбцы значений
- Какие столбцы вы хотели бы отправить обратно в dynatrace в виде метрик, разделенных запятыми
- Пример: Для запроса
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