시스템이이나 서비스의 상태와 성능을 실시간으로 파악하고 성능을 측정하기 위해 수집되는 지표이다. 이를 통해 시스템이 잘 작동하는지, 문제가 발생하지는 않았는지 관리/검토할 수 있다.
성능 메트릭은 시스템이나 서비스가 사용자의 요구에 얼마나 빠르고 효과적으로 응답하는지를 말한다.
자원 사용률 메트릭은 시스템의 하드웨어 자원(CPU, 메모리, 디스크 등)이 얼마나 효율적으로 사용되고 있는지를 나타내며, 시스템의 안정성 관리에 필수적이다.
클라우드 환경에서는 자원 사용률에 따라 Auto-Scaling 정책을 적용하여 비용 효율적인 운영을 한다.
오류 및 장애 메트릭은 시스템이나 서비스의 문제점을 사전에 인지하고 신속하게 대응하기 위해 사용됩니다.
end-point
또는 gateway
로 직접 전송한다.프로메테우스는 간단한 텍스트 형식으로 메트릭을 쉽게 수집한다. 데이터 모델은 key-value
형식의 label
을 사용해 시계열 데이터를 구별하며, PromQL로 유연하게 분석 및 집계할 수 있다. 이를 통해 프로세스, 데이터센터, 서비스 등 다양한 단위로 분석할 수 있고 시각화 도구와 쉽게 연동할 수 있다.
알림도 동일한 PromQL을 이용하여 정의할 수 있어 관리가 편하다.
프로메테우스가 주로 데이터를 서버에서 직접 pull 방식으로 가져오는 반면, 인플럭스는 데이터를 client
에서 서버로 push 방식으로 보내는 구조를 기본으로 지원한다. 또한 인플럭스는 자체적으로 강력한 SQL 유사 언어인 InfluxQL 또는 Flux를 이용해 시계열 데이터를 편리하게 쿼리 및 분석할 수 있다.
그라파나는 주로 시스템 모니터링과 같은 시계열(time-series)
데이터 시각화에 많이 쓰이며 관계형 데이터베이스의 데이터를 표나 차트 형태로도 시각화할 수 있다.
또한 사용자가 직접 기능을 추가하거나 확장할 수 있는 플러그인이 제공되며, 사용자들이 제작한 다양한 대시보드 템플릿을 쉽게 공유할 수 있다.
오픈소스로이기 때문에 소스 코드를 직접 수정할 수 있고 사용 환경이나 상황에 따라 자체 서버 설치형(On-premise)
과 클라우드 기반 서비스형(SaaS)
중 선택할 수 있다.
키바나는 ElasticSearch에 적재된 데이터만을 시각화할 수 있다는 특징이 있습니다. 이로 인해 Prometheus와 같은 다른 데이터 소스의 시계열 데이터를 시각화하려면 메트릭비트(Metricbeat)
와 같은 추가적인 도구를 이용해 데이터를 엘라스틱서치로 전달해야 하는 불편함이 있다.
그러나 직관적이고 인터랙티브한 대시보드와 상세한 데이터 검색, 다차원적 분석 기능을 제공하기 때문에 ElasticSearch의 데이터를 중심으로 시각화와 데이터 탐색을 중점적으로 고려하는 경우 매우 강력하다.
클라우드 환경에서는 시스템 자원 중심에서 벗어나 서비스 수준의 목표(SLO)
와 계약(SLA)
을 중심으로 모니터링해야 한다.
예를 들어, 서비스 가용성(Availability), 응답 시간, 처리량 등을 명확히 정의하고 이를 기준으로 경고(Alert)를 설정하고 관리한다.
CPU 사용률, 메모리, 디스크 용량 등 기본적인 시스템 메트릭뿐 아니라, AWS 서비스별 상세 메트릭(EC2 인스턴스 상태, RDS DB 지연 시간, Lambda 호출 성공률 등)을 모니터링할 수 있다.
또한 EC2 서버 로그, 애플리케이션 로그 등을 CloudWatch Logs에 통합하여 로그 기반 문제 분석 및 대응을 통합하여 처리할 수 있다.
Azure 플랫폼 내 모든 리소스의 성능 및 가용성을 모니터링할 수 있는 통합 서비스이다. Application Insights로 애플리케이션의 응답 시간, 트랜잭션 처리 속도, 에러 발생 빈도 등의 상세한 메트릭을 수집하여 애플리케이션의 성능 병목 현상을 쉽게 파악할 수 있는 애플리케이션 성능 모니터링(APM)
를 제공한다.
멀티 클라우드 환경 모니터링 서비스로, GCP는 물론 AWS의 EC2나 RDS 같은 서비스를 통합적으로 모니터링하여 단일 플랫폼에서 멀티 클라우드 환경을 쉽게 관리할 수 있다.
머신러닝을 통해 기존과 다른 이상 징후를 감지하고 빠르게 관리자에게 경고하여 장애가 발생하기 전 문제를 사전 대응할 수 있다.