observability
-
코드를 안 고치고 추적하는 법 — 관측과 보안 후킹의 공통 조상
서비스는 멀쩡히 도는데 로그를 남기려면 보통 모든 함수를 고쳐야 한다. 그런데 Tempo·Beyla는 코드 수정 없이 추적을 해냈다. 그 마법의 정체는 auto-instrumentation이고, 알고 보면 보안 업계가…
-
관측 스택 한 줄 정의 — Prometheus·Loki·Tempo·Grafana, 그리고 Beyla·Linkerd
관측 프레임워크는 이름만 보면 다 비슷하다. ‘어떤 불편을 없애려고 만들어졌나’로 읽으면 갈린다. Prometheus는 측정항목, Loki는 로그, Tempo는 추적, Grafana는 시각화. 그리고 코드 무수정 관측의 다리인…
-
eBPF 정리 — 커널을 고치지 않고 커널을 바꾸는 법, 그리고 “어디까지 eBPF 인가”라는 질문
eBPF 는 커널을 재컴파일하거나 재부팅하지 않고 커널 안에서 내 코드를 돌리는 장치입니다. 검증기·JIT·맵·훅이라는 구조를 먼저 정리하고, 그 위에서 관측 자동계측과 네트워크 데이터패스가 각각 무엇을 얻고…
-
[관측 확장 #2] 접속자를 지도 위에 올리기 — 똑같이 생긴 “No data” 를 네 갈래로 가르는 법
접속자 IP 를 좌표로 바꿔 Grafana Geomap 에 올리는 일에서 어려운 쪽은 배선이 아니라 빈 패널의 원인을 가르는 일이었습니다. 라벨 폭발로 로그가 상류에서 버려지는 것,…
-
[관측 확장 #1] 활동 모니터를 PostgreSQL 위에 다시 그리기 — 누적 카운터와 순간 표본은 다른 물건이다
진단 화면은 베낄 수 있지만 그 화면을 떠받치는 계측은 베낄 수 없습니다. SQL Server 의 활동 모니터를 PostgreSQL 대시보드로 옮기면서, 누적 카운터와 순간 표본의 차이…
-
[홈랩 검증기] TCP는 붙는데 HTTP만 죽었다 — Cilium L7 프록시를 계층별로 배제한 기록
HTTP readiness probe를 쓰는 파드 9개만 동시에 NotReady가 됐습니다. exec·tcp probe 파드는 멀쩡했고 DNS도 서비스 VIP도 정상이었습니다. TCP는 붙는데 HTTP 응답만 오지 않는 상태를 계층별로…
-
[홈랩 검증기] READY 1/1인데 고장나 있었다 — 준비 상태가 증명하지 않는 것들
DB를 재기동한 뒤 모든 파드가 READY 1/1이었습니다. 그런데 애플리케이션은 DB에 닿지 못하고 있었고, DB 크기는 줄어든 것처럼 보였고, 제가 쓴 점검 명령은 고장난 파드를 걸러내지…
-
“뭔가 이상한데”가 신호일 때 — 기대와 실제의 간극을 무시하지 않는 개발 습관
어떤 분야를 오래 한 사람일수록 ‘뭔가 이상한데’라는 말을 자주 합니다. 그 감각의 정체를 ‘시도·기대·실제’라는 회고 프레임으로 풀어보고, 기대와 실제의 간극을 ‘되겠거니’ 하고 넘겼다가 사고로 이어진…
-
[백엔드 운영] Hikari가 공짜로 해주던 것 — 커넥션 누수 추적을 직접 만들어 보다
커넥션을 빌리고 반납을 안 하면 풀은 조용히 고갈된다. HikariCP는 leakDetectionThreshold 한 줄로 누수를 stacktrace까지 잡아주지만, Go pgxpool엔 그 기능이 없어 직접 만들어야 한다. 같은 UX를…
-
[백엔드 운영] 커넥션 풀이 막히는 순간을 숫자로 읽는 법 — Hikari와 pgxpool은 같은 고갈을 다르게 보여준다
active·idle·awaiting·total·max 다섯 숫자와 p50·p99로 풀의 상태를 읽는 법. 그리고 같은 풀 고갈을 HikariCP는 awaiting 게이지로, Go pgxpool은 누적 카운터로 보여주는 관측 패러다임 차이까지 — 두…