ПредупреждениеПоддержка OpenMetrics на платформе Temporal доступна в Public Preview. Подробнее см. в документации Temporal.
КраткоОтслеживайте метрики Temporal Cloud в ClickStack с помощью приёмника Prometheus OTel. В комплект входит преднастроенный дашборд.
Интеграция с существующим Temporal Cloud
Предварительные требования
- Работающий экземпляр ClickStack
- Действующая учетная запись Temporal Cloud
- Сетевой доступ по HTTP из ClickStack в ваш Temporal Cloud
Создайте ключ Temporal Cloud
Убедитесь, что у вас есть API-ключ Temporal Cloud. Его можно создать, следуя руководству по аутентификации в документации Temporal.Создайте пользовательскую конфигурацию OTel collector
ClickStack позволяет расширить базовую конфигурацию OpenTelemetry Collector, подключив собственный файл конфигурации и задав переменную окружения. Эта конфигурация объединяется с базовой конфигурацией, которой HyperDX управляет через OpAMP.Создайте файлtemporal-metrics.yaml со следующей конфигурацией:temporal-metrics.yaml
- Подключается к Temporal Cloud по адресу
metrics.temporal.io - Собирает метрики каждые 60 секунд
- Собирает основные метрики производительности
- Устанавливает обязательный атрибут ресурса
service.nameв соответствии с семантическими соглашениями OpenTelemetry - Направляет метрики в экспортёр ClickHouse через отдельный конвейер
- В пользовательской конфигурации вы определяете только новые приёмники, процессоры и конвейеры
- Процессоры
memory_limiterиbatch, а также экспортёрclickhouseуже определены в базовой конфигурации ClickStack — вы просто ссылаетесь на них по имени - Процессор
resourceустанавливает обязательный атрибутservice.nameв соответствии с семантическими соглашениями OpenTelemetry - Если у вас несколько учётных записей Temporal Cloud, настройте
service.name, чтобы различать их (например,"temporal-prod"и"temporal-dev")
Настройка ClickStack для загрузки пользовательской конфигурации
Чтобы включить пользовательскую конфигурацию коллектора в существующем развертывании ClickStack, необходимо:- Смонтировать пользовательский файл конфигурации по пути
/etc/otelcol-contrib/custom.config.yaml - Установить переменную окружения
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Смонтировать файл
temporal.keyпо пути/etc/otelcol-contrib/temporal.key - Обеспечить сетевую связность между ClickStack и Temporal
temporal-metrics.yaml и temporal.key.Вариант 1: Docker Compose
Обновите конфигурацию развертывания ClickStack:Вариант 2: Docker run (образ «всё в одном»)
Если вы используете образ «всё в одном» сdocker run:Проверьте метрики в HyperDX
После настройки войдите в HyperDX и убедитесь, что метрики поступают:- Перейдите в Metrics explorer
- Найдите метрики, начинающиеся с
temporal(например,temporal_cloud_v1_workflow_success_count,temporal_cloud_v1_poll_timeout_count) - Вы должны увидеть, как точки данных метрик появляются с заданным интервалом сбора
Панели мониторинга и визуализация
конфигурацию панели мониторинга
Импортируйте преднастроенный дашборд
- Откройте HyperDX и перейдите в раздел Dashboards
- Нажмите Import Dashboard в правом верхнем углу в меню с многоточием
- Загрузите файл
temporal-metrics-dashboard.jsonи нажмите Finish Import
Просмотрите панель мониторинга
Панель мониторинга будет создана со всеми преднастроенными визуализациями:Устранение неполадок
Пользовательский config не загружается
CUSTOM_OTELCOL_CONFIG_FILE указана правильно:
/etc/otelcol-contrib/custom.config.yaml:
temporal.key смонтирован в контейнер:
В HyperDX не отображаются метрики
Ошибки аутентификации
Проблемы с сетевым подключением
docker run разрешён доступ к внешней сети.
Следующие шаги
- Настройте оповещения для критически важных метрик (частота сбоев workflow, рост очереди задач, задержка от планирования до запуска)
- Создайте дополнительные панели мониторинга для конкретных сценариев использования (мониторинг на уровне пространства имен, производительность разных типов workflow)
- Отслеживайте несколько аккаунтов Temporal Cloud, дублируя конфигурацию приёмника с разными конечными точками и именами сервисов