Prometheus & Observability - 2025년 4월 소식
클라우드 기반 관찰성 및 시계열 데이터 분석을 위한 PromQL 소개
Introduction to PromQL for Cloud-Native Observability and Time Series Data Analysis
PromQL은 시계열 데이터의 모니터링 시나리오에 맞게 조정된 도메인별 언어입니다. 모니터링에서 대량의 시스템 메트릭을 시계열 형식으로 수집한 다음 집계, 분석 및 계산하여 시스템의 패턴을 찾고 이상을 신속하게 감지하고 문제를 찾습니다.
SQL에 비교해서 PromQL은 어떨까요?
SQL:
SELECT * FROM city_env_temp_total
PromQL:
city_env_temp_total
SQL:
SELECT *
FROM city_env_temp_total
WHERE city = "New York";
PromQL:
city_env_temp_total{city="New York"}
SQL:
SELECT *
FROM city_env_temp_total
WHERE city = "New York" OR city = "London" OR city = "Paris";
PromQL:
city_env_temp_total{city=~"New York|London|Paris}"
SQL:
SELECT *
FROM city_env_temp_total
WHERE city = "New York" and data >= (CURDATE() - INTERVAL 1 MONTH )
PromQL:
city_env_temp_total{city="New York"}[30d]
SQL:
SELECT city, AVG(noise) as avg_noise
FROM city_env_noise_total
GROUP BY city, DATE(timestamp)
HAVING AVG(noise) > 100;
PromQL:
avg_over_time(city_env_noise_total[30d]) > 100
SQL:
SELECT city,
(SUM(CASE WHEN avg_noise > 100 THEN 1 ELSE 0 END) / 30) > 0.5 as above_threshold
FROM (
SELECT city, AVG(noise) as avg_noise
FROM city_env_noise_total
WHERE timestamp >= NOW() - INTERVAL 1 MONTH
GROUP BY city
) data
GROUP BY city
PromQL:
sum(
avg_over_time(city_env_noise_total[30d]) > bool 100
) by (city) / 30 > 0.5
GreptimeDB: 메트릭, 로그, 이벤트와 같은 다양한 시계열 데이터를 통합적으로 처리할 수 있는 오픈 소스 분산형 데이터베이스
https://greptime.com/product/db
Object store(s3)를 기반으로 컴퓨팅과 스토리지를 분리 하여 탄력적 확장성과 비용 최적화를 하고, Parquet 기반의 저장 형식으로 사용하여 컬럼 지향적인 특성으로 높은 카디널리티에서 좋은 쿼리 성능을 얻을수 있습니다.
PromQL을 지원하고, Prometheus metrics을 수집 할수 있어서, 개인적으로 검토해보려고 하는데, 혹시 관련 경험이나 적용 사례가 있으시면, 저에게(mailto: anarcher@gmail.com) 연락 주시면, 이 뉴스레터에 관련 공유 하겠습니다.
나만의 오픈텔레메트리 수집기 커스터마이징하기
CNCF-hosted Co-located Events Europe 2025: Customize Your Own OpenTelemetry Collect…
OpenTelemetry Collector Builder(OCB) 으로 otel components을 커스텀하게 구성하는 otel collector을 만드는 이야기입니다.
표준 배포판이 존재하지만, 각 벤더마다 커스텀한 collector을 만들어서 관리 하곤 합니다. OCB는 필요한 컴포넌트만 구성한 collector를 만들수 있습니다.
이번 kubecon에서 datadog과 dynatrace 직원이 발표한 내용입니다.
Ruby on Rails을 위한 올인원 서버 모니터링 서비스
RorVsWild - All-in-one server monitoring for Ruby on Rails applications
젬을 추가하고, 번들 설치를 하고, 서버를 다시 시작하면, 붐, 요청 모니터링이 완료된다고 하네요. - https://x.com/railsquest/status/1907765031107952833?s=46&t=HZBBUaxGrZ6DrC1oTNMjkA
기존의 복잡한 o11y 솔루션에 비해 RoR에 특화된 모니터링이 필요하다면 좋은 선택인것 같습니다.
모니터링도 언어마다 최적화되는 부분들이 있어서, 특정 언어나 프레임워크에 특화된 모니터링 솔루션이 주는 가치도 많아 보입니다. (아쉽게도 제가 RoR 개발자 아니라서 얼마나 좋은지는 잘 모르겠네요.)
Netflix Telltale: 지능형 애플리케이션 모니터링 시스템
Telltale: Netflix Application Monitoring Simplified | by Netflix Technology Blog | Netflix TechBlog
Netflix의 Telltale은 복잡한 마이크로서비스 환경에서 애플리케이션 모니터링을 단순화하는 통합 시스템입니다. 다양한 데이터 소스를 활용해 애플리케이션과 그 생태계의 건강 상태를 종합적으로 분석하며, 머신러닝과 통계 알고리즘을 통해 수동 임계값 조정 없이도 정확한 이상 징후를 감지합니다. 직관적인 색상 코드 인터페이스로 서비스 상태를 한눈에 파악할 수 있으며, 중복 알림을 제거하고 문제 해결에 필요한 핵심 정보만 제공합니다. 100개 이상의 Netflix 프로덕션 애플리케이션을 모니터링하고 있으며, 배포 과정에서의 안전성 확보에도 활용되고 있다고 합니다.
2020년(LLM 시대이전) 아티클이지만,흥미롭기 때문에 가져와봤습니다. 지금(2025)은 어떻게 발전해 있을까요?
OpenTelemetry, 관측가능성 스타트업의 기회
https://thenewstack.io/opentelemetry-opens-the-door-for-observability-startups/
OpenTelemetry(OTel)는 애플리케이션 모니터링과 관측가능성(Observability) 시장의 진입장벽을 낮추고 있다고 합니다. 2019년 출범한 이 오픈소스 표준은 텔레메트리 데이터(트레이스, 메트릭, 로그) 수집을 표준화하여 기업들이 자체 계측 도구 개발에 많은 자원을 투자할 필요가 없어지고,그 결과 관측가능성 시장에 새로운 스타트업들이 등장할 수 있는 기회가 열렸으며, 기존 기업들은 단순한 데이터 수집을 넘어 더 높은 가치를 제공하는 솔루션 개발에 집중하게 되었다고 합니다.
Embrace의 OpenTelemetry 기반 모바일 관측성 플랫폼 요약
Embrace: Modern mobile observability built on OpenTelemetry
Embrace는 OpenTelemetry 표준을 기반으로 모바일 관측성 플랫폼을 재구축했습니다. 이 플랫폼은 iOS와 Android용 OpenTelemetry SDK를 활용하여 자동 계측 기능을 제공하며, 코드 변경 없이 네트워크 요청, UI 이벤트, 앱 라이프사이클 등의 데이터를 수집합니다. 사용자 세션을 중심으로 트레이스, 메트릭, 로그를 통합하고, 프론트엔드에서 백엔드까지 컨텍스트 전파를 지원합니다. 수집된 텔레메트리 데이터는 처리 파이프라인을 통해 분석되며, 이상 탐지 및 자동 알림 시스템을 통해 성능 이슈에 대응합니다. 확장 가능한 백엔드 인프라와 오픈 API를 통해 다양한 개발 툴체인과의 통합을 지원하여 모바일 앱 개발자에게 포괄적인 관측성 솔루션을 제공한다고 합니다.
Fastrace: Rust에서 분산 추적을 위한 최신 접근 방식
Fastrace: A Modern Approach to Distributed Tracing in Rust | FastLabs / Blog
Fastrace는 Rust 에서 비활성화 시 런타임 오버헤드가 없고, 생태계 종속을 피하며, 단순한 API 표면을 가지고, 예측 가능한 성능을 제공하는 현대적인 분산 추적 솔루션입니다. 이를 통해 라이브러리와 애플리케이션 모두 성능 저하나 호환성 문제 없이 포괄적인 추적 기능을 쉽게 추가할 수 있습니다.
otel-collector githubreceiver
opentelemetry-collector-contrib/receiver/githubreceiver at main · open-telemetry/opentelemetry-collector-contrib
스크랩 커밋과 깃허브 액션 워크플로 데이터를 실행하여 메트릭과 추적을 생성합니다. 빌드 기간에 대한 기록 데이터를 얻은 다음 SLO를 설정할수 있습니다.
Deno v2.2.5가 출시
https://github.com/denoland/deno/releases/tag/v2.2.5
opentelemetry 스팬 이벤트 지원이 추가되었습니다.