Temporal 플랫폼의 OpenMetrics 지원은 Public Preview 단계에서 제공됩니다. 자세한 내용은 해당 문서를 참고하십시오.
Temporal은 단순하면서도 정교하고 복원력이 높은 애플리케이션을 구축하기 위한 추상화 계층을 제공합니다.
ClickStack로 Temporal Cloud 메트릭 모니터링하기
이 가이드는 OpenTelemetry collector의 Prometheus receiver를 구성하여 ClickStack으로 Temporal Cloud를 모니터링하는 방법을 설명합니다. 다음 내용을 학습하게 됩니다:
- Temporal Cloud 메트릭을 수집하도록 OTel collector를 구성합니다.
- 사용자 정의 구성을 사용하여 ClickStack을 배포합니다.
- 미리 만들어진 대시보드를 사용해 Temporal Cloud 성능(열려 있는 워크플로, 초당 actions 수, 활성 네임스페이스, 태스크 대기열)을 시각화합니다.
소요 시간: 5~10분
기존 Temporal Cloud와의 통합
이 섹션에서는 Prometheus receiver를 사용하도록 ClickStack OTel collector를 구성하여 ClickStack을 설정하는 방법을 다룹니다.
사전 준비 사항
- 실행 중인 ClickStack 인스턴스
- 기존 Temporal Cloud 계정
- ClickStack에서 Temporal Cloud로의 HTTP 네트워크 연결
Temporal Cloud 키 생성하기
Temporal Cloud API 키를 보유하고 있는지 확인하세요. API 키는 Temporal 문서의 Authentication guide를 따라 생성할 수 있습니다.
이 자격 증명은 아래에서 생성할 설정 파일과 동일한 디렉터리의 temporal.key 파일에 저장하십시오. 이 키는 앞뒤 공백 없이 텍스트로만 저장해야 합니다.
사용자 정의 OTel collector 구성 만들기
ClickStack을 사용하면 사용자 정의 구성 파일을 마운트하고 환경 변수를 설정하여 기본 OpenTelemetry 수집기 구성을 확장할 수 있습니다. 사용자 정의 구성은 HyperDX가 OpAMP를 통해 관리하는 기본 구성과 병합됩니다.
다음 구성으로 temporal-metrics.yaml 파일을 생성하세요:
이 구성:
- Temporal Cloud에
metrics.temporal.io엔드포인트로 연결합니다 - 60초마다 메트릭을 수집합니다.
- 핵심 성능 메트릭을 수집합니다
- OpenTelemetry semantic conventions에 따라 필수
service.name리소스 속성을 설정합니다. - 전용 파이프라인을 통해 메트릭을 ClickHouse exporter로 전달합니다
- 사용자 정의 구성에서는 새로운 receiver, processor, pipeline만을 정의합니다
memory_limiter및batch프로세서와clickhouseexporter는 이미 기본 ClickStack 구성에 정의되어 있으므로 이름으로만 참조하면 됩니다resource프로세서는 OpenTelemetry 시맨틱 컨벤션에 따라 필수service.name속성 값을 설정합니다- 여러 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으로 올인원(all-in-one) 이미지를 사용하는 경우:
HyperDX에서 메트릭 확인
구성을 완료한 후 HyperDX에 로그인하여 메트릭이 정상적으로 수집되는지 확인하세요:
- Metrics Explorer로 이동하십시오
temporal로 시작하는 메트릭(예:temporal_cloud_v1_workflow_success_count,temporal_cloud_v1_poll_timeout_count)을 검색하십시오- 설정한 수집 주기마다 메트릭 데이터 포인트가 나타나는 것을 볼 수 있습니다

대시보드와 시각화
Temporal Cloud를 ClickStack으로 모니터링하기 시작하는 데 도움이 되도록 Temporal Metrics용 예시 시각화를 제공합니다.
미리 구성된 대시보드 가져오기
- HyperDX를 열고 「Dashboards」 섹션으로 이동합니다.
- 오른쪽 상단의 줄임표(…) 메뉴에서 Import Dashboard를 클릭합니다.

temporal-metrics-dashboard.json파일을 업로드한 후 Finish Import를 클릭합니다.

문제 해결
사용자 정의 구성 로드되지 않음
환경 변수 CUSTOM_OTELCOL_CONFIG_FILE가 올바르게 설정되어 있는지 확인하십시오:
사용자 정의 설정 파일이 /etc/otelcol-contrib/custom.config.yaml에 마운트되어 있는지 확인합니다:
사용자 정의 구성 내용을 열어 사람이 읽을 수 있는지 확인하십시오:
temporal.key가 컨테이너에 마운트되어 있는지 확인하십시오:
HyperDX에 메트릭이 표시되지 않음
수집기에서 Temporal Cloud에 연결할 수 있는지 확인하십시오:
Prometheus 메트릭들이 예를 들어 다음과 같이 출력됩니다.
최종 적용된 설정에 Prometheus receiver가 포함되어 있는지 확인하십시오:
collector 에이전트 로그에서 오류를 확인하십시오:
수집기 로그를 확인하세요:
인증 오류
로그에 인증 오류가 나타나면 API 키를 확인하십시오.
네트워크 연결 문제
ClickStack가 Temporal Cloud에 연결할 수 없는 경우 Docker Compose 파일이나 docker run 명령에서 외부 네트워킹을 허용하도록 구성되어 있는지 확인하십시오.
다음 단계
추가로 살펴보고 싶다면, 모니터링을 실험해 볼 다음 단계를 수행하십시오.
- 중요한 메트릭(메모리 사용량 임계값, 연결 제한, 캐시 적중률 하락)에 대한 알림을 설정하십시오.
- 특정 사용 사례(복제 지연, 영속성 성능)에 대한 추가 대시보드를 생성하십시오.
- 서로 다른 엔드포인트와 서비스 이름을 사용해 리시버 구성을 복제하여 여러 Temporal Cloud 계정을 모니터링하십시오.
