태그: #observability
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 118 편
Langfuse SDK 계측 — 무엇이 자동으로 잡히고 무엇을 손으로 넣나
트레이스를 만드는 일은 SDK를 설치하는 일이 아니라 경계를 긋는 일입니다. 이 글은 Langfuse 파이썬 SDK v4를 기준으로 데코레이터, 컨텍스트 매니저, 수동 생성 세 가지 계측 방식이 각각 무엇을 다르게 하는지 정리하고, 속성을 하위로 흘려보내는 propagateattributes가 왜 필요한지, OpenAI와 LangChain 같은 프레임워크 통합이 자동으로 잡아 주는 범위가 어
2026-08-14 · 15 분 읽기 #observability#langfuse#llm-tracing#instrumentation#opentelemetryLangfuse가 트레이스를 ClickHouse에 두는 이유 — 저장 계층의 역할 분담
Langfuse를 직접 띄워 보면 저장소가 하나가 아니라는 사실에 먼저 놀랍니다. ClickHouse, Postgres, Redis, 오브젝트 스토리지 네 가지가 각각 다른 몫을 맡습니다. 이 글은 공식 문서를 기준으로 각 저장소가 무엇을 담는지, 수집된 이벤트가 어떤 순서로 이 구성 요소들을 지나가는지, 큰 payload가 어디로 빠지는지를 정리합니다. 컬럼 지향 저장이 트레이스 분석 질의
2026-08-14 · 20 분 읽기 #observability#langfuse#clickhouse#architecture#postgresLangfuse 자체 호스팅 — 배포 경로, 시크릿, 그리고 첫 기동에서 걸리는 것들
Langfuse를 직접 운영하려면 컨테이너 두 개와 저장소 네 개를 동시에 세워야 합니다. 이 글은 공식 문서를 기준으로 docker compose 경로와 헬름 차트 경로를 각각 정리하고, 반드시 직접 만들어 넣어야 하는 시크릿이 무엇인지, Postgres와 ClickHouse의 연결 문자열이 왜 두 개씩 필요한지, 오브젝트 스토리지 설정에서 MinIO가 요구하는 옵션이 무엇인지를 짚습니다.
2026-08-14 · 17 분 읽기 #observability#langfuse#self-hosting#docker-compose#kubernetes트레이스가 비용이 될 때 — Langfuse의 보존, 샘플링, 마스킹
트레이싱은 트래픽이 적을 때는 공짜처럼 보이다가 어느 순간 저장 비용과 개인정보 문제로 되돌아옵니다. 이 글은 Langfuse에서 양이 비용으로 바뀌는 지점을 네 곳으로 나눠 정리하고, 공식 문서 기준으로 샘플링이 trace 단위로 결정된다는 사실과 그것이 실무에서 무엇을 뜻하는지, 파이썬과 JS 각각의 마스킹 방식이 데이터를 어느 시점에 가리는지를 확인합니다. 보존 정책의 기본값이 삭제하지
2026-08-14 · 17 분 읽기 #observability#langfuse#cost#sampling#data-retentionLangfuse 트레이싱 데이터 모델 — trace, observation, score가 한 번의 실행을 담는 방식
Langfuse 화면을 먼저 보면 무엇을 보고 있는지 알 수 없습니다. 이 글은 Langfuse가 수집하는 데이터의 형태부터 정리합니다. trace가 무엇을 묶고 observation이 span·generation·event로 갈리는 기준은 무엇인지, session과 user가 trace 위에 어떤 층으로 얹히는지, score가 어디에 붙는지를 공식 문서 기준으로 확인합니다. RAG 한 번의
2026-08-14 · 15 분 읽기 #observability#langfuse#llm-tracing#data-modeling#opentelemetry수집한 다음 — Langfuse 대시보드, 메트릭 API, 그리고 트레이스에 붙는 평가
트레이스를 모으는 것과 그 트레이스로 답을 얻는 것은 다른 일입니다. 이 글은 Langfuse가 제공하는 지표 축이 무엇이고 그것을 어떤 차원으로 쪼개 봐야 하는지 정리한 뒤, 메트릭 API v2의 질의 구조를 실제 요청 형태로 확인합니다. v4에서 traces 뷰가 사라지고 observations 중심으로 재편된 변화, score가 trace·observation·session·데이터셋 실
2026-08-14 · 17 분 읽기 #observability#langfuse#llm-evaluation#metrics-api#dashboardDeepSeek Harness의 플러그인 커널 구조 — 되감을 수 있는 에이전트는 무엇이 다른가
DeepSeek이 공개한 오픈소스 코딩 에이전트 Harness는 모델도 도구도 UI도 전부 플러그인으로 만든 구조입니다. 그런데 실제로 흥미로운 부분은 플러그인이라는 단어가 아니라 두 가지 설계 결정입니다. 하나는 모든 실행을 추가 전용 이벤트 로그로 남겨 재개·분기·재생을 같은 스트림 위에서 처리한다는 것이고, 다른 하나는 플러그인 해제 시 부수 효과를 되돌리도록 강제한다는 것입니다. 이
2026-08-14 · 15 분 읽기 #ai-agent#architecture#plugin-system#observability#open-source지금 주목받는 오픈소스 (4) 관측 가능성과 보안
관측 데이터는 양이 곧 비용이고, 보안 도구는 파이프라인에 들어가지 못하면 쓰이지 않습니다. 계측 표준, 저장 엔진, eBPF 기반 런타임 감시, 공급망 검증까지 실제로 자리를 잡은 오픈소스 12개를 스타 순위가 아니라 담당하는 층별로 묶어 소개합니다. 무엇을 대체하는지, 성숙도가 어느 정도인지, 언제 쓰면 안 되는지를 함께 적었습니다. 저장소 경로와 라이선스, 스타 수, 최근 푸시는 202
2026-08-12 · 9 분 읽기 #open-source#observability#security#opentelemetry#ebpfvLLM 메트릭 — 무엇을 대시보드에 올리고 무엇으로 알람을 걸까
vLLM이 노출하는 시계열은 GPU 메트릭이 답하지 못하는 질문에 답합니다. 지금 몇 개가 실행 중이고 몇 개가 대기 중인지, KV 캐시가 얼마나 찼는지, 첫 토큰까지 얼마나 걸리는지 같은 것들입니다. 이 글은 vLLM 공식 문서와 저장소의 메트릭 로거 소스를 직접 읽고 스케줄러 상태 게이지, 캐시 계열 카운터, 지연 히스토그램의 정확한 이름과 의미를 정리하고, 카운터 이름의 접미사 차이처럼
2026-08-12 · 13 분 읽기 #gpu#kubernetes#vllm#prometheus#observabilityDCGM Exporter — GPU 이용률은 당신이 생각하는 그것이 아니다
DCGM Exporter는 GPU 텔레메트리를 프로메테우스 형식으로 노출하는 표준 경로지만, 가장 많이 대시보드에 올라가는 GPU 이용률 계열 메트릭은 사람들이 기대하는 것을 재지 않습니다. 이 글은 dcgm-exporter 저장소의 기본 카운터 CSV와 DCGM 공식 문서, NVML API 문서를 직접 읽고 기본으로 켜져 있는 메트릭 목록, 이용률 메트릭이 실제로 무엇을 뜻하는지, 함께 봐
2026-08-12 · 17 분 읽기 #gpu#kubernetes#dcgm#prometheus#observabilityGPU 서빙 SLO와 알람 설계 — 무엇을 약속하고 무엇을 깨울 것인가
GPU 추론 서비스에 SLO를 걸려면 먼저 어떤 지표가 사용자 경험을 대변하는지 정해야 합니다. 첫 토큰 지연과 처리량은 서로를 잡아먹는 관계라 하나만 보고 목표를 세우면 반드시 다른 쪽이 무너집니다. 이 글은 vLLM과 DCGM Exporter가 실제로 노출하는 시계열만 써서 SLI를 정의하는 방법, 히스토그램 버킷 경계를 임계값으로 삼아야 하는 이유, 포화 신호를 읽는 순서, 증상 기반
2026-08-12 · 13 분 읽기 #gpu#kubernetes#slo#alerting#prometheusNVIDIA GPU Operator 소개 — 원래 손으로 깔아야 했던 여섯 조각
쿠버네티스에서 GPU를 쓰려면 드라이버, NVIDIA Container Toolkit, 디바이스 플러그인, DCGM, GPU Feature Discovery, Node Feature Discovery를 노드마다 손으로 맞춰야 했습니다. NVIDIA GPU Operator는 이 조각들을 하나의 오퍼레이터로 묶고 ClusterPolicy 하나로 상태를 관리합니다. 각 컴포넌트가 정확히 무엇을 하
2026-08-12 · 11 분 읽기 #gpu#kubernetes#gpu-operator#nvidia#dcgm방문자 통계로는 트래픽의 0.5퍼센트만 보인다 — 봇 방어는 자기 신고가 아니라 출처로 한다
150만 페이지짜리 사이트를 1년간 스크레이퍼로부터 방어한 기록을 근거로, 봇 트래픽 대응의 원칙을 정리합니다. 자바스크립트 기반 분석 도구는 봇을 세지 못하므로 서버 로그를 봐야 하고, 사용자 에이전트 같은 자기 신고 값 대신 ASN과 지리 위치, 암호학적으로 검증된 봇 여부처럼 위조하기 어려운 출처 정보로 규칙을 세워야 합니다. 크롤당 유입 방문자 수라는 지표, Cloudflare가 공개
2026-08-09 · 21 분 읽기 #network#bot#cloudflare#waf#scraping질문에 답하는 Prometheus 메트릭 설계 — 타입 선택, 카디널리티 예산, rate 와 분위수의 함정
메트릭은 많을수록 좋은 것이 아니라 질문에 답할 수 있어야 쓸모가 있습니다. 카운터와 게이지와 히스토그램이 각각 어떤 질문에 답하는지, 잘못 고르면 어떤 계산이 원리적으로 불가능해지는지부터 정리합니다. 레이블 카디널리티를 감으로 다루지 않도록 숫자로 예산을 잡는 방법, rate 와 histogramquantile 이 조용히 틀린 답을 주는 조건, 그리고 레코딩 룰을 언제 어떤 이름으로 만드는
2026-08-02 · 28 분 읽기 #observability#prometheus#promql#metrics#cardinality읽히는 대시보드와 울릴 만한 경보 — 질문 정의, 변수 구성, SLO, 그리고 경보 피로
대시보드는 예뻐 보이는 것이 아니라 정해진 질문에 순서대로 답해야 쓸모가 있습니다. 패널을 만들기 전에 답할 질문을 적는 방법부터, 데이터소스와 변수를 어떻게 구성해야 하나의 대시보드가 여러 환경에서 재사용되는지를 다룹니다. 경보는 원인이 아니라 증상에 걸어야 하는 이유를 사례로 보이고, SLO 와 에러 버짓, 멀티 번레이트 경보를 실제 규칙으로 작성합니다. 마지막으로 경보 피로를 줄이는 규
2026-08-02 · 24 분 읽기 #observability#grafana#alerting#slo#dashboards로그를 검색 가능하게, 그리고 파산하지 않게 — 구조화, 매핑 폭발, 보존, 그리고 진짜 비용
로그 비용이 컴퓨트 비용을 넘어서는 시점은 대부분의 조직에 옵니다. 그 시점을 늦추는 것은 압축률이 아니라 무엇을 필드로 만들 것인가에 대한 결정입니다. 구조화 로그의 필드 설계부터 OpenSearch 매핑 폭발이 실제로 클러스터를 죽이는 경로, 인덱스 템플릿과 ISM 으로 수명주기를 통제하는 방법, 원칙 있는 샘플링과 보존 계층을 다룹니다. 마지막으로 로그로 메트릭을 흉내 낼 때 드는 비용
2026-08-02 · 24 분 읽기 #observability#logging#opensearch#elasticsearch#cost관측 데이터를 ClickHouse에 넣는다는 것 — 스키마, 롤업, TTL, 그리고 역할 분담
트레이스와 로그가 하루 수 TB로 늘어나면 검색 엔진이나 시계열 DB 하나로 버티기 어려워집니다. ClickHouse 가 관측 데이터에 잘 맞는 이유를 컬럼 저장과 압축, 정렬 키의 관점에서 정리하고 트레이스와 로그 테이블을 실제 DDL 로 설계합니다. 속성을 Map 으로 둘 것인지 JSON 타입으로 둘 것인지의 판단 기준, 머티리얼라이즈드 뷰로 롤업을 만드는 방법, 파티셔닝과 TTL 로 비
2026-08-02 · 25 분 읽기 #observability#clickhouse#opentelemetry#data-modeling#cost애플리케이션에 OpenTelemetry 붙이기 — 자동 계측에서 수동 스팬까지, 그리고 컬렉터를 두는 이유
계측은 SDK를 설치하는 일이 아니라 순서를 지키는 일입니다. 자동 계측으로 하루 만에 골격을 세우고, 리소스 속성을 먼저 확정한 뒤, self time이 큰 구간에만 수동 스팬을 넣는 순서를 실제 서비스 하나를 끝까지 계측하며 보여줍니다. 컨텍스트 전파가 끊기는 네 지점인 스레드풀, 메시지 큐, 백그라운드 작업, 헤더를 지우는 프록시를 각각 재현하고 고칩니다. 마지막으로 컬렉터를 앱과 백엔
2026-08-02 · 27 분 읽기 #observability#opentelemetry#instrumentation#otel-collector#tracing평균은 아무것도 말하지 않는다 — 지연 시간을 분포로 디버깅하는 법
2026년 7월 27일 공개돼 해커뉴스 상단에 오른 Farid Zakaria의 글 "The mean means nothing"은 캐싱 계층을 배포한 뒤 평균 지연이 112ms에서 122ms로 9% 나빠진 상황을 다룹니다. 같은 데이터에서 p50은 99ms에서 54ms로 46% 개선됐고, p99는 309ms에서 678ms로 119% 악화됐습니다. 하나의 데이터가 정반대 결론 두 개를 동시에 지
2026-07-31 · 25 분 읽기 #observability#latency#performance#histogram#percentileAI 에이전트를 프로덕션에서 운영한다는 것 — 멱등성, 예산, 그리고 확신에 찬 오답
에이전트를 프로토타입에서 프로덕션으로 옮길 때 늦게 발견되는 운영 표면이 있습니다. 재시도된 도구 호출의 멱등성, 예산과 스텝 한도, 비결정적 제어 흐름의 관측 가능성, 도구별 권한 경계, 그리고 에이전트가 확신에 차서 틀렸을 때의 에스컬레이션 경로입니다. 최근 GeekNews Ask GN에 올라온 분석은 벤치마크 트레이스 6,780건에서 중복 도구 실행 8,042건을 찾았고, 그중 159건
2026-07-31 · 29 분 읽기 #ai#agents#observability#reliability#mcp