<?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=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=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=DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;action=history"/>
	<updated>2026-09-16T12:36:12Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=6538&amp;oldid=prev</id>
		<title>IKuznetsov: /* Примеры обработки событий с использованием функции DQL matchesValue */</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=6538&amp;oldid=prev"/>
		<updated>2026-07-29T03:18:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Примеры обработки событий с использованием функции DQL matchesValue&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 03:18, 29 июля 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l117&quot;&gt;Строка 117:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 117:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;attribute=&quot;astromkey&quot;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;matchesValue(attribute, &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dynaTrace&lt;/del&gt;&quot;)&amp;lt;/code&amp;gt; || Применимый || Равенство без учета регистра.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;attribute=&quot;astromkey&quot;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;matchesValue(attribute, &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;)&amp;lt;/code&amp;gt; || Применимый || Равенство без учета регистра.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || Учитывается значение атрибута целиком.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || Учитывается значение атрибута целиком.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l261&quot;&gt;Строка 261:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 261:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;astromkey&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &amp;quot;astromkey&amp;quot;&amp;lt;/code&amp;gt; || Применимый || Атрибут имеет строковый тип и одинаковое значение.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;astromkey&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &amp;quot;astromkey&amp;quot;&amp;lt;/code&amp;gt; || Применимый || Атрибут имеет строковый тип и одинаковое значение.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;astromkey&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dynatrace&lt;/del&gt;&quot;&amp;lt;/code&amp;gt; || Непригодный || Строгое равенство чувствительно к регистру.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;astromkey&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;&amp;lt;/code&amp;gt; || Непригодный || Строгое равенство чувствительно к регистру.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt; || Непригодный || Атрибуты имеют различные типы данных.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt; || Непригодный || Атрибуты имеют различные типы данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key ka_db:diff:1.41:old-6537:rev-6538:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=6537&amp;oldid=prev</id>
		<title>IKuznetsov в 03:17, 29 июля 2026</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=6537&amp;oldid=prev"/>
		<updated>2026-07-29T03:17:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 03:17, 29 июля 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l117&quot;&gt;Строка 117:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 117:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;attribute=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;matchesValue(attribute, &quot;dynaTrace&quot;)&amp;lt;/code&amp;gt; || Применимый || Равенство без учета регистра.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;attribute=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;matchesValue(attribute, &quot;dynaTrace&quot;)&amp;lt;/code&amp;gt; || Применимый || Равенство без учета регистра.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || Учитывается значение атрибута целиком.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || Учитывается значение атрибута целиком.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l163&quot;&gt;Строка 163:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 163:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(other)&amp;lt;/code&amp;gt; || Непригодный || Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(other)&amp;lt;/code&amp;gt; || Непригодный || Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt; || Применимый || Имеет &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; ненулевое значение.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt; || Применимый || Имеет &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; ненулевое значение.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:null}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt; || Непригодный || Значение параметра &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; равно нулю.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:null}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt; || Непригодный || Значение параметра &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; равно нулю.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l195&quot;&gt;Строка 195:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 195:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(other)&amp;lt;/code&amp;gt; || Применимый || Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(other)&amp;lt;/code&amp;gt; || Применимый || Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt; || Непригодный || Имеет &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; ненулевое значение.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt; || Непригодный || Имеет &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; ненулевое значение.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:null}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt; || Применимый || Значение параметра &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; равно нулю.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:null}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt; || Применимый || Значение параметра &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; равно нулю.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l259&quot;&gt;Строка 259:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 259:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;&amp;lt;/code&amp;gt; || Применимый || Атрибут имеет строковый тип и одинаковое значение.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;&amp;lt;/code&amp;gt; || Применимый || Атрибут имеет строковый тип и одинаковое значение.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dynatrace&lt;/del&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &quot;dynatrace&quot;&amp;lt;/code&amp;gt; || Непригодный || Строгое равенство чувствительно к регистру.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&quot;attribute&quot;:&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;astromkey&lt;/ins&gt;&quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &quot;dynatrace&quot;&amp;lt;/code&amp;gt; || Непригодный || Строгое равенство чувствительно к регистру.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt; || Непригодный || Атрибуты имеют различные типы данных.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt; || Непригодный || Атрибуты имеют различные типы данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key ka_db:diff:1.41:old-6536:rev-6537:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=6536&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=DQL_%D0%B2_%D0%BB%D0%BE%D0%B3%D0%B0%D1%85&amp;diff=6536&amp;oldid=prev"/>
		<updated>2026-07-29T03:15:52Z</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;= DQL в логах =&lt;br /&gt;
