<?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%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B7%D0%B0%D1%82%D1%80%D0%B0%D1%82_%D0%BD%D0%B0_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8</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%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B7%D0%B0%D1%82%D1%80%D0%B0%D1%82_%D0%BD%D0%B0_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B7%D0%B0%D1%82%D1%80%D0%B0%D1%82_%D0%BD%D0%B0_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8&amp;action=history"/>
	<updated>2026-10-26T19:43:26Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B7%D0%B0%D1%82%D1%80%D0%B0%D1%82_%D0%BD%D0%B0_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8&amp;diff=7072&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: « = Лучшие практики оптимизации затрат на метрики = По мере внедрения открытых стандартов наблюдаемости одним из ключевых преимуществ этого подхода является контроль над тем, какие данные вы отправляете в Ключ-АСТРОМ: какие метрики собираете, как их фил...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B7%D0%B0%D1%82%D1%80%D0%B0%D1%82_%D0%BD%D0%B0_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8&amp;diff=7072&amp;oldid=prev"/>
		<updated>2026-10-13T23:14:24Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « = Лучшие практики оптимизации затрат на метрики = По мере внедрения открытых стандартов наблюдаемости одним из ключевых преимуществ этого подхода является контроль над тем, какие данные вы отправляете в Ключ-АСТРОМ: какие метрики собираете, как их фил...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= Лучшие практики оптимизации затрат на метрики =&lt;br /&gt;
