<?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%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B4%D0%BA%D0%B8_%D0%B3%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
	<title>Вычисление сводки гистограмм - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B4%D0%BA%D0%B8_%D0%B3%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B4%D0%BA%D0%B8_%D0%B3%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;action=history"/>
	<updated>2026-09-16T16:18:14Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B4%D0%BA%D0%B8_%D0%B3%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;diff=5814&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «{| class=&quot;wikitable&quot; |&lt;u&gt;Принимать гистограммы напрямую&lt;/u&gt;  Начиная с версии &lt;u&gt;Ключ-АСТРОМ 1.300&lt;/u&gt;, при...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B4%D0%BA%D0%B8_%D0%B3%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;diff=5814&amp;oldid=prev"/>
		<updated>2025-10-06T19:52:25Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{| class=&amp;quot;wikitable&amp;quot; |&amp;lt;u&amp;gt;Принимать гистограммы напрямую&amp;lt;/u&amp;gt;  Начиная с версии &amp;lt;u&amp;gt;Ключ-АСТРОМ 1.300&amp;lt;/u&amp;gt;, при...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;u&amp;gt;Принимать гистограммы напрямую&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Начиная с версии &amp;lt;u&amp;gt;Ключ-АСТРОМ 1.300&amp;lt;/u&amp;gt;, приём гистограмм поддерживается напрямую через &amp;#039;&amp;#039;&amp;#039;API OTLP&amp;#039;&amp;#039;&amp;#039;. Следовательно, нет необходимости использовать &amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039; в качестве обходного решения. Ключ-АСТРОМ рекомендует принимать гистограммы напрямую, без дополнительной обработки данных.&lt;br /&gt;
&lt;br /&gt;
В следующем примере конфигурации показано, как использовать &amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039; для вычисления и сбора сводок по сегментам гистограммы, например, общей суммы всех значений в сегменте и их общего количества.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Предустановка ==&lt;br /&gt;
&lt;br /&gt;
*Один из следующих дистрибутивов &amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
**[[Collector Ключ-АСТРОМ|&amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039; Ключ-АСТРОМ]]&lt;br /&gt;
**OpenTelemetry [[Collector Ключ-АСТРОМ|Core]] или [[Collector Ключ-АСТРОМ|Contrib]]&lt;br /&gt;
**Пользовательская версия [[Collector Ключ-АСТРОМ|Builder]]&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;URL-адрес&amp;#039;&amp;#039;&amp;#039; конечной точки &amp;#039;&amp;#039;&amp;#039;API&amp;#039;&amp;#039;&amp;#039; Ключ-АСТРОМ, на которую следует экспортировать данные.&lt;br /&gt;
*Токен &amp;#039;&amp;#039;&amp;#039;API&amp;#039;&amp;#039;&amp;#039; с соответствующей областью доступа (требуется только для &amp;#039;&amp;#039;&amp;#039;SaaS&amp;#039;&amp;#039;&amp;#039; и АктивногоШлюза)&lt;br /&gt;
&lt;br /&gt;
Информацию о настройке &amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039; с использованием указанной ниже конфигурации см. в разделах [[Развертывание Collector|Развертывание коллектора]] и [[Настройка Collector|Конфигурация коллектора]].&lt;br /&gt;
&lt;br /&gt;
== Демо конфигурации ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|receivers:&lt;br /&gt;
&lt;br /&gt;
  otlp:&lt;br /&gt;
&lt;br /&gt;
    protocols:&lt;br /&gt;
&lt;br /&gt;
      grpc:&lt;br /&gt;
&lt;br /&gt;
        endpoint: 0.0.0.0:4317&lt;br /&gt;
&lt;br /&gt;
      http:&lt;br /&gt;
&lt;br /&gt;
        endpoint: 0.0.0.0:4318&lt;br /&gt;
&lt;br /&gt;
processors:&lt;br /&gt;
&lt;br /&gt;
  transform:&lt;br /&gt;
&lt;br /&gt;
    metric_statements:&lt;br /&gt;
&lt;br /&gt;
      - context: metric&lt;br /&gt;
&lt;br /&gt;
        statements:&lt;br /&gt;
&lt;br /&gt;
          # Get count from the histogram. The new metric name will be &amp;lt;histogram_name&amp;gt;_count&lt;br /&gt;
&lt;br /&gt;
          - extract_count_metric(true) where type == METRIC_DATA_TYPE_HISTOGRAM&lt;br /&gt;
&lt;br /&gt;
          # Get sum from the histogram. The new metric name will be &amp;lt;histogram_name&amp;gt;_sum&lt;br /&gt;
&lt;br /&gt;
          - extract_sum_metric(true) where type == METRIC_DATA_TYPE_HISTOGRAM&lt;br /&gt;
&lt;br /&gt;
          # convert the &amp;lt;histogram_name&amp;gt;_sum metrics to gauges.&lt;br /&gt;
&lt;br /&gt;
          - convert_sum_to_gauge() where IsMatch(name, &amp;quot;.*_sum&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  filter:&lt;br /&gt;
&lt;br /&gt;
    metrics:&lt;br /&gt;
&lt;br /&gt;
      metric:&lt;br /&gt;
&lt;br /&gt;
        # Drop metrics of type histogram. The _count and _sum metrics will still be exported.&lt;br /&gt;
&lt;br /&gt;
        - type == METRIC_DATA_TYPE_HISTOGRAM&lt;br /&gt;
&lt;br /&gt;
exporters:&lt;br /&gt;
&lt;br /&gt;
  otlphttp:&lt;br /&gt;
&lt;br /&gt;
    endpoint: ${env:DT_ENDPOINT}&lt;br /&gt;
&lt;br /&gt;
    headers:&lt;br /&gt;
&lt;br /&gt;
      Authorization: &amp;quot;Api-Token ${env:DT_API_TOKEN}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
service:&lt;br /&gt;
&lt;br /&gt;
  pipelines:&lt;br /&gt;
&lt;br /&gt;
    metrics:&lt;br /&gt;
&lt;br /&gt;
      receivers: [otlp]&lt;br /&gt;
&lt;br /&gt;
      processors: [transform,filter]&lt;br /&gt;
&lt;br /&gt;
      exporters: [otlphttp]&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;receivers&amp;lt;/code&amp;gt; мы указываем стандартный приемник &amp;lt;code&amp;gt;otlp&amp;lt;/code&amp;gt; в качестве активного компонента приемника для нашего экземпляра &amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039; и настраиваем его на прием запросов &amp;#039;&amp;#039;&amp;#039;OTLP&amp;#039;&amp;#039;&amp;#039; по &amp;#039;&amp;#039;&amp;#039;gRPC&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Процессоры ===&lt;br /&gt;
В разделе &amp;lt;code&amp;gt;processors&amp;lt;/code&amp;gt; мы настраиваем следующие два экземпляра процессора:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;[https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/processor/transformprocessor transform]&amp;lt;/code&amp;gt;﻿, чтобы вычислить желаемую сумму и количество значений гистограмм:&lt;br /&gt;
** Сначала мы используем функцию &amp;lt;code&amp;gt;[https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.136.0/processor/transformprocessor/README.md#extract_count_metric extract_count_metric]&amp;lt;/code&amp;gt; для вычисления количества значений в каждом блоке гистограммы.﻿&lt;br /&gt;
** Затем мы используем функцию &amp;lt;code&amp;gt;[https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.136.0/processor/transformprocessor/README.md#extract_sum_metric extract_sum_metric]&amp;lt;/code&amp;gt; для вычисления общей суммы всех ее значений и преобразуем ее в калибровку с помощью &amp;lt;code&amp;gt;[https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.136.0/processor/transformprocessor/README.md#convert_sum_to_gauge convert_sum_to_gauge]&amp;lt;/code&amp;gt;.﻿﻿&lt;br /&gt;
* &amp;lt;code&amp;gt;[https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/processor/filterprocessor filter]&amp;lt;/code&amp;gt;﻿, чтобы удалить существующие сегменты гистограммы (на основе &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;) и избежать сообщений об ошибках, связанных с гистограммой.&lt;br /&gt;
&lt;br /&gt;
При такой конфигурации &amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039; удаляет метрики гистограммы и создает вместо них две новые метрики для суммы и количества элементов каждой соответствующей гистограммы.&lt;br /&gt;
&lt;br /&gt;
=== Экспортеры ===&lt;br /&gt;
В разделе &amp;lt;code&amp;gt;exporters&amp;lt;/code&amp;gt; мы указываем [https://github.com/open-telemetry/opentelemetry-collector/tree/v0.136.0/exporter/otlphttpexporter экспортер﻿ &amp;lt;code&amp;gt;otlphttp&amp;lt;/code&amp;gt;] по умолчанию и настраиваем его с помощью &amp;#039;&amp;#039;&amp;#039;URL-адреса&amp;#039;&amp;#039;&amp;#039; нашего &amp;#039;&amp;#039;&amp;#039;API&amp;#039;&amp;#039;&amp;#039; Ключ-АСТРОМ и требуемого токена аутентификации.&lt;br /&gt;
&lt;br /&gt;
Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для &amp;lt;code&amp;gt;endpoint&amp;lt;/code&amp;gt;и &amp;lt;code&amp;gt;Authorization&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;DT_ENDPOINT&amp;lt;/code&amp;gt; содержит базовый &amp;#039;&amp;#039;&amp;#039;URL-адрес&amp;#039;&amp;#039;&amp;#039; конечной точки &amp;#039;&amp;#039;&amp;#039;API&amp;#039;&amp;#039;&amp;#039; Ключ-АСТРОМ (например, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{your-environment-id}.live.dynatrace.com/api/v2/otlp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;DT_API_TOKEN&amp;lt;/code&amp;gt; содержит &amp;#039;&amp;#039;&amp;#039;токен API&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Сервисные контейнеры ===&lt;br /&gt;
В разделе &amp;lt;code&amp;gt;service&amp;lt;/code&amp;gt; мы собираем наши объекты приемника и экспортера в метрический контейнер и включаем два процессора, ссылаясь на них в разделе &amp;lt;code&amp;gt;processors&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>