TL;DR
- StatLite는 Spring Boot Actuator를 대상으로 이력, 차트, 재시작 감지, 로컬 SQLite 저장 기능을 제공하는 셀프 호스팅 대시보드임.
- Quarkus, Micronaut, FastAPI, Express, Django 등도 지원하며, 경량 통합에는 고정 형식의 StatLite Metrics v1을 사용할 수 있음.
- Go 바이너리 하나와 로컬 데이터베이스 하나로 동작하며, 현재 측정 기준 유휴 메모리 사용량은 약 15 MiB임.
- 외부 모니터링 서비스 없이 애플리케이션과 호스트의 상태·트래픽·지연 시간·CPU·메모리·파일시스템 용량을 확인할 수 있음.
- 소수의 애플리케이션이나 소규모 팀에 적합하며, 대규모 인프라·로그·트레이스·복잡한 경보가 필요하면 더 폭넓은 관측성 플랫폼이 적합함.
StatLite를 로컬에서 실행하기
http://127.0.0.1:9090에서 대시보드를 열 수 있으며, StatLite는 기본 설정만으로 자기 자신을 모니터링하므로 애플리케이션 설정 전에 대시보드를 살펴볼 수 있음.- Docker에서
ghcr.io/pvrlabs/statlite:latest이미지를 실행하고 호스트의127.0.0.1:9090을 컨테이너의9090포트에 연결하는 방식임. - Actuator는 유용한 운영 데이터를 제공하지만, 가공되지 않은 JSON 엔드포인트는 일상적으로 사용하기에 실용적인 대시보드가 아니라는 문제의식에서 출발함.
StatLite 설치
- macOS 또는 Linux에서 최신 릴리스를 설치할 수 있으며, 설치 스크립트는
~/.local/bin에 설치하고 해당 경로가 포함되지 않았다면PATH에 추가해야 함. - 설치 스크립트 주소는 https://raw.githubusercontent.com/PVRLabs/statlite/main/install.sh이며, 고급 설치 옵션도 제공됨.
- 비공개 또는 보호된 네트워크를 대상으로 설계됐으며, 내장 인증 기능은 포함하지 않음.
애플리케이션을 위한 집중형 대시보드
- Spring Boot Actuator의 상태, 트래픽, 지연 시간, CPU, 메모리, 재시작 정보를 하나의 대시보드에서 확인할 수 있음.
- 현재 측정 기준 유휴 상태에서 약 15 MiB를 사용하며, Go 바이너리 하나와 로컬 SQLite 데이터베이스 하나로 구성됨.
- 외부 모니터링 서비스를 요구하지 않는 셀프 호스팅 이력 기능을 제공함.
- 자체 모니터링 또는 해당 정보를 노출하는 애플리케이션을 통해 CPU, 메모리, 파일시스템 용량 등 호스트 지표를 확인할 수 있음.
Spring Boot용으로 설계하고 다른 프레임워크에도 활용
- Actuator가 이미 제공하는 지표에 집중형 이력과 차트를 더하며, Prometheus와 Grafana 전체 스택을 배포할 필요가 없음.
- Quarkus와 Micronaut도 지원하며, 1 GiB 가상 사설 서버(VPS)에서 진행한 JDBC 실험과 512 MB 환경의 이전 Spring Boot·Quarkus 비교 자료를 제공함.
- Spring Boot 가이드, FastAPI 모니터링, Express 모니터링 안내를 제공함.
- 지원 대상과 지표 형식은 다음과 같음.
- Spring Boot Actuator: Spring Boot 애플리케이션의 상태 및 지표 엔드포인트.
- Quarkus: Micrometer Prometheus/OpenMetrics 지표와 선택 사항인 SmallRye Health.
- Micronaut: Micrometer Prometheus 지표와 선택 사항인 management health.
- StatLite Metrics v1: FastAPI, Express, Django 가이드가 제공되는 경량 애플리케이션 통합용 고정 JSON 프로필. Express 안내에서는
/statlite/metrics노출 방법을 설명하며, StatLite 설정 기능은 이에 맞는 대상 설정을 생성함. - 자체 모니터링: StatLite 자체 호스트와 SQLite 파일시스템 용량 모니터링.
- 설정 예시는 대상 이름을
my-app, 유형을spring, URL을http://localhost:8080/actuator로 지정하는 구성임.
의도적으로 작은 범위
- 한두 개의 애플리케이션, 소규모 VPS 배포, 개인 개발자와 소규모 팀, 집중형 애플리케이션·호스트 지표에 적합함.
- 다음 요구가 있다면 더 폭넓은 관측성 플랫폼을 사용하는 편이 적합함.
- 대규모 서버 집합 또는 Kubernetes 중심 인프라
- 임의의 지표와 대시보드
- 로그, 트레이스, 분산 저장소 또는 복잡한 경보
- GitHub에서 StatLite에 별표를 추가하면 더 많은 개발자가 제품을 찾는 데 도움이 된다는 안내가 포함됨.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요