<?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%9F%D1%80%D0%B8%D0%B5%D0%BC_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2_OpenTelemetry</id>
	<title>Прием логов OpenTelemetry - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%B8%D0%B5%D0%BC_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2_OpenTelemetry"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%B5%D0%BC_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2_OpenTelemetry&amp;action=history"/>
	<updated>2026-05-02T13:06:58Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%B5%D0%BC_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2_OpenTelemetry&amp;diff=5650&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «При приеме логов '''OpenTelemetry''' применяются следующие правила преобразования и ограничения...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%B5%D0%BC_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2_OpenTelemetry&amp;diff=5650&amp;oldid=prev"/>
		<updated>2025-09-08T21:59:17Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «При приеме логов &amp;#039;&amp;#039;&amp;#039;OpenTelemetry&amp;#039;&amp;#039;&amp;#039; применяются следующие правила преобразования и ограничения...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;При приеме логов '''OpenTelemetry''' применяются следующие правила преобразования и ограничения приема.&lt;br /&gt;
&lt;br /&gt;
== Типы данных ==&lt;br /&gt;
Ключ-АСТРОМ поддерживает тип данных '''OpenTelemetry''' по умолчанию &amp;lt;code&amp;gt;Any&amp;lt;/code&amp;gt; для приема данных, который может принимать любое из следующих значений:&lt;br /&gt;
&lt;br /&gt;
* Скалярные значения (строки, числа, логические значения)&lt;br /&gt;
* Массивы &amp;lt;code&amp;gt;Any&amp;lt;/code&amp;gt;&lt;br /&gt;
* Байтовые массивы&lt;br /&gt;
* Сопоставления со строковыми ключами и значениями &amp;lt;code&amp;gt;Any&amp;lt;/code&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;
|-&lt;br /&gt;
|String&lt;br /&gt;
|&amp;quot;hello world&amp;quot;&lt;br /&gt;
|&amp;quot;hello world&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Number&lt;br /&gt;
|1234&lt;br /&gt;
|1234&lt;br /&gt;
|-&lt;br /&gt;
|Boolean&lt;br /&gt;
|false&lt;br /&gt;
|&amp;quot;false&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Массив байтов ===&lt;br /&gt;
Массив байтов принимается как строка, закодированная в формате '''Base64'''. Например, следующий массив:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|[0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64]&lt;br /&gt;
|}&lt;br /&gt;
преобразуется и принимактся как &amp;lt;code&amp;gt;aGVsbG8gd29yZA==&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Множество ===&lt;br /&gt;
Массив &amp;lt;code&amp;gt;Any&amp;lt;/code&amp;gt; принимается как есть, но каждое значение преобразуется следующим образом:&lt;br /&gt;
&lt;br /&gt;
* Скалярные значения усваиваются в их строковом представлении (см. скалярное значение (выше)).&lt;br /&gt;
* Массивы байтов обрабатываются как строки '''Base64''' (см. массив байтов (выше)).&lt;br /&gt;
* Массивы &amp;lt;code&amp;gt;Any&amp;lt;/code&amp;gt; и карты обрабатываются как строки, сериализованные в формате '''JSON''' (до пяти уровней).&lt;br /&gt;
&lt;br /&gt;
=== Карта ===&lt;br /&gt;
Карты загружаются путем рекурсивного извлечения их ключей и сохранения значений в виде отдельных атрибутов с именами, отражающими их положение в иерархии карт и имеющими префикс в виде имени карты.&lt;br /&gt;
&lt;br /&gt;
Например, эта карта атрибутов &amp;lt;code&amp;gt;planet&amp;lt;/code&amp;gt;:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|{&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;earth&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;system&amp;quot; : {&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;solar&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;galaxy&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;milky way&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;group&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|}&lt;br /&gt;
это можно свести к четырем атрибутам:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;quot;planet.name&amp;quot;: &amp;quot;earth&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;planet.system.name&amp;quot;: &amp;quot;solar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;planet.system.galaxy.name&amp;quot;: &amp;quot;milky way&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;planet.system.galaxy.group.name&amp;quot;: &amp;quot;local&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Скалярные значения усваиваются в их строковом представлении (см. скалярное значение (выше)).&lt;br /&gt;
* Массивы байтов обрабатываются как строки '''Base64''' (см. массив байтов (выше)).&lt;br /&gt;
* Массивы &amp;lt;code&amp;gt;Any&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;Timestamp&amp;lt;/code&amp;gt;, его значение автоматически анализируется как дата и время этой записи логов.&lt;br /&gt;
&lt;br /&gt;
Полный список атрибутов и их названий см. в разделе «Поддерживаемые семантические ключи атрибутов» в [[API мониторинг логов - POST прием логов]].&lt;br /&gt;
&lt;br /&gt;
== Прием атрибутов ==&lt;br /&gt;
'''OpenTelemetry''' поддерживает атрибуты на разных уровнях в запросе логов '''OpenTelemetry''', такие как атрибуты ресурсов, атрибуты области действия и атрибуты записи.&lt;br /&gt;
&lt;br /&gt;
Поскольку на стороне Ключ-АСТРОМ атрибуты сохраняются в сжатом виде, могут возникать конфликты имён, если атрибуты на разных уровнях имеют одно и то же имя. Ключ-АСТРОМ решает эту проблему, добавляя к дублирующимся атрибутам префикс &amp;lt;code&amp;gt;overwritten[COUNTER].&amp;lt;/code&amp;gt;. Значение счётчика показывает, сколько раз имя атрибута уже встречалось как дубликат.&lt;br /&gt;
&lt;br /&gt;
Например, если у вас есть три атрибута, все из которых поименованы &amp;lt;code&amp;gt;my.attribute&amp;lt;/code&amp;gt; на уровнях ресурса, области действия и логов:&lt;br /&gt;
&lt;br /&gt;
* атрибут ресурса принимается как &amp;lt;code&amp;gt;my.attribute&amp;lt;/code&amp;gt;&lt;br /&gt;
* атрибут области действия принимается как &amp;lt;code&amp;gt;overwritten1.my.attribute&amp;lt;/code&amp;gt;&lt;br /&gt;
* атрибут логов принимается как &amp;lt;code&amp;gt;overwritten2.my.attribute&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ограничения в приеме ==&lt;br /&gt;
Информацию об ограничениях, применяемых к принятым запросам логов, их атрибутам и значениям, см. в разделах [[Ограничения по умолчанию для управления логами и аналитики|Ограничения по умолчанию для управления логов и аналитики]] и [[Ограничения по умолчанию для мониторинга логов|Ограничения по умолчанию для мониторинга логов (Logs Classic)]].&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>