<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=DB_Query</id>
	<title>DB Query - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=DB_Query"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=DB_Query&amp;action=history"/>
	<updated>2026-09-16T11:51:29Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=DB_Query&amp;diff=6674&amp;oldid=prev</id>
		<title>Aleksandr.Zubarev в 18:10, 15 сентября 2026</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=DB_Query&amp;diff=6674&amp;oldid=prev"/>
		<updated>2026-09-15T18:10:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://doc.ruscomtech.ru/index.php?title=DB_Query&amp;amp;diff=6674&amp;amp;oldid=6627&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Aleksandr.Zubarev</name></author>
	</entry>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=DB_Query&amp;diff=6627&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Расширение DB Query для Ключ-АСТРОМ = Расширение &#039;&#039;&#039;DB Query&#039;&#039;&#039; предназначено для мониторинга баз данных через выполнение пользовательских запросов и извлечения метрик. Оно поддерживает основные реляционные СУБД и &#039;&#039;&#039;MongoDB&#039;&#039;&#039;, позволяя превращать результаты запр...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=DB_Query&amp;diff=6627&amp;oldid=prev"/>
		<updated>2026-08-25T22:41:08Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Расширение DB Query для Ключ-АСТРОМ = Расширение &amp;#039;&amp;#039;&amp;#039;DB Query&amp;#039;&amp;#039;&amp;#039; предназначено для мониторинга баз данных через выполнение пользовательских запросов и извлечения метрик. Оно поддерживает основные реляционные СУБД и &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;, позволяя превращать результаты запр...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Расширение DB Query для Ключ-АСТРОМ =&lt;br /&gt;
