OpenTelemetry Collector
OpenTelemetry Collector
Расширение предназначено для контроля состояния OpenTelemetry Collector по его внутренним метрикам. Данные собираются с Prometheus endpoint коллектора.
Расширение позволяет контролировать:
- приём и отправку метрик, трассировок и журналов;
- ошибки приёма и отправки данных;
- заполнение очередей экспортёров;
- загрузку процессора и использование памяти;
- работу пакетной обработки;
- время работы экземпляров коллектора.
Пакет расширения: OTel Collector 1.0.5
Идентификатор расширения: ru.ruscomtech.extension.otel-collector
Требования
- OpenTelemetry Collector должен публиковать внутренние метрики в формате Prometheus.
- Prometheus endpoint должен быть доступен с сервера EEC, на котором будет выполняться сбор.
- Между EEC и OpenTelemetry Collector должен быть разрешён сетевой доступ к порту endpoint.
- Метрики должны содержать атрибуты
service_nameиservice_instance_id, используемые для создания сущностей.
Настройка OpenTelemetry Collector
По умолчанию внутренние метрики коллектора обычно доступны по адресу:
http://127.0.0.1:8888/metrics
Для удалённого сбора endpoint необходимо опубликовать на сетевом интерфейсе, доступном серверу EEC.
Пример конфигурации для актуальных версий OpenTelemetry Collector:
service:
telemetry:
resource:
service.name: otel-collector
metrics:
readers:
- pull:
exporter:
prometheus:
host: 0.0.0.0
port: 8888
without_type_suffix: true
without_units: true
with_resource_constant_labels:
included:
- service.name
- service.instance.id
Параметры without_type_suffix и without_units сохраняют имена метрик в формате, ожидаемом расширением.
При использовании адреса 0.0.0.0 рекомендуется ограничить доступ к порту 8888 средствами межсетевого экрана.
Проверьте доступность endpoint с сервера EEC:
curl http://collector.example.local:8888/metrics
В ответе должны присутствовать метрики с префиксом otelcol_.
Установка и настройка расширения
- Скачайте пакет расширения.
- В интерфейсе Ключ-АСТРОМ откройте раздел управления расширениями.
- Загрузите архив расширения.
- Откройте расширение
ru.ruscomtech.extension.otel-collector. - Добавьте конфигурацию мониторинга.
- Выберите удалённый сбор данных.
- Укажите адрес Prometheus endpoint, например:
http://collector.example.local:8888/metrics
- Выберите группу EEC, с которой доступен OpenTelemetry Collector.
- При необходимости настройте аутентификацию, тайм-аут и количество повторных попыток.
- Сохраните и активируйте конфигурацию.
Отдельные наборы функций в расширении не предусмотрены: после активации собираются все объявленные метрики.
Собираемые данные
| Группа | Основные метрики | Назначение |
|---|---|---|
| Приём данных | otelcol_receiver_accepted_metric_points.count
|
Количество принятых и отклонённых метрик и трассировок. |
| Отправка данных | otelcol_exporter_sent_metric_points.count
|
Успешная отправка данных и ошибки экспортёров. |
| Журналы | otelcol_exporter_sent_log_records.count
|
Количество отправленных и неотправленных записей журналов. |
| Очереди экспортёров | otelcol_exporter_queue_size
|
Текущий размер и максимальная ёмкость очереди. |
| Ресурсы процесса | otelcol_process_cpu_seconds.count
|
Загрузка процессора, использование памяти и время работы коллектора. |
| Пакетная обработка | otelcol_processor_batch_batch_send_size
|
Размеры пакетов, причины их отправки и кардинальность метаданных. |
| Дополнительные показатели | otelcol_fileconsumer_open_files
|
Количество открытых файлов и ошибки обработчика Prometheus. |
Наличие конкретных метрик зависит от состава и конфигурации OpenTelemetry Collector.
Сущности и топология
Расширение создаёт следующие типы сущностей:
- Collector Service — служба OpenTelemetry Collector, определяемая по
service_name; - Collector Instance — отдельный экземпляр службы, определяемый по сочетанию
service_nameиservice_instance_id.
Экземпляр Collector Instance связывается с соответствующей сущностью Collector Service отношением «дочерняя сущность».
Обзорная панель
В состав расширения входит готовая обзорная панель. Она показывает обнаруженные службы и экземпляры OpenTelemetry Collector, а также ошибки отправки метрик и трассировок.
Проверка работы
После активации конфигурации убедитесь, что:
- конфигурация расширения имеет состояние без ошибок;
- с сервера EEC открывается указанный Prometheus endpoint;
- в ответе присутствуют метрики
otelcol_*; - в Ключ-АСТРОМ появляются сущности Collector Service и Collector Instance;
- метрики отображаются на обзорной панели расширения.
Если метрики поступают, но сущности не создаются, проверьте наличие измерений service_name и service_instance_id.
История изменений
| Версия | Изменения |
|---|---|
| 1.0.5 |
|