&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;
* Фильтрации записей, содержащих указанную фразу.&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;, см. раздел «Логические операторы или операторы равенства».&lt;br /&gt;
&lt;br /&gt;
= Функции =&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;matchesPhrase&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Фильтрует записи, содержащие указанную фразу. Возвращает только соответствующие записи. Эта функция нечувствительна к регистру символов &amp;#039;&amp;#039;&amp;#039;ASCII&amp;#039;&amp;#039;&amp;#039;, работает с многозначными атрибутами (соответствующими любому из значений), а символ звездочки (&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; без учета регистра для всей строки запроса и не поддерживает подстановочные символы в середине строки. Для найденных результатов выполняется дополнительная проверка:&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;&lt;br /&gt;
&amp;lt;pre&amp;gt;matchesPhrase(expression, phrase [, caseSensitive])&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Параметры&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&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;
| &amp;lt;code&amp;gt;phrase&amp;lt;/code&amp;gt; || строка || да || || || Фраза для поиска.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;caseSensitive&amp;lt;/code&amp;gt; || логический || нет || false || Этот необязательный параметр (&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;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В этом примере вы добавляете фильтр, который соответствует записям лога, содержащим фразу &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; в своем содержимом.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;matchesPhrase(content, &amp;quot;error&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Примеры обработки событий с использованием функции DQL &amp;lt;code&amp;gt;matchesPhrase&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&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; || &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;
| &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; || &amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || После символа ожидается несловарный символ &amp;lt;code&amp;gt;1&amp;lt;/code&amp;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; || &amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;192.168.0.1*&amp;quot;)&amp;lt;/code&amp;gt; || Применимый || Запрос будет соответствовать всем IP-адресам, у которых последний октет находится между &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;199&amp;lt;/code&amp;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; || &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;
| &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; || &amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;failed to log&amp;quot;)&amp;lt;/code&amp;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;
| &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; || &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;
| &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; || &amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;ed to login&amp;quot;)&amp;lt;/code&amp;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;
| &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; || &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;
| &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; || &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;
| &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; || &amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;käärmanü failed&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || Между &amp;lt;code&amp;gt;&amp;#039;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;käärmanü&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;failed&amp;lt;/code&amp;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; || &amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;rmanü&amp;#039; failed&amp;quot;)&amp;lt;/code&amp;gt; || Применимый || Символы, не входящие в ASCII-код &amp;lt;code&amp;gt;ä&amp;lt;/code&amp;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; || &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;
| &amp;lt;code&amp;gt;attribute=&amp;quot;Failed to assign monitoring configuration for com.astromkey.extension&amp;quot;&amp;lt;/code&amp;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;
| &amp;lt;code&amp;gt;attribute=&amp;quot;Failed to assign monitoring configuration for com.astromkey.extension&amp;quot;&amp;lt;/code&amp;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;
| &amp;lt;code&amp;gt;attribute=&amp;quot;Failed to assign monitoring configuration for com.astromkey.extension&amp;quot;&amp;lt;/code&amp;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;
| &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; || &amp;lt;code&amp;gt;matchesPhrase(attribute, &amp;quot;Austria&amp;quot;)&amp;lt;/code&amp;gt; || Применимый || Функция обрабатывает атрибуты с несколькими значениями в режиме &amp;quot;любое совпадение&amp;quot;, в данном случае &amp;lt;code&amp;gt;Austria&amp;lt;/code&amp;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; || &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;
== &amp;lt;code&amp;gt;matchesValue&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Функция выполняет поиск в записях определенного значения в заданном атрибуте. Возвращает только совпадающие записи. Она нечувствительна к регистру символов &amp;#039;&amp;#039;&amp;#039;ASCII&amp;#039;&amp;#039;&amp;#039;, работает с многозначными атрибутами (соответствующими любому из значений) и не поддерживает подстановочные символы в середине значения.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;matchesValue(expression, value [, caseSensitive])&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Параметры&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&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;
| &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; || строка || да || || || Значение, которое следует искать.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;caseSensitive&amp;lt;/code&amp;gt; || логический || нет || false || Этот необязательный параметр (&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;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В этом примере вы добавляете запись фильтра, в которой атрибут &amp;lt;code&amp;gt;process.technology&amp;lt;/code&amp;gt; содержит значение &amp;lt;code&amp;gt;nginx&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;matchesValue(process.technology, &amp;quot;nginx&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Примеры обработки событий с использованием функции DQL &amp;lt;code&amp;gt;matchesValue&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attribute=&amp;quot;Dynatrace&amp;quot;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;dynaTrace&amp;quot;)&amp;lt;/code&amp;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; || &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;
| &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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;*192.168.0.1&amp;quot;)&amp;lt;/code&amp;gt; || Применимый || Значение заканчивается на &amp;lt;code&amp;gt;192.168.0.1&amp;lt;/code&amp;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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;user*&amp;quot;)&amp;lt;/code&amp;gt; || Применимый || Значение начинается с &amp;lt;code&amp;gt;user&amp;lt;/code&amp;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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;*failed to log*&amp;quot;)&amp;lt;/code&amp;gt; || Применимый || Значение содержит строку &amp;lt;code&amp;gt;failed to log&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attribute=&amp;quot;Österreich&amp;quot;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;österreich&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || Регистр нечувствителен только для символов ASCII.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attribute=&amp;quot;Österreich&amp;quot;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;Österreich&amp;quot;)&amp;lt;/code&amp;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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;docker&amp;quot;)&amp;lt;/code&amp;gt; || Применимый || Функция обрабатывает атрибуты с несколькими значениями в режиме &amp;quot;любое совпадение&amp;quot;, в данном случае &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;java&amp;quot;)&amp;lt;/code&amp;gt; || Непригодный || Ни одно из значений не равно строке &amp;lt;code&amp;gt;java&amp;lt;/code&amp;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; || &amp;lt;code&amp;gt;matchesValue(attribute, &amp;quot;java*&amp;quot;)&amp;lt;/code&amp;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;isNotNull&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Проверяет, не является ли значение NULL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;isNotNull(&amp;lt;value&amp;gt;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В этом примере мы фильтруем (выбираем) данные, в которых поле &amp;lt;code&amp;gt;host.name&amp;lt;/code&amp;gt; содержит значение.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;isNotNull(host.name)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! timestamp !! content !! event.type !! host.name&lt;br /&gt;
|-&lt;br /&gt;
| 2022-08-03 11:27:19 || 2022-08-03 09:27:19.836 [QueueProcessor] RemoteReporter... || LOG || HOST-AF-710319&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Примеры обработки событий с использованием функции DQL &amp;lt;code&amp;gt;isNotNull&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;Dynatrace&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(other)&amp;lt;/code&amp;gt; || Непригодный || Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;Dynatrace&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt; || Применимый || Имеет &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; ненулевое значение.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:null}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNotNull(attribute)&amp;lt;/code&amp;gt; || Непригодный || Значение параметра &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; равно нулю.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;isNull&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Проверяет, является ли значение NULL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Синтаксис&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;isNull(&amp;lt;value&amp;gt;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В этом примере мы фильтруем (выбираем) данные, в которых поле &amp;lt;code&amp;gt;host.name&amp;lt;/code&amp;gt; не содержит значения.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;filter isNull(host.name)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! timestamp !! content !! event.type !! host.name&lt;br /&gt;
|-&lt;br /&gt;
| 2022-08-03 12:53:26 || 2022-08-03T10:52:31Z localhost haproxy[12529]: 192.168.19.100:38440 || LOG ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Примеры обработки событий с использованием функции DQL &amp;lt;code&amp;gt;isNull&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;Dynatrace&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(other)&amp;lt;/code&amp;gt; || Применимый || Атрибут &amp;lt;code&amp;gt;other&amp;lt;/code&amp;gt; не существует.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;Dynatrace&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt; || Непригодный || Имеет &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; ненулевое значение.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:null}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;isNull(attribute)&amp;lt;/code&amp;gt; || Применимый || Значение параметра &amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; равно нулю.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Операторы =&lt;br /&gt;
&lt;br /&gt;
Логические операторы можно использовать для соединения двух или более выражений. Подробнее о поведении логических операторов в &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; можно узнать в разделе «Логические операторы или операторы равенства».&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;OR&amp;lt;/code&amp;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;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;expression_1&amp;gt; or &amp;lt;expression_2&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В этом примере вы добавляете сопоставитель для фильтрации записей, содержимое которых содержит либо фразу &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt;, либо выражение &amp;lt;code&amp;gt;trigger&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&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;
== &amp;lt;code&amp;gt;AND&amp;lt;/code&amp;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;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;expression_1&amp;gt; and &amp;lt;expression_2&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В этом примере вы добавляете сопоставитель для фильтрации записей, содержимое которых содержит слова «фраза» &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt; и «фраза» &amp;lt;code&amp;gt;trigger&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&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;
== &amp;lt;code&amp;gt;NOT&amp;lt;/code&amp;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;&lt;br /&gt;
&amp;lt;pre&amp;gt;not &amp;lt;expression&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В этом примере вы добавляете сопоставитель для фильтрации записей, содержимое которых не содержит фразу &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&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;
== Строгое равенство (&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt;) ==&lt;br /&gt;
&lt;br /&gt;
Логический оператор (&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt;) указывает на точное совпадение.&lt;br /&gt;
&lt;br /&gt;
* Типы данных должны быть идентичными. Однако, если десятичное значение равно 0, числа с плавающей запятой можно сравнивать с целыми числами. Например, &amp;lt;code&amp;gt;1 == 1.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Для строк поиск чувствителен к регистру.&lt;br /&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;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;expression1&amp;gt; == &amp;lt;expression2&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Примеры использования оператора строгого равенства ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Часть входного события !! Обработка запроса !! Результат совпадения !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;Dynatrace&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &amp;quot;Dynatrace&amp;quot;&amp;lt;/code&amp;gt; || Применимый || Атрибут имеет строковый тип и одинаковое значение.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;Dynatrace&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == &amp;quot;dynatrace&amp;quot;&amp;lt;/code&amp;gt; || Непригодный || Строгое равенство чувствительно к регистру.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt; || Непригодный || Атрибуты имеют различные типы данных.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:&amp;quot;1.0&amp;quot;}&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;attribute == 1&amp;lt;/code&amp;gt; || Применимый || Числа с плавающей запятой можно сравнивать с целыми числами, если их десятичная часть равна 0.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;{&amp;quot;attribute&amp;quot;:[&amp;quot;Java&amp;quot;, &amp;quot;DOCKER&amp;quot;, &amp;quot;k8s&amp;quot;]}&amp;lt;/code&amp;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;
Условную группировку можно создать с помощью скобок &amp;lt;code&amp;gt;( )&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&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;
&lt;br /&gt;
Все выражения сопоставления, используемые в событиях логирования, метриках, обработке или конфигурациях сегментов, являются допустимыми &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;-выражениями. Это означает, что вы также можете использовать эти выражения вместе с командой &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;-фильтра, например, в средстве просмотра логов.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>