Расширение &amp;#039;&amp;#039;&amp;#039;DB Query&amp;#039;&amp;#039;&amp;#039; предназначено для мониторинга баз данных через выполнение пользовательских запросов и извлечения метрик. Оно поддерживает основные реляционные СУБД и &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;, позволяя превращать результаты запросов в метрики и измерения Ключ-АСТРОМ.&lt;br /&gt;
&lt;br /&gt;
== Возможности расширения ==&lt;br /&gt;
&lt;br /&gt;
* Подключение к базам данных &amp;#039;&amp;#039;&amp;#039;PostgreSQL&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Oracle&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;MySQL&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;MariaDB&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;SQL Server&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Выполнение произвольных запросов (&amp;#039;&amp;#039;&amp;#039;SQL&amp;#039;&amp;#039;&amp;#039; или &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;-команд) и преобразование результатов в метрики и размерности.&lt;br /&gt;
* Настройка интервала выполнения запросов и расписания запуска по времени.&lt;br /&gt;
* Ограничение времени выполнения запроса.&lt;br /&gt;
* Проверка доступности подключения лёгким запросом (&amp;#039;&amp;#039;&amp;#039;fastcheck&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
* Создание сущностей &amp;#039;&amp;#039;&amp;#039;DB Query Host&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;DB Query Endpoint&amp;#039;&amp;#039;&amp;#039; с топологическими связями.&lt;br /&gt;
* Готовый обзорный дашборд.&lt;br /&gt;
* Отображение ошибок подключения и выполнения в статусе расширения.&lt;br /&gt;
&lt;br /&gt;
== Поддерживаемые базы данных ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PostgreSQL&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Oracle&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MySQL&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MariaDB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SQL Server&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Требования ==&lt;br /&gt;
&lt;br /&gt;
* АктивныйШлюз с включённым выполнением расширений (или ЕдиныйАгент с &amp;#039;&amp;#039;&amp;#039;EEC&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
* Сетевой доступ к базе данных.&lt;br /&gt;
* Учётные данные с правами на выполнение запросов.&lt;br /&gt;
* Для &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039; — зависимость &amp;#039;&amp;#039;&amp;#039;pymongo&amp;#039;&amp;#039;&amp;#039; (включена в расширение).&lt;br /&gt;
&lt;br /&gt;
== Конфигурация ==&lt;br /&gt;
Конфигурация каждого endpoint задаётся через &amp;#039;&amp;#039;&amp;#039;JSON&amp;#039;&amp;#039;&amp;#039; со следующими основными полями:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; — имя endpoint.&lt;br /&gt;
* &amp;lt;code&amp;gt;db_name&amp;lt;/code&amp;gt; — имя базы данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;query&amp;lt;/code&amp;gt; — запрос (&amp;#039;&amp;#039;&amp;#039;SQL&amp;#039;&amp;#039;&amp;#039; или &amp;#039;&amp;#039;&amp;#039;JSON&amp;#039;&amp;#039;&amp;#039; для &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
* &amp;lt;code&amp;gt;metric_columns&amp;lt;/code&amp;gt; — колонки, значения которых станут метриками.&lt;br /&gt;
* &amp;lt;code&amp;gt;dimension_columns&amp;lt;/code&amp;gt; — колонки, значения которых станут измерениями.&lt;br /&gt;
* &amp;lt;code&amp;gt;Query interval (minutes)&amp;lt;/code&amp;gt; — интервал выполнения в минутах.&lt;br /&gt;
* &amp;lt;code&amp;gt;Query timeout (minutes)&amp;lt;/code&amp;gt; — ограничение времени выполнения (по умолчанию 10 минут).&lt;br /&gt;
* &amp;lt;code&amp;gt;Execution times&amp;lt;/code&amp;gt; — конкретное время запуска (&amp;#039;&amp;#039;&amp;#039;HH:MM&amp;#039;&amp;#039;&amp;#039;, можно несколько через запятую); если пусто, используется интервал.&lt;br /&gt;
&lt;br /&gt;
== Метрики ==&lt;br /&gt;
Расширение отправляет служебную метрику &amp;lt;code&amp;gt;ru.ruscomtech.dbquery.host.status&amp;lt;/code&amp;gt; для отображения хоста на обзорном дашборде.&lt;br /&gt;
&lt;br /&gt;
== История версий ==&lt;br /&gt;
&lt;br /&gt;
=== Версия 0.2.30 ===&lt;br /&gt;
&lt;br /&gt;
* Лимит поля &amp;#039;&amp;#039;&amp;#039;Query&amp;#039;&amp;#039;&amp;#039; увеличен до 10000 символов.&lt;br /&gt;
* Добавлено поле &amp;#039;&amp;#039;&amp;#039;Query timeout (minutes)&amp;#039;&amp;#039;&amp;#039; для ограничения времени выполнения одного запроса. По умолчанию 10 минут; применяется для &amp;#039;&amp;#039;&amp;#039;Postgres&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Oracle&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;MySQL&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;MariaDB&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;SQLServer&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Добавлено поле &amp;#039;&amp;#039;&amp;#039;Execution times&amp;#039;&amp;#039;&amp;#039; для запуска конкретного endpoint по расписанию. Формат: &amp;#039;&amp;#039;&amp;#039;HH:MM&amp;#039;&amp;#039;&amp;#039; по локальному времени хоста/АктивногоШлюза; несколько значений через запятую, например &amp;lt;code&amp;gt;09:00,18:30&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Запуск по &amp;#039;&amp;#039;&amp;#039;Execution times&amp;#039;&amp;#039;&amp;#039; выполняется в окне от указанного времени до +5 минут. Если поле пустое, endpoint выполняется по старому правилу через &amp;#039;&amp;#039;&amp;#039;Query interval (minutes)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;fastcheck()&amp;lt;/code&amp;gt; проверяет подключение к БД лёгким запросом: &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039; — &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;&amp;#039;Oracle&amp;#039;&amp;#039;&amp;#039; — &amp;lt;code&amp;gt;SELECT 1 FROM dual&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;&amp;#039;MySQL/MariaDB/SQLServer&amp;#039;&amp;#039;&amp;#039; — &amp;lt;code&amp;gt;SELECT 1&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;&amp;#039;Postgres&amp;#039;&amp;#039;&amp;#039; — &amp;lt;code&amp;gt;SELECT 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Ошибки выполнения &amp;#039;&amp;#039;&amp;#039;query&amp;#039;&amp;#039;&amp;#039; больше не отображаются как &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;: последняя ошибка endpoint сохраняется и возвращается в &amp;#039;&amp;#039;&amp;#039;runtime status&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Ошибки подключения, авторизации и конфигурации мапятся в соответствующие &amp;#039;&amp;#039;&amp;#039;StatusValue&amp;#039;&amp;#039;&amp;#039;; ошибка &amp;#039;&amp;#039;&amp;#039;Oracle&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;DPY-6005: cannot connect to database&amp;lt;/code&amp;gt; классифицируется как &amp;lt;code&amp;gt;DEVICE_CONNECTION_ERROR&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Исправлена ошибка &amp;#039;&amp;#039;&amp;#039;UnboundLocalError&amp;#039;&amp;#039;&amp;#039; после неуспешного подключения к &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039; или другой БД.&lt;br /&gt;
* Русифицированы описания полей.&lt;br /&gt;
* Добавлена служебная метрика &amp;lt;code&amp;gt;ru.ruscomtech.dbquery.host.status&amp;lt;/code&amp;gt; для отображения &amp;#039;&amp;#039;&amp;#039;DB Query Host&amp;#039;&amp;#039;&amp;#039; на &amp;#039;&amp;#039;&amp;#039;overview dashboard&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Плитка &amp;#039;&amp;#039;&amp;#039;DB Query Host&amp;#039;&amp;#039;&amp;#039; теперь содержит &amp;#039;&amp;#039;&amp;#039;Data Explorer&amp;#039;&amp;#039;&amp;#039; query и показывает хосты по &amp;lt;code&amp;gt;device.address&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Метрика &amp;lt;code&amp;gt;ru.ruscomtech.dbquery.host.status&amp;lt;/code&amp;gt; отправляется в каждом цикле &amp;lt;code&amp;gt;query()&amp;lt;/code&amp;gt; для валидной конфигурации, даже если endpoint пропущен по расписанию или интервалу.&lt;br /&gt;
&lt;br /&gt;
=== Версия 0.2.11 ===&lt;br /&gt;
&lt;br /&gt;
* Добавлена поддержка &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Добавлена зависимость &amp;#039;&amp;#039;&amp;#039;pymongo&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Для &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039; поле &amp;#039;&amp;#039;&amp;#039;query&amp;#039;&amp;#039;&amp;#039; принимает &amp;#039;&amp;#039;&amp;#039;JSON&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** raw &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039; command для выполнения через &amp;lt;code&amp;gt;db.command(...)&amp;lt;/code&amp;gt;;&lt;br /&gt;
** wrapper с &amp;lt;code&amp;gt;collection&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;operation&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Поддержанные операции &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;find_one&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;count_documents&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;estimated_document_count&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;aggregate&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Поля &amp;lt;code&amp;gt;dimension_columns&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;metric_columns&amp;lt;/code&amp;gt; работают для &amp;#039;&amp;#039;&amp;#039;MongoDB&amp;#039;&amp;#039;&amp;#039; по возвращаемым полям документов, так же как для &amp;#039;&amp;#039;&amp;#039;SQL&amp;#039;&amp;#039;&amp;#039;-колонок.&lt;br /&gt;
&lt;br /&gt;
=== Версия 0.2.10 ===&lt;br /&gt;
&lt;br /&gt;
* Добавлены &amp;#039;&amp;#039;&amp;#039;topology&amp;#039;&amp;#039;&amp;#039; entities для &amp;#039;&amp;#039;&amp;#039;DB Query Host&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;DB Query Endpoint&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Добавлен &amp;#039;&amp;#039;&amp;#039;overview dashboard&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Версия 0.2.1 ===&lt;br /&gt;
&lt;br /&gt;
* Добавлена поддержка &amp;#039;&amp;#039;&amp;#039;Oracle&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Добавлена функция ожидания после каждого выполнения.&lt;br /&gt;
&lt;br /&gt;
== Примеры конфигурации ==&lt;br /&gt;
&lt;br /&gt;
=== Пример MongoDB count ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;mongo_orders_open&amp;quot;,&lt;br /&gt;
  &amp;quot;db_name&amp;quot;: &amp;quot;mydb&amp;quot;,&lt;br /&gt;
  &amp;quot;query&amp;quot;: &amp;quot;{\&amp;quot;collection\&amp;quot;:\&amp;quot;orders\&amp;quot;,\&amp;quot;operation\&amp;quot;:\&amp;quot;count_documents\&amp;quot;,\&amp;quot;filter\&amp;quot;:{\&amp;quot;status\&amp;quot;:\&amp;quot;open\&amp;quot;}}&amp;quot;,&lt;br /&gt;
  &amp;quot;metric_columns&amp;quot;: &amp;quot;count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Пример MongoDB aggregate ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;mongo_orders_by_status&amp;quot;,&lt;br /&gt;
  &amp;quot;db_name&amp;quot;: &amp;quot;mydb&amp;quot;,&lt;br /&gt;
  &amp;quot;query&amp;quot;: &amp;quot;{\&amp;quot;collection\&amp;quot;:\&amp;quot;orders\&amp;quot;,\&amp;quot;operation\&amp;quot;:\&amp;quot;aggregate\&amp;quot;,\&amp;quot;pipeline\&amp;quot;:[{\&amp;quot;$group\&amp;quot;:{\&amp;quot;_id\&amp;quot;:\&amp;quot;$status\&amp;quot;,\&amp;quot;total\&amp;quot;:{\&amp;quot;$sum\&amp;quot;:1}}}]}&amp;quot;,&lt;br /&gt;
  &amp;quot;dimension_columns&amp;quot;: &amp;quot;_id&amp;quot;,&lt;br /&gt;
  &amp;quot;metric_columns&amp;quot;: &amp;quot;total&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>