서버를 오래 운영해 보면 사고는 대개 평범한 데서 난다. 디스크가 꽉 차거나, 메모리 · CPU 가 100% 에 붙어 버리거나, 열린 파일 수가 한도에 걸려 서비스가 멈추는 식이다. 이런 걸 미리 보려고 이것저것 붙이다 보면 도구가
여러 개가 되고, 정작 필요한 숫자는 여기저기 흩어진다. 그걸 한 화면에서 간단하게 보고 싶어서 만들었다.
요즘은 LLM 때문에 GPU 서버를 같이 돌리는 곳이 많아서 GPU 도 같은 화면에 보이게 했다.
무엇을 보나
CPU — iowait 와 steal 을 따로 보여 준다. 90% 가 전부 iowait 면 CPU 가 아니라 디스크 문제다
메모리 — free 가 아니라 available 로 본다. 캐시 때문에 free 만 보면 늘 모자라 보인다
디스크 — 퍼센트와 남은 용량을 같이 보고, 쌓이는 추세로 「며칠 뒤 꽉 참」을 미리 계산한다
inode · 열린 파일 수 — 용량은 남았는데 파일을 못 만들거나, 파일 한도에 걸리는 경우
GPU — 카드마다 VRAM · 사용률 · 온도 · 전력, 그리고 어느 프로세스가 VRAM 을 잡고 있는지
서비스 — nginx · mysql 같은 systemd 서비스, 윈도우 서비스, 지정한 포트가 살아 있는지
알림
가장 무서운 건 CPU 90% 가 아니라 서버가 아무 말이 없는 상황이다. 죽은 서버는 스스로 죽었다고 알릴 수 없으니, 3분 동안 보고가 없으면 우리 쪽에서 판단해 메일 · Slack · 폰으로 알린다. 정해 둔 값을 넘거나 서비스가
멈춰도 알린다.
설치
리눅스와 macOS 는 명령 한 줄, 윈도우는 설치 파일 하나다. 5분이면 화면에 올라온다. 지금 확인한 OS 는 Ubuntu 20.04 이상, Windows Server 2016 이상, macOS 13 이상(Apple Silicon)이다.
일부러 뺀 것
로그 수집, APM, 원격 명령 실행은 넣지 않았다. 범위가 커지면 값이 올라가고, 서버에 원격으로 명령을 날릴 수 있는 에이전트는 그 자체로 위험하다. 에이전트가 받는 요청은 재부팅과 종료 두 가지뿐이다.
가격
가격은 서버 대수 하나로만 정한다. 쓴 만큼 붙는 요금이 없어서 청구서가 놀랍지 않다. 서버 2대까지는 무료이고, 가입하면 결제하지 않고 30일 동안 5대까지 써 볼 수 있다.