이야기를 디버깅하는 개발자.

개발과 창작 사이에서, 사람들이 자기만의 이야기를 만들 수 있는 도구와 기록을 만듭니다.

roslyn.dev 자세히보기

opentelemetry 3

1인 서비스의 OpenTelemetry Collector export topology

OpenTelemetry를 처음 붙일 때 애플리케이션에서 로그·메트릭·트레이스를 원하는 백엔드로 바로 보내면 간단해 보입니다. 하지만 백엔드를 바꾸거나 샘플링·필터링을 조정할 때 애플리케이션을 다시 배포해야 합니다.혼자 운영하는 서비스에서도 Collector를 둘 가치가 있는지 판단하기 위해서는 멋진 다이어그램보다 데이터가 어디에서 사라질 수 있는지를 먼저 봐야 합니다. 이번 글에서는 최소 구성의 책임 경계를 정리합니다.세 신호는 서로 다른 질문에 답합니다트레이스는 한 요청이 어디를 지나갔는지 알려 주고, 메트릭은 시스템이 얼마나 바쁜지 보여 주며, 로그는 특정 사건의 맥락을 설명합니다. 셋을 모두 수집한다고 자동으로 장애 원인을 찾을 수 있는 것은 아닙니다.저는 알림에는 메트릭을, 원인 추적에는 트레이..

1인 서비스 장애 공지 페이지를 만드는 최소 구성

혼자 운영하는 서비스에서 장애가 나면 코드부터 고치고 싶습니다. 그러나 사용자는 원인이 무엇인지보다 지금 사용할 수 있는지, 언제 다시 확인하면 되는지를 먼저 알고 싶어 합니다. 공지가 늦으면 작은 장애도 불안으로 커집니다.이번 글에서는 복잡한 상태 페이지 제품이 아니라, 혼자서 실제로 갱신할 수 있는 장애 공지의 최소 구성을 정리합니다. 관측 데이터와 공지 문장을 연결해 사후 회고까지 이어지는 흐름을 목표로 합니다.장애 공지는 네 가지 사실로 시작합니다첫 공지에는 원인을 추측해 쓰지 않습니다. 발생 시각, 영향 범위, 현재 조치, 다음 업데이트 시각 네 가지만 적습니다. 원인이 확인되지 않았는데 ‘서버 문제’라고 단정하면 나중에 공지를 다시 고쳐야 합니다.영향 범위는 모든 사용자가 아니라 특정 기능·지..

OpenTelemetry가 기본으로 들어온 시대 — 1인 서비스의 관측 구성 최소안

느리다는 문의를 받고 로그를 열었는데 아무것도 못 찾은 적이 있습니다. 로그에는 요청이 들어왔다는 줄과 응답을 보냈다는 줄이 있었고, 그사이에 무슨 일이 있었는지는 비어 있었습니다. 데이터베이스가 느렸는지, 외부 API가 늦게 답했는지, 제 코드가 오래 걸렸는지 구분할 방법이 없었습니다.로그 도구를 바꾼다고 해결되는 문제가 아니었습니다. 필요한 것은 하나의 요청이 어디를 거쳐 얼마나 걸렸는지 이어 보는 방법이었고, 그게 분산 추적입니다. .NET 11에서는 ASP.NET Core가 OpenTelemetry 태그를 네이티브로 방출하는 방향으로 가고 있어서, 이 부분을 다시 정리해볼 만한 시점이 됐습니다. 아래 .NET 11 관련 내용은 현재 프리뷰 기준이며 GA까지 바뀔 수 있습니다.세 축은 각자 답하는 ..

반응형