Skip to Content
Testing앱 관측성

앱 관측성

가용성

관측 가능성 API는 partially implemented입니다. 오늘날에는 두 가지 데이터 소스가 유용합니다.

  • 추가 전용, 수동으로 입력된 이벤트 타임라인 그리고
  • libvirt에 의해 보고된 현재 VM 리소스 할당입니다.

다음은 계약 미리보기 전용입니다.

  • 액세스 로그 수집이 실행되고 있지 않기 때문에 요청 분석이 빈 롤업 목록을 반환합니다.
  • 가동 시간 프로브 구성이 지속되지만 HTTP 검사를 수행하는 스케줄러가 없습니다.
  • 샘플러가 실행 중이 아니기 때문에 리소스 샘플이 비어 있습니다. 그리고
  • 앱 로그 스트리밍이 구현되지 않습니다.

완성된 관측 가능성 대시보드가 ​​없습니다. 저장된 프로브 구성은 엔드포인트가 확인되었다는 증거가 아닙니다.

현재 REST 표면

경로는 /api/app-gateway 아래에 있습니다.

방법경로오늘 증명된 것
GET/analytics/{slug}?days=7계약에 도달할 수 있습니다. rollups는 비어 있을 것으로 예상됩니다.
PUT/probes/{slug}프로브 구성이 검증되고 저장되었습니다.
GET/probes/{slug}저장된 구성을 읽을 수 있습니다. 런타임 상태는 설정되지 않은 상태로 유지됩니다.
DELETE/probes/{slug}저장된 구성이 제거되었습니다.
POST/events/{slug}호출자 제공 이벤트가 추가되었습니다.
GET/events/{slug}?limit=100저장된 이벤트는 최신 항목부터 읽을 수 있습니다.
GET/metrics/{slug}?vm_name={name}현재 할당이 반환될 수 있습니다. samples은 비어 있습니다.

프로브 구성

PUT /api/app-gateway/probes/my-app Content-Type: application/json { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }

현재 읽기는 다음과 같습니다.

{ "config": { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }, "last_run_at": null, "last_status": null, "last_http_status": null, "consecutive_failures": 0 }

null 런타임 필드는 중요한 신호입니다. 검사가 실행되지 않았습니다. 스케줄러가 출시될 때까지 가용성 알림을 위해 외부 모니터를 사용하세요.

이벤트

이벤트는 자동으로 완성되는 감사 추적이 아니라 API를 통해 작성된 지속 가능한 기록입니다. 배포, 체크포인트, 도메인 및 워커 후크는 여전히 보류 중이므로 호출자는 해당 활동이 명시적인 추가 없이 나타날 것이라고 가정해서는 안 됩니다.

이벤트 메타데이터를 호출자 제공 데이터로 처리합니다. 그 안에 비밀을 두지 마십시오.

자원 할당

메트릭 경로는 libvirt에서 일치하는 VM을 사용할 수 있는 경우 할당된 vCPU, 메모리 및 디스크를 보고할 수 있습니다. 아직 시계열이나 애플리케이션 수준 상태를 보고하지 않습니다. 할당은 용량 구성이며, 애플리케이션이 해당 용량을 사용했거나 유지했다는 증거는 아닙니다.

운영 지침

수집 및 작업자 루프가 배포될 때까지:

  1. 가동 시간을 위해 외부 HTTP 모니터를 사용합니다.
  2. 운영자 관리 메커니즘으로 애플리케이션 로그를 수집합니다.
  3. 실제 활용을 위해 libvirt 또는 호스트 원격 측정을 사용합니다. 그리고
  4. 미리보기 이벤트 목록에만 의존하기보다는 사건 기록에 타임스탬프와 소스 증거를 첨부합니다.

이 기능은 재시작 안전 수집, 프로브, 샘플링 및 로그 스트림 작업자가 엔드투엔드 실패 및 복구 테스트를 통과한 후에만 준비된 것으로 표시될 수 있습니다.