<?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=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85</id>
	<title>Сопоставление DQL в логах - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;action=history"/>
	<updated>2026-10-26T18:23:42Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=7203&amp;oldid=prev</id>
		<title>IKuznetsov: Полностью удалено содержимое страницы</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=7203&amp;oldid=prev"/>
		<updated>2026-10-22T17:22:07Z</updated>

		<summary type="html">&lt;p&gt;Полностью удалено содержимое страницы&lt;/p&gt;
&lt;a href=&quot;https://doc.ruscomtech.ru/index.php?title=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;amp;diff=7203&amp;amp;oldid=7045&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=7045&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: « = Сопоставление DQL в логах = С помощью платформы Ключ-АСТРОМ можно использовать функции и логические операторы &#039;&#039;&#039;DQL&#039;&#039;&#039; в сопоставлениях. Сопоставление фильтрует загруженные данные и сокращает объём данных, обрабатываемых создаваемым правилом. Сопостав...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A1%D0%BE%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=7045&amp;oldid=prev"/>
		<updated>2026-10-13T18:13:00Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « = Сопоставление DQL в логах = С помощью платформы Ключ-АСТРОМ можно использовать функции и логические операторы &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; в сопоставлениях. Сопоставление фильтрует загруженные данные и сокращает объём данных, обрабатываемых создаваемым правилом. Сопостав...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= Сопоставление DQL в логах =&lt;br /&gt;
