<?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%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_Kubernetes</id>
	<title>Мониторинг Kubernetes - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_Kubernetes"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_Kubernetes&amp;action=history"/>
	<updated>2026-05-11T10:19:26Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_Kubernetes&amp;diff=6328&amp;oldid=prev</id>
		<title>IKuznetsov в 22:27, 13 апреля 2026</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_Kubernetes&amp;diff=6328&amp;oldid=prev"/>
		<updated>2026-04-13T22:27:58Z</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;Версия 22:27, 13 апреля 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-l5&quot;&gt;Строка 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 5:&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;u&amp;gt;Ключ-АСТРОМ Operator&amp;lt;/u&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;u&amp;gt;Ключ-АСТРОМ Operator&amp;lt;/u&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;br/&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;br/&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;Ключ-АСТРОМ рекомендует использовать '''Operator''' для мониторинга '''Kubernetes'''. Однако этот вариант использования разработан специально для пользователей '''OpenTelemetry''', которые решили не развертывать '''Operator'''. Он использует только данные '''OpenTelemetry''', которые не интегрированы в приложение Ключ-АСТРОМ '''Kubernetes'''. Несмотря на это, Ключ-АСТРОМ предоставляет готовые панели мониторинга '''Kubernetes''' и позволяет пользователям создавать собственные дашборды &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;и блокноты &lt;/del&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;Ключ-АСТРОМ рекомендует использовать '''Operator''' для мониторинга '''Kubernetes'''. Однако этот вариант использования разработан специально для пользователей '''OpenTelemetry''', которые решили не развертывать '''Operator'''. Он использует только данные '''OpenTelemetry''', которые не интегрированы в приложение Ключ-АСТРОМ '''Kubernetes'''. Несмотря на это, Ключ-АСТРОМ предоставляет готовые панели мониторинга '''Kubernetes''' и позволяет пользователям создавать собственные дашборды на основе собранных данных телеметрии.&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;br/&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;br/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key ka_db:diff::1.12:old-5820:rev-6328 --&gt;
&lt;/table&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_Kubernetes&amp;diff=5820&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «'''Collector''' '''OpenTelemetry''' обеспечивает расширенную поддержку мониторинга кластера и рабочей...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_Kubernetes&amp;diff=5820&amp;oldid=prev"/>
		<updated>2025-10-06T20:56:10Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&amp;#039;&amp;#039;&amp;#039;Collector&amp;#039;&amp;#039;&amp;#039; &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;'''Collector''' '''OpenTelemetry''' обеспечивает расширенную поддержку мониторинга кластера и рабочей нагрузки '''Kubernetes'''. Он поддерживает различные приёмники для сбора критически важных метрик о кластере, узлах и объектах '''Kubernetes'''.&lt;br /&gt;
