본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 시스템·유틸리티 · 윈도우즈 유틸

beszel-agent

0

beszel-agent는 henrygd가 개발한 오픈소스 서버 모니터링 플랫폼 Beszel의 에이전트 구성요소로, 모니터링 대상 시스템에서 시스템 메트릭을 수집해 Hub로 전송하는 경량 프로세스입니다.

GPU 모니터링모니터링서버 메트릭셀프호스트홈랩

소개

beszel-agent는 henrygd가 개발한 오픈소스 서버 모니터링 플랫폼 Beszel의 에이전트 구성요소로, 모니터링 대상 시스템에서 시스템 메트릭을 수집해 Hub로 전송하는 경량 프로세스입니다. Windows에서는 NSSM 기반 서비스로 동작하도록 패키징되어 있으며, 호스트 시스템과 컨테이너의 CPU, 메모리, 디스크, 네트워크 사용량을 측정할 수 있습니다. 본 패키지는 winget 채널의 henrygd.beszel-agent 패키지로 배포되며, 라이선스는 MIT입니다.

상세정보

호스트 및 컨테이너 메트릭 수집

CPU 사용량, 메모리 사용량, 디스크 사용량과 디스크 I/O, 네트워크 사용량을 호스트 시스템과 Docker/Podman 컨테이너 단위로 측정합니다. 메모리 사용량에는 스왑과 ZFS ARC도 포함됩니다.

시스템 상태 및 부하 지표

호스트의 로드 평균, 온도 센서, 배터리 상태, 그리고 Linux의 /sys/class/hwmon을 통한 팬 속도를 측정합니다. 디스크 건강 상태는 S.M.A.R.T. 정보로 확인할 수 있습니다.

GPU 사용량 및 전력 모니터링

에이전트는 NVIDIA, AMD, Intel GPU의 사용량과 전력 소모를 보고합니다. Windows에서 NVIDIA GPU를 모니터링할 때는 WSL2 환경과 nvidia-smi 연동이 사용됩니다.

ZFS 및 컨테이너 통합

ZFS 풀의 용량과 사용량, 헬스, I/O 처리량, 스크럽 상태, 데이터셋별 사용량을 추적합니다. 실행 중인 Docker/Podman 컨테이너들의 상태와 메트릭도 함께 수집합니다.

경량 동작 및 Hub 연동

에이전트는 자체적으로 최소 리소스를 사용하도록 설계된 경량 프로세스이며, 수집한 메트릭을 사전 구성된 Hub 서버로 전송합니다.

설치 및 기본 사용

Windows에서는 winget 채널의 henrygd.beszel-agent 패키지로 배포됩니다. 설치는 다음 명령으로 수행할 수 있습니다.

  • winget install --exact --id henrygd.beszel-agent

설치 후 에이전트를 NSSM을 사용해 Windows 서비스로 등록하면 백그라운드에서 상시 동작합니다. 공식 저장소의 supplemental 스크립트에서는 NSSM으로 beszel-agent 서비스를 만들고, KEY, TOKEN, HUB_URL, PORT 같은 환경 변수를 AppEnvironmentExtra 항목에 설정하는 방식이 안내됩니다. 서비스를 시작한 뒤에는 동일한 Hub에 접속해 에이전트 상태와 수집된 메트릭을 Beszel 대시보드에서 확인할 수 있습니다.

활용 예시

  • Docker/Podman 컨테이너를 운영 중인 호스트에서 컨테이너별 CPU, 메모리, 네트워크 사용량을 추적
  • WSL2 기반 NVIDIA GPU 사용량을 함께 확인하면서 GPU 워크로드 상태를 모니터링
  • 디스크 여러 개와 ZFS 풀을 사용하는 환경에서 파티션·데이터셋 단위 사용량과 I/O 확인

제한 및 확인 사항

  • 에이전트 자체는 Windows 네이티브 서비스가 아니므로 NSSM과 같은 서비스 래퍼를 통한 등록이 필요합니다.
  • Windows에서 NVIDIA GPU 메트릭을 사용하려면 WSL2와 NVIDIA 드라이버가 올바르게 설정되어 있어야 합니다.
  • 에이전트가 메트릭을 전송할 Hub 서버로의 네트워크 연결이 필요합니다.
  • 패키지의 정식 라이선스는 Beszel 프로젝트의 MIT 라이선스입니다.

시스템 요구사항

Windows 10 이상(x64) 환경에서 NSSM 등 서비스 래퍼를 통해 beszel-agent.exe를 등록해 백그라운드에서 실행해야 합니다. GPU 사용량을 모니터링하려면 WSL2와 NVIDIA 드라이버가 함께 구성되어 있어야 하며, Hub 서버와의 네트워크 연결이 필요합니다. 설치 후 키(SSH Key)와 선택적으로 TOKEN, HUB_URL, PORT 등의 환경 변수가 에이전트에 설정되어야 합니다.