메트릭과 텔레메트리에 대해

메트릭과 텔레메트리에 대해 (About metrics and telemetry)

메트릭, 로그, 트레이스, 프로파일은 관찰 가능성(observability)의 네 기둥(pillars)을 이룬다. 관찰 가능성의 네 기둥을 상호 연관시키면 애플리케이션과 인프라에 대한 전체적인 관점을 만들 수 있어요.

출처: 문서

본문

메트릭, 로그, 트레이스, 프로파일은 관찰 가능성의 기둥을 이뤄요. 관찰 가능성의 네 기둥을 연관시키면 애플리케이션과 인프라에 대한 전체적인 관점을 만드는 데 도움이 돼요.

텔레메트리 신호 (Telemetry signals)

메트릭 (Metrics)

메트릭은 시스템 상태의 높은 수준의 그림을 제공해요. 알려진 임계값과 비교할 수 있으므로 알림의 기초가 돼요. 알림은 연속적으로 실행되며 값이 예상 범위를 벗어나면 트리거돼요. 메트릭은 종종 무언가가 변경되었다는 첫 번째 신호를 제공해요.

로그 (Logs)

로그는 컨텍스트를 추가하는 개별 프로세스의 활동에 대한 감사 추적을 제공해요. 로그는 애플리케이션 서비스에서 무슨 일이 일어나고 있는지 설명하는 원자적 이벤트예요. 메트릭이 정량적(숫자)이고 구조화된 반면, 로그는 정성적(텍스트)이며 구조화되지 않거나 반구조화돼 있어요. 로그는 더 많은 세부 정보를 제공하지만 훨씬 더 높은 데이터 볼륨을 만들 수도 있어요. 로그는 애플리케이션에 무슨 일이 일어나고 있는지 알려줘요.

트레이스 (Traces)

트레이스는 요청 경로의 각 단계에서 무슨 일이 일어나는지 보여줌으로써 관찰 가능성 그림에 세부 정보를 추가해요. 트레이스는 요청이 어디서 시작·종료되는지, 각 단계가 완료되는 데 얼마나 걸리는지 보여줘요. 예를 들어 트레이스는 HTTP 요청, 데이터베이스 조회, 서드파티 서비스 호출이 얼마나 걸리는지 보여줄 수 있어요. 이 데이터는 문제 영역을 찾고 그 영향을 이해하는 데 도움을 줘요.

프로파일 (Profiles)

프로파일은 애플리케이션이 CPU 시간과 메모리 같은 컴퓨팅 리소스를 어떻게 활용하는지 이해하는 데 도움을 줘요. 이는 최적화하고 성능·효율성을 개선할 특정 코드 라인이나 함수를 식별하는 데 도움이 돼요.

메트릭을 사용하는 이유 (Why use metrics?)

메트릭은 컴퓨터에 사용 가능한 메모리가 얼마나 되는지 같은 어떤 것이 얼마나 존재하는지 알려줘요. Grafana에서 메트릭은 시간이 지남에 따라 반복적으로 기록할 때 가장 유용해요. 이를 통해 프로그램 실행 같은 변화가 사용 가능한 시스템 리소스에 어떤 영향을 주는지 비교할 수 있어요.

이런 메트릭은 Prometheus 같은 시계열 데이터베이스(TSDB)에 저장되는데, 메트릭을 기록하고 그 항목에 타임스탬프를 짝지어 저장해요. 각 TSDB는 약간 다른 데이터 모델을 사용하지만 모두 이 두 가지 측면을 결합해요. Grafana와 Grafana Cloud는 시각화를 위해 그들의 다양한 메트릭 형식을 받을 수 있어요.

예를 들어 회사의 많은 사용자가 출근해 하루를 시작하는 아침에 사용자 수가 증가하면서 시스템 I/O 성능을 비교하는 데 관심이 있을 수 있어요.

시간에 따른 리소스 사용을 보여주는 차트는 시각화의 예시예요. 시각화에서 타임스탬프가 있는 메트릭을 비교하면 시스템 변화가 발생할 때 발견하는 데 도움이 돼요.

Grafana와 Grafana Cloud는 다양한 사용 사례에 맞는 다양한 시각화를 제공해요. 자세한 내용은 visualizations에 대한 Grafana 문서를 참고해요.

메트릭을 다른 텔레메트리 데이터와 사용 (Use metrics with other telemetry data)

로그나 트레이스 같은 다른 텔레메트리 데이터도 있다면 텔레메트리 신호를 함께 사용할 수 있어요. 메트릭을 다른 텔레메트리 데이터와 사용하는 방법과 상관관계가 중요한 이유는 Use signals together를 참고해요.

더 알아보기 (Learn more)