&lt;br /&gt;
В этом примере использования объясняется, как настроить коллекторы '''OpenTelemetry''' для получения полного обзора кластеров '''Kubernetes''' с помощью готовых панелей мониторинга, предоставляемых приложением Ключ-АСТРОМ '''OpenTelemetry''' '''Dashboards'''.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;u&amp;gt;Ключ-АСТРОМ Operator&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ключ-АСТРОМ рекомендует использовать '''Operator''' для мониторинга '''Kubernetes'''. Однако этот вариант использования разработан специально для пользователей '''OpenTelemetry''', которые решили не развертывать '''Operator'''. Он использует только данные '''OpenTelemetry''', которые не интегрированы в приложение Ключ-АСТРОМ '''Kubernetes'''. Несмотря на это, Ключ-АСТРОМ предоставляет готовые панели мониторинга '''Kubernetes''' и позволяет пользователям создавать собственные дашборды и блокноты на основе собранных данных телеметрии.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Предпосылки ==&lt;br /&gt;
&lt;br /&gt;
* Один из следующих дистрибутивов '''Collector''' с приемниками [https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/receiver/k8sclusterreceiver Kubernetes Cluster]﻿, [https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/receiver/k8seventsreceiver Kubernetes Events]﻿ и [https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/receiver/kubeletstatsreceiver Kubelet Stats]﻿ :&lt;br /&gt;
** [[Collector Ключ-АСТРОМ|'''Collector''' Ключ-АСТРОМ]]&lt;br /&gt;
** [[Collector Ключ-АСТРОМ|OpenTelemetry Collector Contrib]]&lt;br /&gt;
** Пользовательская версия [[Collector Ключ-АСТРОМ|Builder]]&lt;br /&gt;
* Два развертывания '''Collector'''&lt;br /&gt;
*# Один в режиме '''агента''' для телеметрии на уровне рабочей нагрузки&lt;br /&gt;
*# Один в режиме '''шлюза''' для телеметрии на уровне кластера и пересылки в Ключ-АСТРОМ&lt;br /&gt;
* '''URL-адрес''' '''API''' вашей среды Ключ-АСТРОМ&lt;br /&gt;
* '''API-токен''' с соответствующей областью доступа&lt;br /&gt;
* '''Kubernetes''' настроен на требуемый контроль доступа на основе ролей&lt;br /&gt;
&lt;br /&gt;
Инструкции по настройке с использованием представленных ниже конфигураций см . в разделах [[Развертывание Collector|Развертывание]] и [[Настройка Collector|Конфигурация коллектора]].&lt;br /&gt;
&lt;br /&gt;
== Демонстрационные конфигурации ==&lt;br /&gt;
&lt;br /&gt;
=== Конфигурация RBAC ===&lt;br /&gt;
Настройте следующий файл &amp;lt;code&amp;gt;rbac.yaml&amp;lt;/code&amp;gt; с вашим экземпляром '''Kubernetes''', чтобы разрешить сборщику использовать '''API''' '''Kubernetes''' с типом аутентификации учетной записи службы.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|apiVersion: v1&lt;br /&gt;
&lt;br /&gt;
kind: ServiceAccount&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  labels:&lt;br /&gt;
&lt;br /&gt;
    app: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
  name: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
apiVersion: rbac.authorization.k8s.io/v1&lt;br /&gt;
&lt;br /&gt;
kind: ClusterRole&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  name: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
  labels:&lt;br /&gt;
&lt;br /&gt;
    app: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
rules:&lt;br /&gt;
&lt;br /&gt;
  - apiGroups:&lt;br /&gt;
&lt;br /&gt;
      - &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    resources:&lt;br /&gt;
&lt;br /&gt;
      - events&lt;br /&gt;
&lt;br /&gt;
      - namespaces&lt;br /&gt;
&lt;br /&gt;
      - namespaces/status&lt;br /&gt;
&lt;br /&gt;
      - nodes&lt;br /&gt;
&lt;br /&gt;
      - nodes/spec&lt;br /&gt;
&lt;br /&gt;
      - nodes/stats&lt;br /&gt;
&lt;br /&gt;
      - nodes/proxy&lt;br /&gt;
&lt;br /&gt;
      - persistentvolumes&lt;br /&gt;
&lt;br /&gt;
      - persistentvolumeclaims&lt;br /&gt;
&lt;br /&gt;
      - pods&lt;br /&gt;
&lt;br /&gt;
      - pods/status&lt;br /&gt;
&lt;br /&gt;
      - replicationcontrollers&lt;br /&gt;
&lt;br /&gt;
      - replicationcontrollers/status&lt;br /&gt;
&lt;br /&gt;
      - resourcequotas&lt;br /&gt;
&lt;br /&gt;
      - services&lt;br /&gt;
&lt;br /&gt;
    verbs:&lt;br /&gt;
&lt;br /&gt;
      - get&lt;br /&gt;
&lt;br /&gt;
      - list&lt;br /&gt;
&lt;br /&gt;
      - watch&lt;br /&gt;
&lt;br /&gt;
  - apiGroups:&lt;br /&gt;
&lt;br /&gt;
      - apps&lt;br /&gt;
&lt;br /&gt;
    resources:&lt;br /&gt;
&lt;br /&gt;
      - daemonsets&lt;br /&gt;
&lt;br /&gt;
      - deployments&lt;br /&gt;
&lt;br /&gt;
      - replicasets&lt;br /&gt;
&lt;br /&gt;
      - statefulsets&lt;br /&gt;
&lt;br /&gt;
    verbs:&lt;br /&gt;
&lt;br /&gt;
      - get&lt;br /&gt;
&lt;br /&gt;
      - list&lt;br /&gt;
