보관함

서버 · GPU 모니터링 서비스 anyglance 를 만들었다

몇 달 동안 혼자 만든 서비스를 2026년 10월 30일에 공개했다.

https://anyglance.net/ko

왜 만들었나

서버를 오래 운영해 보면 사고는 대개 평범한 데서 난다. 디스크가 꽉 차거나, 메모리 · 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대까지 써 볼 수 있다.

선과 악, 정과 오를 바라보는 인간과 AI

일반적으로 선한사람과 악한사람이 있다.

똑같은 상황을 보고 그 상황에 대한 해석도 각각의 사람마다 다르다.

과학적으로 증명할수 있는 것이 드레스를 보고 25%의 사람은 파란색, 검은색 으로 75%의 사람은 흰색, 금색으로 보인다는 이미지가 있다.

 

요즈음 보통 신경망 같은 AI의 특징은 학습을 시킴으로써 최대한 사람에 가까운 AI를 만들고 싶어한다.

문제는 저런 의견이 갈리는 문제에 AI가 어느쪽 판단을 내리는 AI를 만들어야 하는 걸까?

 

최근 AI는 초기 상태는 정해져 있지만 AI가 어떻게 학습하고 어떻게 판단을 내렸는지는 알수 없다. 또한 매번 같은 결과가 나오지도 않는다.

 

AI를 충분히 학습 시키는 과정은 사람으로 치면 충분한 훈련을 시키는 과정과 같기 때문에 오류율은 낮출수 있다.

 

하지만…

인간이 충분히 의견이 갈리는 이념의 문제 같은 경우 이쪽이 맞는지 저쪽이 맞는지가 모호하다.

이런경우 AI라면 어떤 선택을 할까.

 

만일 충분히 학습시킨 AI가 충분히 많은 학습을 통해 한쪽의 선택을 하게 되는 경우…

인간은 거꾸로 당연히 그게 옳은 일로 받아들이게 될것이다.

azure ubuntu 설치 ver 2022

TimeZone Setting

package update

Util Install & Setting

.ssh login 처리

after edit ~/.ssh/authorized_keys from have to login client’s ~/.ssh/id_rsa.pub 

sudoer 처리

after modify /etc/sudoers.d/init-user

zsh Install & Setting

after copy .zshrc to ~

tmux Install & Setting

after edit .tmux.conf.local

nvim 설정

after copy init.vim to ~/.SpaceVim/

after copy init.toml to ~/.SpaceVim.d/

after run vi

root zsh & nvim 처리

after modify oh-my-zsh pass on export ZSH “/home/user/.oh-my-zsh” to “/root/.oh-my-zsh” on .zshrc

after run vi

pip Install & Setting (for nvim)

nodejs & npm Install & Setting (for nvim)

LogWatcher

after modify /etc/postfix/main.cf

after modify /etc/logwatch/conf/logwatch.conf

after modify /etc/mailname

OpenVpn Server 처리

after modify vars

OpenVpn Client 처리

after copy ca.crt, ta.key, client.key, client.crt, client.ovpn to /etc/openvpn

after edit /etc/default/openvpn for openvpn auto start

APM 처리

SVN Server 처리

after copy /etc/init.d/svnserve