C# Academy · 강의

관측 가능성의 세 가지 핵심 요소

추적, 메트릭 및 로그를 이해합니다.

레슨 1/413개 단계

관측 가능성의 세 가지 핵심 요소은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

관측 가능성이란 무엇인가요

관측 가능성은 시스템이 내보내는 데이터로부터 시스템 내부 상태를 이해할 수 있는 능력입니다. 실행 중인 서비스에 대해 서비스가 정상인지, 왜 느린지, 무엇이 실패했는지에 답할 수 있습니다. 관측 가능성은 추적 데이터, 지표, 로그라는 세 가지 핵심 요소를 기반으로 합니다.

OpenTelemetry란 무엇인가요

OpenTelemetry(OTel)는 원격 측정 데이터를 생성하고 내보내기 위한 공급업체 중립적 표준이자 라이브러리 모음입니다. 한 번 계측하면 Jaeger, Prometheus, Grafana와 같은 여러 백엔드로 데이터를 보낼 수 있습니다.

dotnet add package OpenTelemetry.Extensions.Hosting

첫 번째 핵심 요소: 로그

로그는 개별 이벤트를 기록한 타임스탬프가 있는 기록입니다("사용자 42가 로그인함", "결제 실패"). 상세하고 사람이 읽기 쉬운 맥락을 제공하지만, 로그만으로는 내용이 너무 많고 집계하기 어려울 수 있습니다.

logger.LogInformation("Order {OrderId} placed by {UserId}", orderId, userId);

두 번째 핵심 요소: 지표

지표는 시간에 따라 집계되는 숫자 측정값입니다(요청 수, 오류율, 지연 시간 백분위수, CPU 사용량). 저장 비용이 저렴하며 대시보드와 알림에 적합합니다.

세 번째 핵심 요소: 추적 데이터

추적 데이터는 서비스 전체를 흐르는 하나의 요청을 따라가며, 이를 시간 정보가 있는 스팬으로 나눕니다. 어디에서 시간이 소요되었는지와 어떤 종속성이 지연을 일으켰는지를 보여 줍니다.

핵심 요소들이 서로 보완하는 방식

지표는 문제가 발생했다는 사실을 알려 줍니다(오류율이 급증함). 추적 데이터는 문제가 발생한 위치를 알려 줍니다(결제 서비스). 로그는 원인을 알려 줍니다(특정 주문에서 null 참조가 발생함). 이 셋을 함께 사용하면 완전한 디버깅 흐름을 파악할 수 있습니다.

상관관계가 핵심입니다

진정한 힘은 상관관계에서 나옵니다. 로그와 스팬에 동일한 추적 ID를 기록하면 지표 알림에서 장애가 발생한 특정 요청의 정확한 추적 데이터와 로그로 바로 이동할 수 있습니다.

OpenTelemetry의 신호

OTel에서는 이러한 핵심 요소를 신호라고 부릅니다. .NET에서는 이를 익숙한 기본 요소에 매핑합니다. 추적 데이터에는 Activity/ActivitySource, 지표에는 Meter, 로그에는 ILogger를 사용합니다.

호스트에 OpenTelemetry 추가하기

AddOpenTelemetry()를 사용해 신호를 활성화하고 추적과 지표를 구성합니다. 각각의 내용은 다음 레슨에서 자세히 다룹니다.

builder.Services.AddOpenTelemetry()
    .WithTracing(tracing => { })
    .WithMetrics(metrics => { });

리소스 속성

리소스는 텔레메트리를 생성하는 엔터티(서비스 이름, 버전, 환경)를 설명합니다. 리소스를 일관되게 설정하면 백엔드에서 데이터를 올바르게 그룹화하고 필터링할 수 있습니다.

builder.Services.AddOpenTelemetry()
    .ConfigureResource(r => r.AddService(
        serviceName: "checkout-api",
        serviceVersion: "1.4.0"));

자동 계측과 수동 계측

OpenTelemetry는 ASP.NET Core, HttpClient 등에 대한 자동 계측을 제공하며, 비즈니스에 특화된 정보를 얻기 위해 자체 스팬과 메트릭을 추가하는 수동 계측도 지원합니다.

간단한 확인

세 가지 핵심 요소를 확인해 보세요.

복습

관측 가능성은 세 가지 핵심 요소를 기반으로 합니다. 로그(이벤트, 발생 이유), 메트릭(집계된 수치, 발생한 사실), 트레이스(요청별 스팬, 발생 위치)입니다. OpenTelemetry는 세 가지를 모두 신호로 내보내는 공급업체 중립적 표준이며, .NET에서는 이를 Activity, Meter, ILogger에 매핑합니다. 트레이스 ID를 통한 상관 관계와 올바르게 설정된 리소스가 이들을 서로 연결합니다.

무료로 시작

AI 튜터와 함께 C#을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
93
레슨
346

자주 묻는 질문

“관측 가능성의 세 가지 핵심 요소” 강의는 무료인가요?

네 — “관측 가능성의 세 가지 핵심 요소” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“관측 가능성의 세 가지 핵심 요소”에서 뭘 배우나요?

추적, 메트릭 및 로그를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

C# Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“관측 가능성의 세 가지 핵심 요소” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 관측 가능성의 세 가지 핵심 요소
  2. 분산 추적
  3. 메트릭 수집
  4. 백엔드로 내보내기
← C# Academy(으)로 돌아가기