&lt;br /&gt;
      - watch&lt;br /&gt;
&lt;br /&gt;
  - apiGroups:&lt;br /&gt;
&lt;br /&gt;
      - batch&lt;br /&gt;
&lt;br /&gt;
    resources:&lt;br /&gt;
&lt;br /&gt;
      - jobs&lt;br /&gt;
&lt;br /&gt;
      - cronjobs&lt;br /&gt;
&lt;br /&gt;
    verbs:&lt;br /&gt;
&lt;br /&gt;
      - get&lt;br /&gt;
&lt;br /&gt;
      - list&lt;br /&gt;
&lt;br /&gt;
      - watch&lt;br /&gt;
&lt;br /&gt;
  - apiGroups:&lt;br /&gt;
&lt;br /&gt;
      - autoscaling&lt;br /&gt;
&lt;br /&gt;
    resources:&lt;br /&gt;
&lt;br /&gt;
      - horizontalpodautoscalers&lt;br /&gt;
&lt;br /&gt;
    verbs:&lt;br /&gt;
&lt;br /&gt;
      - get&lt;br /&gt;
&lt;br /&gt;
      - list&lt;br /&gt;
&lt;br /&gt;
      - watch&lt;br /&gt;
&lt;br /&gt;
  - apiGroups:&lt;br /&gt;
&lt;br /&gt;
      - coordination.k8s.io&lt;br /&gt;
&lt;br /&gt;
    resources:&lt;br /&gt;
&lt;br /&gt;
      - leases&lt;br /&gt;
&lt;br /&gt;
    verbs:&lt;br /&gt;
&lt;br /&gt;
      - get&lt;br /&gt;
&lt;br /&gt;
      - list&lt;br /&gt;
&lt;br /&gt;
      - watch&lt;br /&gt;
&lt;br /&gt;
      - create&lt;br /&gt;
&lt;br /&gt;
      - update&lt;br /&gt;
&lt;br /&gt;
      - patch&lt;br /&gt;
&lt;br /&gt;
      - delete&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
apiVersion: rbac.authorization.k8s.io/v1&lt;br /&gt;
&lt;br /&gt;
kind: ClusterRoleBinding&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  name: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
  labels:&lt;br /&gt;
&lt;br /&gt;
    app: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
roleRef:&lt;br /&gt;
&lt;br /&gt;
  apiGroup: rbac.authorization.k8s.io&lt;br /&gt;
&lt;br /&gt;
  kind: ClusterRole&lt;br /&gt;
&lt;br /&gt;
  name: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
subjects:&lt;br /&gt;
&lt;br /&gt;
  - kind: ServiceAccount&lt;br /&gt;
&lt;br /&gt;
    name: otelcol-dt&lt;br /&gt;
&lt;br /&gt;
    namespace: default&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Конфигурация Collector ===&lt;br /&gt;
