본문으로 건너뛰기
목차

promkr 뉴스레터 2025년 12월호

원문 정보

이 호에 실린 소식 10개의 원문을 읽고 요약했습니다. 뉴스레터 설명이 아니라 링크가 가리키는 글의 내용을 기준으로 썼습니다. 한 해 전체의 흐름은 2025년 소식에 있습니다.

1. Rust 생태계를 위한 Prometheus 기반 라이브러리

원문: Engage Prometheus in Rust Ecosystem · Ruihang Xia

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Ruihang Xia는 Prometheus 관련 프로젝트의 90% 이상이 Go로 작성됐으며, 다른 언어에는 오랫동안 메트릭 노출용 클라이언트 외에 기반 도구가 부족했다고 설명합니다. 발표는 Rust에서 Prometheus를 활용할 수 있도록 수년에 걸쳐 만든 라이브러리와 그 개발 경험을 다룹니다.

개발한 도구에는 Rust 네이티브 PromQL 파서와 Prometheus Remote 프로토콜 라이브러리가 포함됩니다. 소개문에 따르면 이 라이브러리들은 수백 개의 다른 프로젝트에서 사용됐으며 다운로드 수는 18만 회를 넘었습니다. 메트릭을 내보내는 클라이언트에서 더 나아가, 쿼리 해석과 프로토콜 처리에 필요한 기능을 Rust 생태계에 제공한 작업입니다.

발표자는 arrow-rs, otlp-arrow, Parquet, DataFusion과 Prometheus를 결합할 가능성도 탐색하고 있다고 밝힙니다. 프로토콜, 데이터 저장, 연산 영역에서 각 프로젝트의 장점을 활용하려는 시도입니다. 소개문은 이러한 연계가 탐색 중이라고 설명하며, 구체적인 통합 방식이나 성능 수치는 제시하지 않습니다.

2. Parquet 기반 Prometheus 저장과 쿼리

원문: Beyond TSDB: Unlocking Prometheus with Parquet for Modern Scale · Jesus Vazquez, Alan Protasio, Michael Hoffmann · Prometheus Parquet Common Library · GitHub

PromCon EU 2025 발표 소개문과 함께 링크된 prometheus-community/parquet-common README를 읽고 정리했습니다. 발표는 Grafana Labs의 Mimir, AWS Managed Prometheus의 Cortex, Cloudflare의 Thanos 관련 엔지니어들이 Prometheus TSDB를 Apache Parquet로 대체하려고 시도한 경험을 다룹니다. 소개문은 OpenTelemetry가 요구하는 시계열 차원의 증가로 높은 카디널리티와 오브젝트 스토리지의 느린 쿼리 문제가 더 중요해졌다고 설명합니다.

발표자들은 레이블과 청크를 Parquet에 저장하면서 얻은 개선과 발견한 문제, 실제 운영 경험을 공유한다고 밝힙니다. 작업 과정의 논의와 코드는 CNCF Slack과 Prometheus Community GitHub에 공개됐습니다. 소개문에는 구체적인 개선 수치가 없으며, Prometheus 자체의 Parquet 지원에도 참여를 요청합니다.

제공된 README에서 parquet-common은 Cortex와 Thanos 같은 프로젝트가 함께 사용할 Go 라이브러리로 소개됩니다. TSDB 블록을 Parquet로 변환하고, Prometheus의 storage.Queryable 인터페이스로 데이터를 조회합니다. 라이브러리는 공유 스키마로 프로젝트 간 중복을 줄이고, 열 기반 압축과 오브젝트 스토리지의 장기 보관을 지원하도록 설계됐습니다. 레이블 열에는 l_, 시간별 청크 열에는 s_data_ 접두사를 사용하며, s_col_indexes 열은 청크 조회를 돕습니다.

변환 옵션으로 행 그룹 크기, 열별 시간 범위, 정렬 순서, Bloom filter를 생성할 레이블, 읽기 동시성, 압축 방식을 지정할 수 있습니다. 저장소는 objstore.Bucket 구현과 연동합니다. README는 주요 기능을 구현한 초기 개발 단계이며 호환성을 깨는 변경이 생길 수 있다고 명시합니다. API 안정화와 쿼리 성능 개선, 문서 보강은 진행 중이고 스트리밍 쿼리는 계획에 포함됩니다. 개발에는 Go 1.23.4 이상과 Make가 필요합니다.

  • convert: TSDB 블록의 Parquet 변환
  • schema: Parquet 스키마 정의와 인코딩·디코딩
  • queryable: Prometheus 호환 쿼리 인터페이스
  • search: 쿼리 최적화와 제약 조건 처리
  • storage: Parquet 파일 관리

3. Alertmanager 상태 유실과 외부 공유 저장소 실험

