8장. 서버 모니터링
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
많은 모니터링 작업이 시스템 관리자/운영 엔지니어 팀에서 시작되기 때문에 많은 사람들이 "모니터링"을 "시스템 관리자가 하는 일"과 즉시 연관시키는 것은 당연합니다. 모니터링에는 서버에서 일어나는 일 외에도 훨씬 더 많은 일이 있다는 것을 알기 때문에 안타까운 일입니다.
물론 오해에는 진실의 요소가 있습니다. 실제로 많은 일이 서버에서 이루어집니다! 서버리스 아키텍처에서도 플랫폼과 플랫폼을 작동시키는 모든 것을 제공하는 서버는 여전히 그 밑에 존재합니다. 오늘날 서버에서 어떤 종류의 일반적인 서비스를 접하게 되는지, 어떤 메트릭과 로그가 제공되는지, 이 모든 것을 이해하는 방법에 대해 자세히 알아보겠습니다.
시작하기 전에 한 가지 주의할 점은 이 장에서는 제가 가장 익숙한 운영 체제로 Linux를 사용한다는 것입니다. Windows에 적용하는 독자를 위해 여기서 다루는 거의 모든 내용은 사용 도구는 다르지만 일반적인 의미에서 Windows에도 똑같이 적용할 수 있습니다.
표준 OS 지표
이 책에서 저는 표준 OS 지표(CPU, 메모리, 부하, 네트워크, 디스크)에 대한 집착에 반대했으며, 그 이유는 모니터링 작업을 시작할 때 주요 관심사(앱이 작동 중인지)에 대해 가장 적은 신호를 제공하는 지표부터 시작하는 것이 좋기 때문입니다. 앱이 작동하는지 확인하려면 xref에서 다룬 것처럼 맨 위부터 시작해야 합니다.
하지만 이러한 메트릭이 유용하지 않다는 것은 아닙니다. 실제로 진단과 문제 해결이라는 적절한 맥락에서 사용하면 도움이 될 수 있습니다. 이러한 맥락에서 이러한 메트릭은 가장 강력한 메트릭 중 일부입니다.
이러한 메트릭을 사용하는 방법에 대해 제가 추천하는 방법은 모든 시스템에 대해 자동으로 기록하되, 특별한 이유가 없는 한 알림을 설정하지 않는 것입니다. 거의 모든 모니터링 도구가 사용자의 개입이 거의 또는 전혀 없이 기본적으로 이러한 메트릭을 수집하므로 수집 방법에 대해 설명하기보다는 메트릭의 의미와 사용 방법에 대해 설명하겠습니다. 설명할 때 잘 알려진 Linux 명령줄 도구, 즉 여러분도 잘 알고 있을 만한 도구를 사용하겠습니다.
CPU
CPU 사용량 모니터링은 이러한 모든 지표 중 가장 간단합니다. 이 메트릭은 /proc/stat에서 제공되며 여러 유틸리티와 대화형으로 사용할 수 있습니다. 여기서는 top 을 사용하겠습니다:
top - 21:13:27 up 98 days, 2:01, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 105 total, 1 running, 104 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 500244 total, 465708 used, 34536 free, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access