По мере внедрения открытых стандартов наблюдаемости одним из ключевых преимуществ этого подхода является контроль над тем, какие данные вы отправляете в Ключ-АСТРОМ: какие метрики собираете, как их фильтруете и как обогащаете перед экспортом. Однако без осознанной настройки вы можете обнаружить, что загружаете больше данных метрик, чем необходимо. Это добавляет шум и увеличивает затраты. Ключ-АСТРОМ предоставляет мощные инструменты для фильтрации, уточнения и контроля загрузки метрик как на источнике, так и в Ключ-АСТРОМ, чтобы ваши данные оставались действенными, экономичными и соответствовали тому, что вашим командам действительно нужно мониторить. Используйте лучшие практики на этой странице, чтобы понимать, оптимизировать и управлять затратами на метрики. Загрузка метрик — основной драйвер затрат, связанных с метриками (поскольку хранение включено бесплатно в течение первых 15 месяцев, а запросы включены бесплатно). Поэтому эта страница посвящена пониманию и оптимизации затрат на загрузку.&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;
|Именованное числовое измерение, представляющее определённый аспект системы, наблюдаемый во времени.&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;
|Кардинальность&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;
Любое увеличение этих факторов ведёт к более высокому потреблению. Например, метрика, разделённая по измерениям (таким как &amp;lt;code&amp;gt;service&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;status_code&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;region&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;, &amp;#039;&amp;#039;&amp;#039;Дашбордов&amp;#039;&amp;#039;&amp;#039; или &amp;#039;&amp;#039;&amp;#039;Workflows&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== 1. Найдите центры затрат, продукты затрат или источники метрик с высокой кардинальностью ===&lt;br /&gt;
Начните с определения того, какие центры затрат, продукты затрат или источники метрик вносят наибольший вклад в кардинальность ваших метрик. Это помогает определить, какие бизнес-подразделения загружают больше всего метрик, что позволяет нацелить усилия по оптимизации туда, где они дадут наибольший эффект. Выполните следующие запросы &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;, чтобы увидеть разбивку по центрам затрат, продуктам затрат или источникам метрик.&amp;lt;pre&amp;gt;metrics&lt;br /&gt;
| summarize count = count(), by: {dt.metrics.source}&lt;br /&gt;
| sort count desc&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;metrics&lt;br /&gt;
| summarize count = count(), by: {dt.cost.costcenter}&lt;br /&gt;
| sort count desc&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;metrics&lt;br /&gt;
| summarize count = count(), by: {dt.cost.product}&lt;br /&gt;
| sort count desc&amp;lt;/pre&amp;gt;Команда &amp;lt;code&amp;gt;metrics&amp;lt;/code&amp;gt; сканирует максимум 100 000 рядов. Если вы сканируете большой объём данных, результаты этих запросов могут быть усечены, и вы не получите полную картину для вашей среды. Если вы достигли этого лимита, используйте запросы &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;, описанные в разделе «Детализация по ключам метрик», чтобы сузить область запроса, например, сосредоточившись на конкретном источнике метрик. Подробнее о лимитах &amp;lt;code&amp;gt;metrics&amp;lt;/code&amp;gt; см. в разделе «Команды метрик DQL». Если запрос возвращает только значения null, распределение затрат на метрики ещё не настроено. Подробнее см. в разделе «Обеспечение распределения затрат на метрики».&lt;br /&gt;
&lt;br /&gt;
=== 2. Детализация по ключам метрик ===&lt;br /&gt;
Определив атрибуты с высокой кардинальностью, отфильтруйте по ним и изучите отдельные ключи метрик. Следующие примеры &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; показывают, как определить метрики для отфильтрованных центров затрат, продуктов затрат или источников метрик. Эти запросы выявляют, какие конкретные метрики внутри отфильтрованных атрибутов вносят наибольший вклад в кардинальность. Вы также можете использовать эти фильтры, чтобы ограничить объём сканируемых данных, поскольку команда &amp;lt;code&amp;gt;metrics&amp;lt;/code&amp;gt; сканирует максимум 100 000 рядов.&amp;lt;pre&amp;gt;metrics&lt;br /&gt;
| filter dt.metrics.source == &amp;quot;metric_source_name&amp;quot;&lt;br /&gt;
| summarize count = count(), by: {metric.key}&lt;br /&gt;
| sort count desc&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;metrics&lt;br /&gt;
| filter dt.cost.costcenter == &amp;quot;cost_center_name&amp;quot;&lt;br /&gt;
| summarize count = count(), by: {metric.key}&lt;br /&gt;
| sort count desc&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;metrics&lt;br /&gt;
| filter dt.cost.product == &amp;quot;product_name&amp;quot;&lt;br /&gt;
| summarize count = count(), by: {metric.key}&lt;br /&gt;
| sort count desc&amp;lt;/pre&amp;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;
=== 3. Анализ конкретного ключа метрики ===&lt;br /&gt;
После детализации с помощью команды &amp;lt;code&amp;gt;metrics&amp;lt;/code&amp;gt; вы можете использовать команду &amp;lt;code&amp;gt;timeseries&amp;lt;/code&amp;gt;, чтобы получить кардинальность для конкретного ключа.&amp;lt;pre&amp;gt;timeseries count(metric.key, scalar: true)&amp;lt;/pre&amp;gt;Подробнее см. в разделе «Примеры DQL timeseries». В следующем примере показаны результаты этого запроса &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;. Используйте команду &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;timeseries&amp;lt;/code&amp;gt; для просмотра кардинальности для конкретной метрики.&lt;br /&gt;
&lt;br /&gt;
== Понимание загрузки метрик через Коллектор OTel ==&lt;br /&gt;
Если вы загружаете метрики через &amp;#039;&amp;#039;&amp;#039;Коллектор OTel&amp;#039;&amp;#039;&amp;#039;, вы можете использовать следующие советы для более детального анализа загрузки метрик.&lt;br /&gt;
&lt;br /&gt;
=== 1. Используйте метрики самоконтроля Ключ-АСТРОМ ===&lt;br /&gt;
Ключ-АСТРОМ предоставляет встроенные метрики самоконтроля для загрузки метрик &amp;#039;&amp;#039;&amp;#039;OTLP&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;API&amp;#039;&amp;#039;&amp;#039; загрузки, и дают высокоуровневое представление о том, какой объём данных метрик загружается. Их также можно использовать для проверки того, что после применения фильтров на стороне клиента или в &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;
|Количество входящих точек данных OTLP&lt;br /&gt;
|&amp;lt;code&amp;gt;dt.sfm.active_gate.metrics.ingest.otlp.datapoints.received.total&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Количество принятых точек данных&lt;br /&gt;
|&amp;lt;code&amp;gt;dt.sfm.active_gate.metrics.ingest.otlp.datapoints.accepted&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Количество отклонённых точек данных&lt;br /&gt;
|&amp;lt;code&amp;gt;dt.sfm.active_gate.metrics.ingest.otlp.datapoints.rejected&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Количество запросов OTLP&lt;br /&gt;
|&amp;lt;code&amp;gt;dt.sfm.active_gate.rest.request_count&amp;lt;/code&amp;gt;, отфильтрованный по операции POST /otlp/v1/metrics&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;small&amp;gt;1 Эту метрику можно разбить по причине, чтобы понять, почему точки данных были отклонены.&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;2 Один запрос OTLP может содержать несколько точек данных OTLP. Эта метрика может быть недоступна в некоторых средах.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. Используйте внутреннюю телеметрию Коллектора OTel ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Коллектор&amp;#039;&amp;#039;&amp;#039; предоставляет внутреннюю телеметрию, которую можно использовать для понимания того, сколько метрик получено и сколько экспортировано.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;otelcol_receiver_accepted_metric_points&amp;lt;/code&amp;gt;: количество точек данных метрик, полученных &amp;#039;&amp;#039;&amp;#039;Коллектором&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;otelcol_exporter_sent_metric_points&amp;lt;/code&amp;gt;: количество точек данных метрик, экспортированных &amp;#039;&amp;#039;&amp;#039;Коллектором&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Эти метрики доступны только в том случае, если &amp;#039;&amp;#039;&amp;#039;Коллектор OTel&amp;#039;&amp;#039;&amp;#039; настроен на экспорт данных внутренней телеметрии в Ключ-АСТРОМ. Подробнее см. в разделе «Самоконтроль Коллектора OTel».&lt;br /&gt;
&lt;br /&gt;
=== 3. Используйте отладочный экспортёр Коллектора OTel ===&lt;br /&gt;
Чтобы проверить отдельные метрики и их атрибуты, можно использовать отладочный экспортёр &amp;#039;&amp;#039;&amp;#039;Коллектора&amp;#039;&amp;#039;&amp;#039;. Он выводит метрики непосредственно в консоль &amp;#039;&amp;#039;&amp;#039;Коллектора&amp;#039;&amp;#039;&amp;#039; и полезен для диагностики и проверки. В приведённом ниже блоке кода представлен пример, который можно интегрировать в конфигурацию &amp;#039;&amp;#039;&amp;#039;Коллектора&amp;#039;&amp;#039;&amp;#039;.&amp;lt;pre&amp;gt;exporters:&lt;br /&gt;
  debug:&lt;br /&gt;
    verbosity: detailed&lt;br /&gt;
service:&lt;br /&gt;
  pipelines:&lt;br /&gt;
    metrics:&lt;br /&gt;
      receivers: [otlp]&lt;br /&gt;
      processors: [batch]&lt;br /&gt;
      exporters: [debug, otlp_http/astromkey]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Оптимизация затрат при загрузке ==&lt;br /&gt;
Вы можете снизить затраты на загрузку, уменьшив количество загружаемых точек данных метрик. Оптимизацию можно применять на двух уровнях. Оба подхода поддерживают одни и те же ключевые лучшие практики, поэтому ваш выбор сводится к вашим конкретным потребностям и предпочтениям.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;В Ключ-АСТРОМ, с помощью OpenPipeline&amp;#039;&amp;#039;&amp;#039;. Если вы предпочитаете централизованный, унифицированный подход к управлению пайплайном данных, мы рекомендуем &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;На источнике, например с помощью Коллектора OTel&amp;#039;&amp;#039;&amp;#039;. Если ваш вариант использования требует сокращения объёма данных на раннем этапе, до того как они покинут вашу сеть, оптимизация на источнике часто подходит лучше.&lt;br /&gt;
&lt;br /&gt;
=== 1. Отбрасывание метрик ===&lt;br /&gt;
Отбрасывание метрик помогает исключить неиспользуемые данные, такие как метрики, которые вы не использовали в течение последнего года. Хотя правила &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039; оцениваются во время загрузки в кластере Ключ-АСТРОМ, любые метрики, отброшенные этими правилами (или выше по потоку перед загрузкой), не сохраняются и не удерживаются. В результате они не влекут затрат, связанных с тарификацией «Метрики — загрузка и обработка». Отбрасывание записей означает, что они никогда не сохраняются. Следовательно, они не подлежат восстановлению.&lt;br /&gt;
&lt;br /&gt;
==== Отбрасывание метрик в OpenPipeline ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039; позволяет отбрасывать метрики на этапе &amp;#039;&amp;#039;&amp;#039;Обработка&amp;#039;&amp;#039;&amp;#039; с помощью процессора &amp;#039;&amp;#039;&amp;#039;Отбросить запись&amp;#039;&amp;#039;&amp;#039;. Это позволяет отбрасывать метрики по имени, отбрасывать точки данных на основе атрибутов ресурса и отбрасывать точки данных на основе атрибутов точки метрики. Перейдите в &amp;#039;&amp;#039;&amp;#039;Настройки &amp;gt; Обработка и контекстуализация &amp;gt; OpenPipeline &amp;gt; Метрики&amp;#039;&amp;#039;&amp;#039;. Направьте целевые метрики в пайплайн. На этапе &amp;#039;&amp;#039;&amp;#039;Обработка&amp;#039;&amp;#039;&amp;#039; добавьте процессор &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;
* Отбрасывать метрики с определёнными атрибутами.&lt;br /&gt;
&amp;lt;pre&amp;gt;matchesValue(environment, &amp;quot;dev&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Отбрасывать все метрики с определёнными атрибутами для конкретных ключей метрик.&lt;br /&gt;
&amp;lt;pre&amp;gt;matchesValue(environment, &amp;quot;dev&amp;quot;) AND matchesValue(metric.key, &amp;quot;my.metric.key&amp;quot;)&amp;lt;/pre&amp;gt;Процессор &amp;#039;&amp;#039;&amp;#039;Отбросить запись&amp;#039;&amp;#039;&amp;#039; выполняется для всех совпадений. Каждая запись метрики, соответствующая запросу, отбрасывается и никогда не записывается в хранилище.&lt;br /&gt;
&lt;br /&gt;
==== Отбрасывание метрик на источнике ====&lt;br /&gt;
Отбрасывание метрик в &amp;#039;&amp;#039;&amp;#039;Коллекторе OTel&amp;#039;&amp;#039;&amp;#039; предотвращает загрузку определённых временных рядов или точек данных. Вы можете отбрасывать метрики на разных этапах процесса загрузки: у производителя данных. Как правило, чем ближе к клиенту вы отбрасываете данные, тем ниже общие затраты. Однако:&lt;br /&gt;
&lt;br /&gt;
* В зависимости от вашей настройки отбрасывание данных на источнике может быть сложным в конфигурации.&lt;br /&gt;
* Поскольку не существует стандартизированного способа фильтрации метрик среди разнородных производителей данных &amp;#039;&amp;#039;&amp;#039;OTLP&amp;#039;&amp;#039;&amp;#039;, этот подход не всегда может быть практичным.&lt;br /&gt;
&lt;br /&gt;
В &amp;#039;&amp;#039;&amp;#039;SDK OTel&amp;#039;&amp;#039;&amp;#039;. В &amp;#039;&amp;#039;&amp;#039;SDK OTel&amp;#039;&amp;#039;&amp;#039; концепция, используемая для отбрасывания метрик, называется &amp;#039;&amp;#039;&amp;#039;View&amp;#039;&amp;#039;&amp;#039;. При создании пользовательских метрик всегда учитывайте кардинальность метрик и избегайте использования волатильных измерений (например, временных меток или других атрибутов, которые быстро меняются со временем).&lt;br /&gt;
&lt;br /&gt;
В &amp;#039;&amp;#039;&amp;#039;Коллекторе OTel&amp;#039;&amp;#039;&amp;#039;. Вы можете настроить пайплайн &amp;#039;&amp;#039;&amp;#039;Коллектора&amp;#039;&amp;#039;&amp;#039; для отбрасывания метрик или отдельных точек данных. Процессор &amp;#039;&amp;#039;&amp;#039;filter&amp;#039;&amp;#039;&amp;#039; позволяет отбрасывать метрики по имени, отбрасывать точки данных на основе атрибутов ресурса и отбрасывать точки данных на основе атрибутов точки метрики. Примеры использования процессора &amp;#039;&amp;#039;&amp;#039;filter&amp;#039;&amp;#039;&amp;#039; показаны в блоке кода ниже.&amp;lt;pre&amp;gt;processors:&lt;br /&gt;
  filter/drop-unwanted:&lt;br /&gt;
    error_mode: ignore&lt;br /&gt;
    metrics:&lt;br /&gt;
      metric:&lt;br /&gt;
        # Отбросить метрики, соответствующие этим именам&lt;br /&gt;
        - &amp;#039;IsMatch(name, &amp;quot;my.metric.key&amp;quot;)&amp;#039;&lt;br /&gt;
      datapoint:&lt;br /&gt;
        # Отбросить точки данных с определёнными атрибутами&lt;br /&gt;
        - &amp;#039;attributes[&amp;quot;environment&amp;quot;] == &amp;quot;dev&amp;quot;&amp;#039;&lt;br /&gt;
        # Или отбросить точки данных с определёнными атрибутами только для конкретных имён метрик.&lt;br /&gt;
        - attributes[&amp;quot;environment&amp;quot;] == &amp;quot;dev&amp;quot; and metric.name == &amp;quot;my.metric.key&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. Снижение кардинальности метрик ===&lt;br /&gt;
Измерения с высокой кардинальностью, такие как ID пользователей или ID запросов, значительно увеличивают требования к хранению метрик. Удаление измерения с высокой кардинальностью уменьшает количество хранимых временных рядов и может снизить затраты. Поддержание измерений значимыми и ограниченными критически важно для управления затратами и производительностью.&lt;br /&gt;
&lt;br /&gt;
==== Снижение кардинальности в OpenPipeline ====&lt;br /&gt;
При обработке метрик в &amp;#039;&amp;#039;&amp;#039;OpenPipeline&amp;#039;&amp;#039;&amp;#039; измерения метрик хранятся как поля записи. Когда вы удаляете поле из записи, это измерение не загружается для данной метрики. Хотя это сохраняет сводные данные на уровне метрик и сводные данные по оставшимся измерениям, это удаляет данные по каждому значению для удалённого измерения. Вы можете использовать либо процессор &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;
Чтобы использовать процессор &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* Перейдите в &amp;#039;&amp;#039;&amp;#039;Настройки &amp;gt; Обработка и контекстуализация &amp;gt; OpenPipeline &amp;gt; Метрики&amp;#039;&amp;#039;&amp;#039;.&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;
* Для &amp;#039;&amp;#039;&amp;#039;Условия сопоставления&amp;#039;&amp;#039;&amp;#039; установите сопоставление, нацеленное на соответствующие метрики.&lt;br /&gt;
&amp;lt;pre&amp;gt;metric.key == &amp;quot;my.high.cardinality.metric&amp;quot;&amp;lt;/pre&amp;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;user.id&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;request.id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;fieldsRemove user.id, request.id&amp;lt;/pre&amp;gt;Чтобы использовать процессор &amp;#039;&amp;#039;&amp;#039;Удалить поля&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* Перейдите в &amp;#039;&amp;#039;&amp;#039;Настройки &amp;gt; Обработка и контекстуализация &amp;gt; OpenPipeline &amp;gt; Метрики&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Направьте целевые метрики в пайплайн.&lt;br /&gt;
* На этапе &amp;#039;&amp;#039;&amp;#039;Обработка&amp;#039;&amp;#039;&amp;#039; добавьте процессор &amp;#039;&amp;#039;&amp;#039;Удалить поля&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Для &amp;#039;&amp;#039;&amp;#039;Условия сопоставления&amp;#039;&amp;#039;&amp;#039; установите сопоставление, нацеленное на соответствующие метрики.&lt;br /&gt;
&amp;lt;pre&amp;gt;metric.key == &amp;quot;my.high.cardinality.metric&amp;quot;&amp;lt;/pre&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;user.id&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;request.id&amp;lt;/code&amp;gt;. Затем выберите &amp;#039;&amp;#039;&amp;#039;Добавить&amp;#039;&amp;#039;&amp;#039;, чтобы добавить поле. Можно добавить несколько полей в один процессор.&lt;br /&gt;
&lt;br /&gt;
==== Снижение кардинальности на источнике ====&lt;br /&gt;
Вы можете использовать &amp;#039;&amp;#039;&amp;#039;Коллектор OTel&amp;#039;&amp;#039;&amp;#039; для удаления нежелательных атрибутов из метрик перед загрузкой. Для этого используйте процессор &amp;#039;&amp;#039;&amp;#039;transform&amp;#039;&amp;#039;&amp;#039;, чтобы удалить атрибуты с высокой кардинальностью, такие как &amp;lt;code&amp;gt;user.id&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;request.id&amp;lt;/code&amp;gt;, на уровне точки данных. Вы можете интегрировать следующий пример кода в конфигурацию &amp;#039;&amp;#039;&amp;#039;Коллектора&amp;#039;&amp;#039;&amp;#039;.&amp;lt;pre&amp;gt;processors:&lt;br /&gt;
  transform:&lt;br /&gt;
    metric_statements:&lt;br /&gt;
      - context: datapoint&lt;br /&gt;
        statements:&lt;br /&gt;
          - delete_key(attributes, &amp;quot;user.id&amp;quot;)&lt;br /&gt;
          - delete_key(attributes, &amp;quot;request.id&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Установите разумные интервалы загрузки ===&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;
=== 1. Непрерывно проверяйте загрузку метрик ===&lt;br /&gt;
Чтобы обеспечить надёжные, экономичные и стабильные данные наблюдаемости, непрерывно проверяйте кардинальность и интервалы загрузки в рамках ваших процессов CI/CD (SDLC). Изменения в инструментировании или конфигурации могут непреднамеренно привести к чрезмерной кардинальности, слишком частому сбору метрик или сдвигам в поведении данных. Всё это может увеличить затраты на загрузку. Вы можете использовать Ключ-АСТРОМ для автоматизации этих проверок. Проверяйте запросы &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; через &amp;#039;&amp;#039;&amp;#039;Site Reliability Guardian (SRG)&amp;#039;&amp;#039;&amp;#039;, интегрированный в рабочие процессы разработки, что помогает обнаруживать аномалии данных на раннем этапе. Оценки &amp;#039;&amp;#039;&amp;#039;SRG&amp;#039;&amp;#039;&amp;#039; могут предупреждать, когда новый код или изменения конфигурации изменяют кардинальность, интервалы сбора или другие аспекты профиля телеметрии. Подробнее см. в разделе «Site Reliability Guardian». Непрерывная проверка создаёт проактивную обратную связь: команды могут исправить инструментирование или скорректировать конфигурацию &amp;#039;&amp;#039;&amp;#039;OpenTelemetry&amp;#039;&amp;#039;&amp;#039; до того, как изменения попадут в производственную среду.&lt;br /&gt;
&lt;br /&gt;
=== 2. Обеспечьте распределение затрат на метрики ===&lt;br /&gt;
Вы можете распределить затраты на загрузку метрик по конкретным центрам затрат или продуктам. Для этого обогатите загрузку метрик атрибутами распределения затрат (&amp;lt;code&amp;gt;dt.cost.costcenter&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;dt.cost.product&amp;lt;/code&amp;gt;) в качестве метаданных. Подробнее см. в разделе «Настройка распределения затрат».&lt;br /&gt;
&lt;br /&gt;
=== 3. Проверьте бизнес-ценность загрузки метрик ===&lt;br /&gt;
Проверьте бизнес-ценность каждой метрики перед загрузкой. Оставьте только метрики, которые поддерживают определённые варианты использования, чтобы минимизировать объём точек данных и снизить затраты.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>