&amp;lt;u&amp;gt;Учетная запись службы&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Помимо конфигурации '''Collector''', обязательно обновите конфигурацию '''Kubernetes''', чтобы она соответствовала имени учетной записи службы, используемому в '''файле''' '''RBAC''' (см. записи для [https://github.com/open-telemetry/opentelemetry-helm-charts/blob/opentelemetry-collector-0.127.2/charts/opentelemetry-collector/values.yaml#L245-L252 Helm]﻿ и [https://github.com/open-telemetry/opentelemetry-operator/blob/v0.136.0/docs/api/opentelemetrycollectors.md#opentelemetrycollectorspec Operator]﻿).&lt;br /&gt;
&lt;br /&gt;
==== Развертывание агента ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|extensions:&lt;br /&gt;
&lt;br /&gt;
  health_check:&lt;br /&gt;
&lt;br /&gt;
    endpoint: 0.0.0.0:13133&lt;br /&gt;
&lt;br /&gt;
receivers:&lt;br /&gt;
&lt;br /&gt;
  kubeletstats:&lt;br /&gt;
&lt;br /&gt;
    auth_type: &amp;quot;serviceAccount&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    collection_interval: 10s&lt;br /&gt;
&lt;br /&gt;
    node: '${env:K8S_NODE_NAME}'&lt;br /&gt;
&lt;br /&gt;
    extra_metadata_labels:&lt;br /&gt;
&lt;br /&gt;
      - k8s.volume.type&lt;br /&gt;
&lt;br /&gt;
    k8s_api_config:&lt;br /&gt;
&lt;br /&gt;
      auth_type: &amp;quot;serviceAccount&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    endpoint: &amp;quot;&amp;lt;nowiki&amp;gt;https://${env:K8S_NODE_NAME}:10250&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    insecure_skip_verify: true&lt;br /&gt;
&lt;br /&gt;
    metric_groups:&lt;br /&gt;
&lt;br /&gt;
      - node&lt;br /&gt;
&lt;br /&gt;
      - pod&lt;br /&gt;
&lt;br /&gt;
      - container&lt;br /&gt;
&lt;br /&gt;
      - volume&lt;br /&gt;
&lt;br /&gt;
processors:&lt;br /&gt;
&lt;br /&gt;
  filter:&lt;br /&gt;
&lt;br /&gt;
    error_mode: ignore&lt;br /&gt;
&lt;br /&gt;
    metrics:&lt;br /&gt;
&lt;br /&gt;
      metric:&lt;br /&gt;
&lt;br /&gt;
          - 'IsMatch(name, &amp;quot;k8s.volume.*&amp;quot;) and resource.attributes[&amp;quot;k8s.volume.type&amp;quot;] == nil'&lt;br /&gt;
&lt;br /&gt;
          - 'resource.attributes[&amp;quot;k8s.volume.type&amp;quot;] == &amp;quot;configMap&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
          - 'resource.attributes[&amp;quot;k8s.volume.type&amp;quot;] == &amp;quot;emptyDir&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
          - 'resource.attributes[&amp;quot;k8s.volume.type&amp;quot;] == &amp;quot;secret&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
  k8sattributes:&lt;br /&gt;
&lt;br /&gt;
    filter:&lt;br /&gt;
&lt;br /&gt;
      node_from_env_var: K8S_NODE_NAME&lt;br /&gt;
&lt;br /&gt;
    extract:&lt;br /&gt;
&lt;br /&gt;
      metadata:&lt;br /&gt;
&lt;br /&gt;
        - k8s.pod.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.pod.uid&lt;br /&gt;
&lt;br /&gt;
        - k8s.pod.ip&lt;br /&gt;
&lt;br /&gt;
        - k8s.deployment.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.replicaset.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.statefulset.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.daemonset.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.job.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.cronjob.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.namespace.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.node.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.cluster.uid&lt;br /&gt;
&lt;br /&gt;
        - k8s.container.name&lt;br /&gt;
&lt;br /&gt;
      annotations:&lt;br /&gt;
&lt;br /&gt;
        - from: pod&lt;br /&gt;
&lt;br /&gt;
          key_regex: metadata.astromkey.com/(.*)&lt;br /&gt;
&lt;br /&gt;
          tag_name: $$1&lt;br /&gt;
&lt;br /&gt;
        - from: pod&lt;br /&gt;
&lt;br /&gt;
          key: metadata.astromkey.com&lt;br /&gt;
&lt;br /&gt;
          tag_name: metadata.astromkey.com&lt;br /&gt;
&lt;br /&gt;
    pod_association:&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.pod.name&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.namespace.name&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.pod.ip&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.pod.uid&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: connection&lt;br /&gt;
&lt;br /&gt;
exporters:&lt;br /&gt;
&lt;br /&gt;
  otlp:&lt;br /&gt;
&lt;br /&gt;
    endpoint: otelcolsvc:4317&lt;br /&gt;
&lt;br /&gt;
    tls:&lt;br /&gt;
&lt;br /&gt;
      insecure: true&lt;br /&gt;
&lt;br /&gt;
service:&lt;br /&gt;
&lt;br /&gt;
  extensions:&lt;br /&gt;
&lt;br /&gt;
    - health_check&lt;br /&gt;
&lt;br /&gt;
  pipelines:&lt;br /&gt;
&lt;br /&gt;
    metrics:&lt;br /&gt;
&lt;br /&gt;
      receivers:&lt;br /&gt;
&lt;br /&gt;
        - kubeletstats&lt;br /&gt;
&lt;br /&gt;
      processors:&lt;br /&gt;
&lt;br /&gt;
        - filter&lt;br /&gt;
&lt;br /&gt;
        - k8sattributes&lt;br /&gt;
&lt;br /&gt;
      exporters:&lt;br /&gt;
&lt;br /&gt;
        - otlp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Развертывание шлюза ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|extensions:&lt;br /&gt;
&lt;br /&gt;
  health_check:&lt;br /&gt;
&lt;br /&gt;
    endpoint: 0.0.0.0:13133&lt;br /&gt;
&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;
  k8s_events:&lt;br /&gt;
&lt;br /&gt;
    auth_type: &amp;quot;serviceAccount&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  k8s_cluster:&lt;br /&gt;
&lt;br /&gt;
    auth_type: &amp;quot;serviceAccount&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    collection_interval: 10s&lt;br /&gt;
&lt;br /&gt;
    allocatable_types_to_report:&lt;br /&gt;
&lt;br /&gt;
      - cpu&lt;br /&gt;
&lt;br /&gt;
      - memory&lt;br /&gt;
&lt;br /&gt;
      - pods&lt;br /&gt;
&lt;br /&gt;
    node_conditions_to_report:&lt;br /&gt;
&lt;br /&gt;
      - Ready&lt;br /&gt;
&lt;br /&gt;
      - MemoryPressure&lt;br /&gt;
&lt;br /&gt;
      - PIDPressure&lt;br /&gt;
&lt;br /&gt;
      - DiskPressure&lt;br /&gt;
&lt;br /&gt;
      - NetworkUnavailable&lt;br /&gt;
&lt;br /&gt;
    metrics:&lt;br /&gt;
&lt;br /&gt;
      k8s.node.condition:&lt;br /&gt;
&lt;br /&gt;
        enabled: true&lt;br /&gt;
&lt;br /&gt;
      k8s.pod.status_reason:&lt;br /&gt;
&lt;br /&gt;
        enabled: true&lt;br /&gt;
&lt;br /&gt;
processors:&lt;br /&gt;
&lt;br /&gt;
  k8sattributes:&lt;br /&gt;
&lt;br /&gt;
    filter:&lt;br /&gt;
&lt;br /&gt;
      node_from_env_var: K8S_NODE_NAME&lt;br /&gt;
&lt;br /&gt;
    extract:&lt;br /&gt;
&lt;br /&gt;
      metadata:&lt;br /&gt;
&lt;br /&gt;
        - k8s.pod.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.pod.uid&lt;br /&gt;
&lt;br /&gt;
        - k8s.pod.ip&lt;br /&gt;
&lt;br /&gt;
        - k8s.deployment.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.replicaset.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.statefulset.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.daemonset.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.job.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.cronjob.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.namespace.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.node.name&lt;br /&gt;
&lt;br /&gt;
        - k8s.cluster.uid&lt;br /&gt;
&lt;br /&gt;
        - k8s.container.name&lt;br /&gt;
&lt;br /&gt;
      annotations:&lt;br /&gt;
&lt;br /&gt;
        - from: pod&lt;br /&gt;
&lt;br /&gt;
          key_regex: metadata.astromkey.com/(.*)&lt;br /&gt;
&lt;br /&gt;
          tag_name: $$1&lt;br /&gt;
&lt;br /&gt;
        - from: pod&lt;br /&gt;
&lt;br /&gt;
          key: metadata.astromkey.com&lt;br /&gt;
&lt;br /&gt;
          tag_name: metadata.astromkey.com&lt;br /&gt;
&lt;br /&gt;
    pod_association:&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.pod.name&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.namespace.name&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.pod.ip&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: resource_attribute&lt;br /&gt;
&lt;br /&gt;
            name: k8s.pod.uid&lt;br /&gt;
&lt;br /&gt;
      - sources:&lt;br /&gt;
&lt;br /&gt;
          - from: connection&lt;br /&gt;
&lt;br /&gt;
  transform:&lt;br /&gt;
&lt;br /&gt;
    error_mode: ignore&lt;br /&gt;
&lt;br /&gt;
    trace_statements: &amp;amp;astromkey_transformations&lt;br /&gt;
&lt;br /&gt;
      # Set attributes taken from k8s metadata.&lt;br /&gt;
&lt;br /&gt;
      - context: resource&lt;br /&gt;
&lt;br /&gt;
        statements:&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.cluster.name&amp;quot;], &amp;quot;${env:CLUSTER_NAME}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.kind&amp;quot;], &amp;quot;job&amp;quot;) where IsString(attributes[&amp;quot;k8s.job.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.name&amp;quot;], attributes[&amp;quot;k8s.job.name&amp;quot;]) where IsString(attributes[&amp;quot;k8s.job.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.kind&amp;quot;], &amp;quot;cronjob&amp;quot;) where IsString(attributes[&amp;quot;k8s.cronjob.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.name&amp;quot;], attributes[&amp;quot;k8s.cronjob.name&amp;quot;]) where IsString(attributes[&amp;quot;k8s.cronjob.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.kind&amp;quot;], &amp;quot;daemonset&amp;quot;) where IsString(attributes[&amp;quot;k8s.daemonset.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.name&amp;quot;], attributes[&amp;quot;k8s.daemonset.name&amp;quot;]) where IsString(attributes[&amp;quot;k8s.daemonset.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.kind&amp;quot;], &amp;quot;statefulset&amp;quot;) where IsString(attributes[&amp;quot;k8s.statefulset.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.name&amp;quot;], attributes[&amp;quot;k8s.statefulset.name&amp;quot;]) where IsString(attributes[&amp;quot;k8s.statefulset.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.kind&amp;quot;], &amp;quot;replicaset&amp;quot;) where IsString(attributes[&amp;quot;k8s.replicaset.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.name&amp;quot;], attributes[&amp;quot;k8s.replicaset.name&amp;quot;]) where IsString(attributes[&amp;quot;k8s.replicaset.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.kind&amp;quot;], &amp;quot;deployment&amp;quot;) where IsString(attributes[&amp;quot;k8s.deployment.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.workload.name&amp;quot;], attributes[&amp;quot;k8s.deployment.name&amp;quot;]) where IsString(attributes[&amp;quot;k8s.deployment.name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
          # remove the delete statements if you want to preserve these attributes&lt;br /&gt;
&lt;br /&gt;
          - delete_key(attributes, &amp;quot;k8s.deployment.name&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
          - delete_key(attributes, &amp;quot;k8s.replicaset.name&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
          - delete_key(attributes, &amp;quot;k8s.statefulset.name&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
          - delete_key(attributes, &amp;quot;k8s.daemonset.name&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
          - delete_key(attributes, &amp;quot;k8s.cronjob.name&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
          - delete_key(attributes, &amp;quot;k8s.job.name&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
      # Set attributes from metadata specified in astromkey and set through the astromkey Operator.&lt;br /&gt;
&lt;br /&gt;
      # For more info: &amp;lt;nowiki&amp;gt;https://docs.astromkey.com/docs/shortlink/k8s-metadata-telemetry-enrichment&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      - context: resource&lt;br /&gt;
&lt;br /&gt;
        statements:&lt;br /&gt;
&lt;br /&gt;
          - merge_maps(attributes, ParseJSON(attributes[&amp;quot;metadata.astromkey.com&amp;quot;]), &amp;quot;upsert&amp;quot;) where IsMatch(attributes[&amp;quot;metadata.astromkey.com&amp;quot;], &amp;quot;^\\{&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
          - delete_key(attributes, &amp;quot;metadata.astromkey.com&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    metric_statements: *astromkey_transformations&lt;br /&gt;
&lt;br /&gt;
    log_statements:&lt;br /&gt;
&lt;br /&gt;
      - context: resource&lt;br /&gt;
&lt;br /&gt;
        statements:&lt;br /&gt;
&lt;br /&gt;
          - set(attributes[&amp;quot;k8s.cluster.name&amp;quot;], &amp;quot;${env:CLUSTER_NAME}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  cumulativetodelta:&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;
  extensions:&lt;br /&gt;
&lt;br /&gt;
    - health_check&lt;br /&gt;
&lt;br /&gt;
  pipelines:&lt;br /&gt;
&lt;br /&gt;
    traces:&lt;br /&gt;
&lt;br /&gt;
      receivers:&lt;br /&gt;
&lt;br /&gt;
        - otlp&lt;br /&gt;
&lt;br /&gt;
      processors:&lt;br /&gt;
&lt;br /&gt;
        - k8sattributes&lt;br /&gt;
&lt;br /&gt;
        - transform&lt;br /&gt;
&lt;br /&gt;
      exporters:&lt;br /&gt;
&lt;br /&gt;
        - otlphttp&lt;br /&gt;
&lt;br /&gt;
    metrics/forward:&lt;br /&gt;
&lt;br /&gt;
      receivers:&lt;br /&gt;
&lt;br /&gt;
        - otlp&lt;br /&gt;
&lt;br /&gt;
      processors:&lt;br /&gt;
&lt;br /&gt;
        - transform&lt;br /&gt;
&lt;br /&gt;
        - cumulativetodelta&lt;br /&gt;
&lt;br /&gt;
      exporters:&lt;br /&gt;
&lt;br /&gt;
        - otlphttp&lt;br /&gt;
&lt;br /&gt;
    metrics:&lt;br /&gt;
&lt;br /&gt;
      receivers:&lt;br /&gt;
&lt;br /&gt;
        - k8s_cluster&lt;br /&gt;
&lt;br /&gt;
      processors:&lt;br /&gt;
&lt;br /&gt;
        - k8sattributes&lt;br /&gt;
&lt;br /&gt;
        - transform&lt;br /&gt;
&lt;br /&gt;
        - cumulativetodelta&lt;br /&gt;
&lt;br /&gt;
      exporters:&lt;br /&gt;
&lt;br /&gt;
        - otlphttp&lt;br /&gt;
&lt;br /&gt;
    logs:&lt;br /&gt;
&lt;br /&gt;
      receivers:&lt;br /&gt;
&lt;br /&gt;
        - k8s_events&lt;br /&gt;
&lt;br /&gt;
      processors:&lt;br /&gt;
&lt;br /&gt;
        - transform&lt;br /&gt;
&lt;br /&gt;
      exporters:&lt;br /&gt;
&lt;br /&gt;
        - otlphttp&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;receivers&amp;lt;/code&amp;gt; мы указываем получателя &amp;lt;code&amp;gt;[https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/receiver/kubeletstatsreceiver kubeletstats]&amp;lt;/code&amp;gt;.﻿&lt;br /&gt;
&lt;br /&gt;
Для этого приемника требуется, чтобы переменная среды &amp;lt;code&amp;gt;K8S_NODE_NAME&amp;lt;/code&amp;gt; была настроена на использование [https://kubernetes.io/docs/concepts/workloads/pods/downward-api/ Kubernetes Downward API]﻿ (см. [https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ пример﻿ &amp;lt;code&amp;gt;spec.nodeName&amp;lt;/code&amp;gt;]).&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;filter&amp;lt;/code&amp;gt;: Для фильтрации атрибутов Kubernetes.&lt;br /&gt;
* &amp;lt;code&amp;gt;k8sattributes&amp;lt;/code&amp;gt;: Для извлечения и предоставления данных модуля.&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/otlpexporter экспортер &amp;lt;code&amp;gt;otlp&amp;lt;/code&amp;gt;]﻿ и настраиваем его для экспорта данных в наш экземпляр шлюза Collector. Убедитесь, что вы указали правильное имя хоста для &amp;lt;code&amp;gt;endpoint&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Сервисные контейнеры ====&lt;br /&gt;
В разделе &amp;lt;code&amp;gt;service&amp;lt;/code&amp;gt; мы собираем объекты приёмника, процессора и экспортёра в контейнеры для трассировок, метрик и логов. Эти контейнеры позволяют нам отправлять сигналы '''OpenTelemetry''' через экземпляр '''Collector''' и автоматически дополнять их дополнительной информацией, специфичной для '''Kubernetes'''.&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; мы указываем следующие приемники в качестве активных компонентов приемника для развертывания нашего шлюза:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;otlp&amp;lt;/code&amp;gt;: Для принятия запросов '''OTLP'''.&lt;br /&gt;
* &amp;lt;code&amp;gt;[https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/receiver/k8seventsreceiver k8sevents]&amp;lt;/code&amp;gt;﻿: Для получения событий '''Kubernetes''' с сервера '''API Kubernetes'''.&lt;br /&gt;
* &amp;lt;code&amp;gt;[http://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.136.0/receiver/k8sclusterreceiver k8s_cluster]&amp;lt;/code&amp;gt;﻿: Для получения метрик уровня кластера и событий сущностей с сервера '''API Kubernetes'''.&lt;br /&gt;
&lt;br /&gt;
(*) В настоящее время ''&amp;lt;code&amp;gt;k8seventsreceiver&amp;lt;/code&amp;gt; находится на стадии альфа-тестирования и может претерпеть значительные изменения. Несмотря на раннюю стадию разработки, он был включён в дистрибутив Ключ-АСТРОМ OpenTelemetry Collector для поддержки раннего внедрения и экспериментов. Обратите внимание, что на данном этапе стабильность, производительность и полнота функций не гарантируются.''&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;k8sattributes&amp;lt;/code&amp;gt;: для извлечения и предоставления данных модуля. Для этого необходимо задать переменную окружения с именем узла '''Kubernetes'''. Для этого приёмника требуется задать переменную окружения &amp;lt;code&amp;gt;K8S_NODE_NAME&amp;lt;/code&amp;gt; с использованием [https://kubernetes.io/docs/concepts/workloads/pods/downward-api/ Kubernetes Downward API] (см. [https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ пример &amp;lt;code&amp;gt;K8S_NODE_NAMEspec.nodeName&amp;lt;/code&amp;gt;]).﻿﻿&lt;br /&gt;
* &amp;lt;code&amp;gt;transform&amp;lt;/code&amp;gt;: для преобразования метрик '''Kubernetes'''. Для этого необходимо задать переменную окружения &amp;lt;code&amp;gt;CLUSTER_NAME&amp;lt;/code&amp;gt; с именем кластера. Задайте в качестве значения переменной произвольное имя, под которым ваш кластер будет отображаться в Ключ-АСТРОМ.&lt;br /&gt;
* &amp;lt;code&amp;gt;cumulativetodelta&amp;lt;/code&amp;gt;: Для включения преобразования кумулятивных показателей.&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;] и настраиваем его с помощью '''URL-адреса''' нашего '''API''' Ключ-АСТРОМ и необходимого токена аутентификации.&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; содержит базовый '''URL-адрес''' конечной точки '''API''' '''Ключ-АСТРОМ''' (например, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{your-environment-id}.live.astromkey.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; содержит токен '''API'''&lt;br /&gt;
&lt;br /&gt;
==== Сервисные контейнеры ====&lt;br /&gt;
В разделе &amp;lt;code&amp;gt;service&amp;lt;/code&amp;gt; мы собираем объекты приёмника, процессора и экспортёра в контейнеры для трассировок, метрик и логов. Эти контейнеры позволяют нам отправлять сигналы '''OpenTelemetry''' через экземпляр '''Collector''' и автоматически дополнять их дополнительной информацией, специфичной для '''Kubernetes'''.&lt;br /&gt;
&lt;br /&gt;
== Установка и доступ к готовым панелям управления ==&lt;br /&gt;
&lt;br /&gt;
=== Установка дашбордов ===&lt;br /&gt;
Чтобы сделать эти дашборды доступными в вашем клиенте, установите приложение '''OpenTelemetry Dashboards''' через Ключ-АСТРОМ.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Image4072.png|граница]]&lt;br /&gt;
&lt;br /&gt;
=== Доступ к дашбордам ===&lt;br /&gt;
При доступе к дашбордам у вас есть следующие возможности:&lt;br /&gt;
&lt;br /&gt;
* '''Кластер OpenTelemetry K8s''' : комплексный обзор производительности кластера, включая узлы, модули, контейнеры, события и многое другое.&lt;br /&gt;
* '''Узел OpenTelemetry K8s — Pods''' : визуализирует потребление ресурсов на уровне '''pod''' по всем узлам '''Kubernetes'''.&lt;br /&gt;
* '''Пространство имен OpenTelemetry K8s — Модули''' : анализирует использование ресурсов всех модулей в определенном пространстве имен.&lt;br /&gt;
* '''Пространство имен OpenTelemetry K8s — Рабочие нагрузки''' : фокусируется на распределении ресурсов и производительности рабочих нагрузок в пространстве имен.&lt;br /&gt;
* '''Постоянные тома OpenTelemetry K8s''' : отслеживает использование и емкость заявок на постоянные тома.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Image4073.png|граница]]&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>