원문: Alertmanager Has Amnesia – Should We Fix It? · Joel Verezhak

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Alertmanager는 재시작하면 어떤 알림이 활성 상태인지 잊도록 설계돼 있습니다. Joel Verezhak는 보통 여러 ruler 복제본이 60초마다 Prometheus 규칙을 평가하므로, 이상적인 조건에서는 계속 들어오는 알림으로 현재 상태를 빠르게 재구성할 수 있다고 설명합니다.

실제 운영에서는 패킷 손실이나 DNS 장애로 알림이 목적지에 도달하지 못합니다. 소개문은 알림량이 많은 환경에서 간헐적인 실패가 누적되면 Alertmanager가 파악하는 상태에 상당한 공백이 생길 수 있다고 지적합니다. 고가용성 클러스터에서는 각 구성원이 번갈아 리더를 맡아 외부 시스템으로 보낼 통지를 결정합니다. 발표자는 이 과정의 경쟁 조건과 예외 상황이 중복 통지나 알림 해제 통지 누락을 일으킬 수 있다고 설명합니다.

발표자의 팀은 해커톤에서 재시작 후에도 유지되는 외부 공유 저장소에 알림 상태를 보관하는 방식을 실험했습니다. 소개문에 따르면 이러한 발상은 새롭지 않으며, 2019년에도 etcd가 공유 저장소 후보로 제안됐습니다. 발표는 실험 구현의 내용과 동기, 이후 진척을 다루지만, 소개문에는 실제로 선택한 저장소나 실험 결과가 제시되지 않습니다.

4. CPU 하드웨어 카운터의 Prometheus 활용

원문: CPU Hardware Counters · Bryan Boreham

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Bryan Boreham은 애플리케이션이나 운영체제가 노출하는 카운터 외에 CPU 내부의 카운터로 시스템 성능을 살펴보는 방법을 다룹니다. 처리한 요청 수, CPU 사용 시간, 네트워크 전송 바이트와 별개로 CPU에는 캐시 적중 횟수, RAM 접근 횟수, 처리한 명령어 수 같은 카운터가 있습니다.

소개문은 과거 클라우드 서버에서 하이퍼바이저가 CPU 수준 카운터를 가려 접근할 수 없었지만, 최근 몇 년간 CPU 제조사와 클라우드 제공자가 접근 인터페이스를 추가했다고 설명합니다. 발표 범위는 유용한 카운터의 종류, 클라우드 서버에서 접근할 수 있는 조건, 해당 카운터를 Prometheus에 수집하는 방법입니다. 운영체제는 Linux에 초점을 맞춥니다.

5. Prom Analytics Proxy를 이용한 PromQL 사용 분석

원문: Reverse-Engineering PromQL Usage: A Proxy’s Tale · Nicolas Takashi

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Nicolas Takashi는 Prometheus가 제공하는 메트릭이 실제로 어떻게 사용되는지 파악하기 위해 개발한 Prom Analytics Proxy를 소개합니다. 느린 쿼리, 쿼리를 실행하는 사용자, 10초마다 백엔드에 요청을 보내는 대시보드처럼 메트릭 사용 양상을 알아내기 어려운 상황이 출발점입니다.

Prom Analytics Proxy는 Prometheus 서버를 변경하지 않고 대규모 PromQL 사용 현황을 살펴보려는 쿼리 프록시입니다. 소개문은 오버헤드를 낮춘 프록시를 만들고 지연 시간, 카디널리티, 오류율을 관찰하며, 수집한 정보를 조회하기 쉬운 형태로 정리한 개발 과정을 다룬다고 설명합니다. 성공한 전략과 예상 밖의 문제도 발표 범위에 포함되지만, 소개문에는 저장 방식이나 오버헤드 측정값이 나오지 않습니다.

6. Prometheus OTLP 엔드포인트의 기능과 성능 개선

원문: OpenTelemetry developments in Prometheus over the last year · Arve Knudsen, Owen Williams

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Arve Knudsen과 Owen Williams는 이전 베를린 PromCon에서 OpenTelemetry 수집용 OTLP 엔드포인트의 일반 제공을 발표한 뒤, Prometheus에 반영한 OpenTelemetry 지원 개선을 소개합니다.

소개문에 따르면 변경 사항 대부분은 기능 개선이며, 성능도 크게 조정됐습니다. 발표는 OTLP 엔드포인트에 적용한 개선을 설명하고 짧은 시연으로 마무리하는 구성입니다. 개별 기능명, 적용 버전, 성능 측정값은 소개문에 제시되지 않습니다.

7. OTel 자원 속성 처리를 위한 Prometheus UX 연구

원문: UX Research Report: Prometheus and OTel’s Resource Attributes. · Victoria Nduka, Andrej Kiripolský

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Victoria Nduka와 Andrej Kiripolský는 CNCF LFX 멘토십 프로그램에서 Prometheus가 OTel 자원 속성을 어떻게 다뤄야 하는지 UX 연구를 수행했습니다. 기존 처리 방식이 사용자의 요구를 충분히 충족하는지 살펴보는 연구입니다.

