AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

.NET 애플리케이션 건강 상태 체크 설정 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

.NET 애플리케이션 개발자, DevOps 엔지니어, CI/CD 파이프라인 구성자

핵심 요약

  • 건강 상태 체크는 애플리케이션의 가용성을 확인하는 핵심 지표로, Healthy, Degraded, Unhealthy 상태를 반환하는 엔드포인트(/health)로 구성
  • 기본 설정은 AddHealthChecks()UseHealthChecks("/health")로 간단히 구현 가능
  • 데이터베이스 장애 시에도 Healthy 상태를 유지하는 한계가 존재
  • 커스텀 로직IHealthCheck 인터페이스 구현 후 AddCheck<>()로 등록 가능
  • SQL Server 등 외부 시스템 연동은 AddSqlServer() API로 지원

섹션별 세부 요약

1. 건강 상태 체크의 목적

  • 서비스 가용성 모니터링 및 자동 복구(예: Kubernetes Health Probe) 지원
  • Unhealthy 상태 시 애플리케이션 재시작 또는 알림 생성 가능
  • CI/CD 파이프라인에서 서비스 상태 실시간 확인 가능

2. 기본 설정 방법

  • DI 등록: builder.Services.AddHealthChecks();
  • 미들웨어 추가: app.UseHealthChecks("/health")
  • 기본 응답: Healthy200 OK, 나머지 상태는 Unhealthy

3. 커스텀 건강 체크 구현

  • IHealthCheck 인터페이스 구현 후 AddCheck<>()로 등록
  • 예시:

```csharp

builder.Services.AddHealthChecks().AddCheck("Sample");

```

4. 외부 시스템 연동

  • 데이터베이스: AddSqlServer() API로 연결 문자열 및 쿼리 설정

```csharp

.AddSqlServer("your-connection-string", "SELECT 1;", "sqlserver", HealthStatus.Unhealthy)

```

  • 시스템 모니터링: 디스크 공간, 네트워크 상태 등 기본 모니터링 지원

5. 상태 추적 옵션

  • UI 대시보드: 애플리케이션 내 URL로 접근 가능한 모니터링 인터페이스
  • Kubernetes/Docker: 자동 복구 기능 연동
  • 모니터링 도구: Application Insights, Grafana 등으로 메트릭 수집

결론

  • 건강 상태 체크는 서비스 가용성 향상과 문제 발생 시 빠른 대응을 위해 필수
  • 외부 시스템 연동 및 커스텀 로직 적용으로 정확한 상태 추적 가능
  • UI 대시보드 또는 Kubernetes Health Probe 활용을 권장