С помощью платформы Ключ-АСТРОМ можно использовать функции и логические операторы &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; в сопоставлениях. Сопоставление фильтрует загруженные данные и сокращает объём данных, обрабатываемых создаваемым правилом. Сопоставление можно использовать при обработке логов и событий, в метриках логов, событиях логов и бакетах логов для:&lt;br /&gt;
&lt;br /&gt;
* Фильтрации записей, содержащих указанную фразу.&lt;br /&gt;
* Поиска определённого значения в заданном атрибуте данных логов.&lt;br /&gt;
* Проверки значения на NULL.&lt;br /&gt;
* Соединения двух или более выражений с помощью логических операторов.&lt;br /&gt;
&lt;br /&gt;
Подробнее об использовании логических операторов в &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; см. в разделе &amp;#039;&amp;#039;&amp;#039;Логические операторы или операторы равенства&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Функции ==&lt;br /&gt;
&lt;br /&gt;
=== matchesPhrase ===&lt;br /&gt;
Фильтрует записи, содержащие указанную фразу. Возвращает только совпадающие записи. Эта функция нечувствительна к регистру для символов ASCII, работает с многозначными атрибутами (совпадение с любым из значений), а символ звёздочки (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;) является подстановочным знаком, относящимся только к одному термину, а не ко всему значению поля.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Валидация&amp;#039;&amp;#039;&amp;#039; Функция &amp;lt;code&amp;gt;matchesPhrase&amp;lt;/code&amp;gt; выполняет нечувствительный к регистру поиск &amp;#039;&amp;#039;&amp;#039;contains&amp;#039;&amp;#039;&amp;#039; для всей строки запроса и не поддерживает подстановочные знаки в середине строки. Для найденных результатов выполняется дополнительная валидация:&lt;br /&gt;
&lt;br /&gt;
* Если запрос начинается с символа слова, предшествующий символ должен быть несловесным символом.&lt;br /&gt;
* Если запрос заканчивается символом слова, следующий символ должен быть несловесным символом.&lt;br /&gt;
* Если запрос начинается со звёздочки, проверка предшествующего символа не выполняется.&lt;br /&gt;
* Если запрос заканчивается звёздочкой, проверка следующего символа не выполняется.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;matchesPhrase(expression, phrase [, caseSensitive])&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Обязательный&lt;br /&gt;
!Значение по умолчанию&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;expression&amp;lt;/code&amp;gt;&lt;br /&gt;
|строка, массив&lt;br /&gt;
|да&lt;br /&gt;
|&lt;br /&gt;
|Выражение (строка или массив строк), которое нужно проверить.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;phrase&amp;lt;/code&amp;gt;&lt;br /&gt;
|строка&lt;br /&gt;
|да&lt;br /&gt;
|&lt;br /&gt;
|Фраза для поиска.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;caseSensitive&amp;lt;/code&amp;gt;&lt;br /&gt;
|логическое&lt;br /&gt;
|нет&lt;br /&gt;
|false&lt;br /&gt;
|Этот необязательный параметр (&amp;lt;code&amp;gt;caseSensitive&amp;lt;/code&amp;gt;) не поддерживается сопоставлением. Функция &amp;lt;code&amp;gt;matchesPhrase&amp;lt;/code&amp;gt; в сопоставлении выполняет только нечувствительный к регистру поиск.&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039; В этом примере вы добавляете фильтр, который сопоставляет записи логов, содержащие фразу &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; в их содержимом.&amp;lt;pre&amp;gt;matchesPhrase(content, &amp;quot;error&amp;quot;)&amp;lt;/pre&amp;gt;&amp;#039;&amp;#039;&amp;#039;Примеры обработки событий с использованием функции DQL matchesPhrase&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Часть входного события&lt;br /&gt;
!Запрос обработки&lt;br /&gt;
!Результат сопоставления&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Точное совпадение по одному термину.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.123&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|После символа 1 ожидается несловесный символ.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.123&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;192.168.0.1*&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Запрос соответствует всем IP-адресам с последним октетом от 100 до 199.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;failed to login&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Точное совпадение фразы.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;failed to log&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt; не является полным словом, после &amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt; ожидается несловесный символ.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;failed to log*&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Если запрос заканчивается подстановочным знаком, проверка следующего символа пропускается.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;ed to login&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;ed&amp;lt;/code&amp;gt; не является полным словом, предшествующий символ &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; является частью слова.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;*ed to login&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Если запрос начинается с подстановочного знака, проверка предшествующего символа пропускается.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;*ed to log*&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Если запрос начинается и заканчивается подстановочным знаком, проверка предшествующего и следующего символов пропускается.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;käärmanü failed&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Между &amp;lt;code&amp;gt;käärmanü&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;failed&amp;lt;/code&amp;gt; должен быть символ апострофа (&amp;lt;code&amp;gt;&amp;#039;&amp;lt;/code&amp;gt;).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;rmanü&amp;#039; failed&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Не-ASCII символ &amp;lt;code&amp;gt;ä&amp;lt;/code&amp;gt; рассматривается как несловесный символ.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot; &amp;#039;käärmanü&amp;#039; failed&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Если запрос начинается с несловесного символа, проверка предшествующего символа пропускается.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;Failed to assign monitoring configuration for com.astromkey.extension&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;configuration for&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|В запросе пробел, а в значении атрибута — табуляция.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;Failed to assign monitoring configuration for com.astromkey.extension&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;failed to&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|В запросе один пробел, а в значении атрибута — двойной пробел.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;Failed to assign monitoring configuration for com.astromkey.extension&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;failed to&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Можно искать с несколькими пробелами.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=[&amp;quot;Gdansk, Poland&amp;quot;, &amp;quot;Linz, Austria&amp;quot;, &amp;quot;Klagenfurt, Austria&amp;quot;]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;Austria&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Функция обрабатывает многозначные атрибуты по принципу «любое совпадение», в данном случае &amp;lt;code&amp;gt;Austria&amp;lt;/code&amp;gt; совпадает во втором и третьем значениях.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=[&amp;quot;Gdansk, Poland&amp;quot;, &amp;quot;Linz, Austria&amp;quot;, &amp;quot;Klagenfurt, Austria&amp;quot;]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;Pol*&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Подстановочный знак можно использовать и при работе с многозначными атрибутами.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== matchesValue ===&lt;br /&gt;
Ищет записи с определённым значением в заданном атрибуте. Возвращает только совпадающие записи. Эта функция нечувствительна к регистру для символов ASCII, работает с многозначными атрибутами (совпадение с любым из значений) и не поддерживает подстановочные знаки в середине значения.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;matchesValue(expression, value [, caseSensitive])&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Обязательный&lt;br /&gt;
!Значение по умолчанию&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;expression&amp;lt;/code&amp;gt;&lt;br /&gt;
|строка, массив&lt;br /&gt;
|да&lt;br /&gt;
|&lt;br /&gt;
|Выражение (значение или массив значений), которое нужно проверить.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;&lt;br /&gt;
|строка&lt;br /&gt;
|да&lt;br /&gt;
|&lt;br /&gt;
|Значение для поиска.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;caseSensitive&amp;lt;/code&amp;gt;&lt;br /&gt;
|логическое&lt;br /&gt;
|нет&lt;br /&gt;
|false&lt;br /&gt;
|Этот необязательный параметр (&amp;lt;code&amp;gt;caseSensitive&amp;lt;/code&amp;gt;) не поддерживается сопоставлением. Функция &amp;lt;code&amp;gt;matchesValue&amp;lt;/code&amp;gt; в сопоставлении выполняет только нечувствительный к регистру поиск.&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039; В этом примере вы добавляете фильтр записей, где атрибут &amp;lt;code&amp;gt;process.technology&amp;lt;/code&amp;gt; содержит значение &amp;lt;code&amp;gt;nginx&amp;lt;/code&amp;gt;.&amp;lt;pre&amp;gt;matchesValue(process.technology, &amp;quot;nginx&amp;quot;)&amp;lt;/pre&amp;gt;&amp;#039;&amp;#039;&amp;#039;Примеры обработки событий с использованием функции DQL matchesValue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Часть входного события&lt;br /&gt;
!Запрос обработки&lt;br /&gt;
!Результат сопоставления&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;Astromkey&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;astromkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Нечувствительное к регистру равенство.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Рассматривается всё значение атрибута.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;*192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Значение заканчивается на &amp;lt;code&amp;gt;192.168.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;user*&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Значение начинается с &amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt; (без учёта регистра).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;User &amp;#039;käärmanü&amp;#039; failed to login from 192.168.0.1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;*failed to log*&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Значение содержит строку &amp;lt;code&amp;gt;failed to log&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;Österreich&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;österreich&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Нечувствительно к регистру только для символов ASCII.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=&amp;quot;Österreich&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;Österreich&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Точное совпадение.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=[&amp;quot;Java&amp;quot;, &amp;quot;DOCKER&amp;quot;, &amp;quot;k8s&amp;quot;]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;docker&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Функция обрабатывает многозначные атрибуты по принципу «любое совпадение», в данном случае &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; совпадает во втором значении.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=[&amp;quot;Java11&amp;quot;, &amp;quot;java17&amp;quot;]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;java&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ни одно из значений не равно строке &amp;lt;code&amp;gt;java&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute=[&amp;quot;Java11&amp;quot;, &amp;quot;java17&amp;quot;]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;java*&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Оба значения начинаются со строки &amp;lt;code&amp;gt;java&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== isNotNull ===&lt;br /&gt;
Проверяет, что значение не NULL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;isNotNull(&amp;lt;value&amp;gt;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039; В этом примере мы фильтруем (выбираем) данные, где поле &amp;lt;code&amp;gt;host.name&amp;lt;/code&amp;gt; содержит значение.&amp;lt;pre&amp;gt;isNotNull(`host.name`)&amp;lt;/pre&amp;gt;&amp;#039;&amp;#039;&amp;#039;Примеры обработки событий с использованием функции DQL isNotNull&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Часть входного события&lt;br /&gt;
!Запрос обработки&lt;br /&gt;
!Результат сопоставления&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;Astromkey&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;isNotNull(other)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;Astromkey&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибут имеет ненулевое значение.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=null}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибут имеет нулевое значение.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== isNull ===&lt;br /&gt;
Проверяет, что значение NULL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;isNull(&amp;lt;value&amp;gt;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039; В этом примере мы фильтруем (выбираем) данные, где поле &amp;lt;code&amp;gt;host.name&amp;lt;/code&amp;gt; не содержит значения.&amp;lt;pre&amp;gt;filter isNull(`host.name`)&amp;lt;/pre&amp;gt;&amp;#039;&amp;#039;&amp;#039;Примеры обработки событий с использованием функции DQL isNull&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Часть входного события&lt;br /&gt;
!Запрос обработки&lt;br /&gt;
!Результат сопоставления&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;Astromkey&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;isNull(other)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;Astromkey&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибут имеет ненулевое значение.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=null}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибут имеет нулевое значение.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Операторы ==&lt;br /&gt;
Логические операторы можно использовать для соединения двух или более выражений. Ознакомьтесь с разделом &amp;#039;&amp;#039;&amp;#039;Логические операторы или операторы равенства&amp;#039;&amp;#039;&amp;#039;, чтобы узнать больше о поведении логических операторов в &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== OR ===&lt;br /&gt;
Логическое сложение.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;lt;expression_1&amp;gt; or &amp;lt;expression_2&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039; В этом примере вы добавляете сопоставление для фильтрации записей, где содержимое содержит либо фразу &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt;, либо фразу &amp;lt;code&amp;gt;trigger&amp;lt;/code&amp;gt;.&amp;lt;pre&amp;gt;matchesPhrase(content, &amp;quot;timestamp&amp;quot;) or matchesPhrase(content, &amp;quot;trigger&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AND ===&lt;br /&gt;
Логическое умножение.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;lt;expression_1&amp;gt; and &amp;lt;expression_2&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039; В этом примере вы добавляете сопоставление для фильтрации записей, где содержимое содержит фразу &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt; и фразу &amp;lt;code&amp;gt;trigger&amp;lt;/code&amp;gt;.&amp;lt;pre&amp;gt;matchesPhrase(content, &amp;quot;timestamp&amp;quot;) and matchesPhrase(content, &amp;quot;trigger&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NOT ===&lt;br /&gt;
Логическое отрицание.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;not &amp;lt;expression&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039; В этом примере вы добавляете сопоставление для фильтрации записей, где содержимое не содержит фразу &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt;.&amp;lt;pre&amp;gt;not matchesPhrase(content, &amp;quot;timestamp&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Строгое равенство ===&lt;br /&gt;
Логический оператор (&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt;), обозначающий точное совпадение. Типы данных должны быть идентичными. Однако если десятичное значение равно 0, числа с плавающей запятой можно сравнивать с целочисленными данными. Например, &amp;lt;code&amp;gt;1==1.0&amp;lt;/code&amp;gt;. Для строк поиск чувствителен к регистру. В отличие от функции &amp;lt;code&amp;gt;matchesValue&amp;lt;/code&amp;gt;, оператор строгого равенства выполняет сравнение с учётом регистра, не поддерживает подстановочные знаки и не работает с элементами многозначных атрибутов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;lt;expression1&amp;gt; == &amp;lt;expression2&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Примеры использования оператора строгого равенства&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Часть входного события&lt;br /&gt;
!Запрос обработки&lt;br /&gt;
!Результат сопоставления&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;Astromkey&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute == &amp;quot;Astromkey&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибут имеет строковый тип и то же значение.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;Astromkey&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute == &amp;quot;astromkey&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Строгое равенство чувствительно к регистру.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибуты имеют разные типы данных.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=&amp;quot;1.0&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|Числа с плавающей запятой можно сравнивать с целочисленными значениями, если их десятичная часть равна 0.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;{ attribute=[&amp;quot;Java&amp;quot;, &amp;quot;DOCKER&amp;quot;, &amp;quot;k8s&amp;quot;]}&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute == &amp;quot;Java&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Атрибуты имеют разные типы данных.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Группировка ==&lt;br /&gt;
Можно создавать условную группировку с помощью скобок (&amp;lt;code&amp;gt;()&amp;lt;/code&amp;gt;).&amp;lt;pre&amp;gt;matchesValue(process.technology, &amp;quot;nginx&amp;quot;) and ( matchesPhrase(content, &amp;quot;error&amp;quot;) or matchesPhrase(content, &amp;quot;warn&amp;quot;) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Повторное использование выражений ==&lt;br /&gt;
Все выражения сопоставления, используемые в событиях логов, метриках, обработке или конфигурациях бакетов, являются допустимыми &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;. Это означает, что эти выражения также можно использовать вместе с командой &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;, например, в &amp;#039;&amp;#039;&amp;#039;средстве просмотра логов&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>