소개문은 자원 속성을 처리하는 각 방식에 사용상의 어려움이 있다고 설명합니다. 모든 속성을 레이블로 바꾸면 카디널리티가 높아집니다. target_info에 속성을 담으면 PromQL 조인을 사용해야 하므로 진입 장벽이 생깁니다. promote_resource_attributes로 레이블로 승격할 속성을 고르는 방식은 선택 목록이 바뀔 때 다루기 불편하다고 지적합니다.

연구진은 정량·정성 접근을 사용해 두 프로젝트의 공동 창립자, 현재와 과거의 메인테이너, 최종 사용자의 의견을 수집했습니다. 발표에서는 잘 작동하는 부분과 개선할 부분을 살펴보고 메인테이너에게 제안을 전달한다고 안내합니다. 소개문에는 조사 참여자 수나 구체적인 연구 결과, 제안 내용은 포함되지 않습니다.

8. OpenSearch Dashboards의 Prometheus 통합과 자연어 쿼리

원문: From Logs to Metrics: OpenSearch’s Prometheus support with Agentic AI and Natural Language to PromQL · Anirudha Jadhav, Kyle Hounslow

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Anirudha Jadhav와 Kyle Hounslow는 OpenSearch Dashboards의 네이티브 Prometheus 지원을 소개합니다. 데이터 수집과 스키마 호환성부터 시각화, 알림, 통합 쿼리까지 다루며, 로그와 메트릭을 오가며 조사하는 사용 흐름을 보여주는 발표입니다.

발표자들은 agentic AI 기능이 디버깅과 조사 과정의 수작업을 줄인다고 설명합니다. 자연어를 PromQL로 변환하는 인터페이스도 시연 대상으로 제시합니다. 사용자가 보고 싶은 내용을 말로 기술하면 복잡한 쿼리를 생성하는 기능입니다. 소개문에는 사용한 모델, 에이전트 구성, 쿼리 생성 정확도나 지원 버전은 나오지 않습니다.

9. Prometheus를 이용한 OTel Collector 파이프라인 진단

원문: Debugging the Pipeline: Observability for Your Observability with OTel + Prometheus · Israel Blancas

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Israel Blancas는 시스템을 관찰하는 도구 자체에 문제가 생겼을 때 이를 감지하고 진단하는 방법을 다룹니다. Collector의 스크레이프 중단, Target Allocator 이상, 필요한 시점의 메트릭 누락이 발표에서 제시하는 문제 상황입니다.

발표는 Prometheus 자체를 사용해 OTel Collector 파이프라인을 모니터링하고 디버깅하는 방법을 안내합니다. 파이프라인의 상태 신호를 이해하고 설정 오류와 성능 병목을 찾는 과정이 포함됩니다. Target Allocator의 특성, Prometheus remote write 문제, 실용적인 알림 구성도 다룹니다. 소개문은 실무 사례와 대시보드를 다루는 발표라고 설명하지만, 구체적인 메트릭 이름이나 알림 규칙은 제시하지 않습니다.

10. AxoSyslog 로그 처리 로직의 사용자 정의 메트릭

원문: Counting What You Care About in Your Security Data Pipeline · Attila Szakács

PromCon EU 2025 발표 소개문을 기준으로 정리했습니다. Attila Szakács는 syslog-ng의 고성능 포크인 AxoSyslog가 네이티브 Prometheus 메트릭을 도입하고, 사용자의 로그 처리 로직에서 직접 메트릭을 내보내도록 확장한 과정을 소개합니다. 기존 syslog 시스템이 제공하던 소수의 고정 형식 메트릭으로는 사용자가 실제로 알고 싶은 내용을 표현하기 어렵다는 문제에서 출발합니다.

AxoSyslog는 CSV 형태의 전역 메트릭과 드라이버별 메트릭에서 Prometheus 통합으로 전환했습니다. 발표자가 강조하는 방향은 메트릭을 시스템에 고정된 결과물로 취급하지 않고, 사용자가 필요한 관점을 프로그래밍할 수 있게 만드는 것입니다. 로그 라우팅 로직에서 세분화된 메트릭을 생성하고 여러 레이블을 붙일 수 있습니다.

소개문은 테넌트별 메시지 양 집계, 로그나 실행 환경 관련 사용자 정의 정보의 레이블 추가, 특정 필드의 누락 빈도 관찰을 활용 예로 듭니다. 발표에서는 update_metric()의 동작과 동적 메트릭으로 디버깅·정책 집행을 개선한 사례를 다룬다고 밝힙니다. 함수의 구체적인 사용법이나 사례별 결과 수치는 소개문에 포함되지 않습니다.

마지막 수정 일자