Overview

최근 내부시스템(계정계,기간계,사무계등등 으로 불리우는) 개발 및 운영 오픈을 하였다. 시스템이 생각보단,, 아니면 내가 모르는 부분이 있을꺼 같긴한데, low하게 모니터링을 해야되는 상황이다. 운영중인 시스템 모니터링을 더불어 시작되었다. 일반적으로 어꺠넘어 들으며 알게된 커맨드를 통해 서버의 상태를 확인하는데, 웃긴건 이 업무를 하기전엔 scouter, grafana-loki, ArgoCD, prometheus, pinpoint등의 모니터링시스템을 사용하여 모니터링을 하였다.(상용모니터링 솔루션을 사용해보지 못하였다.) 그럼에도 기본은 중요하기에 다시 처음부터 관련된 항목들에 대한 내용을 정리하고자 한다.

Usaga

1. 디스크


#디스크 통계
vmstat -w 
#확인 편한 디스크 관련 정보 확인
df -h 
#low한 디스크 관련 정보 확인
df -T 
#현재 경로의 파일용량(사람이 보기 편하기) 확인
du -sh .

#현재 경로의 파일용량(메가바이트) 확인 
du -s . 


2. 메모리

#메가바이트 단위 메모리 확인
free -m 

#사람이 보기 편하게 확인
free -h 
     
cat /proc/meminfo


3. CPU 관련

#cpu 확인
cat /proc/cpuinfo

#물리 cpu 수
grep  -c processor /proc/cpuinfo

grep ^processor /proc/cpuinfo | wc -l

#cpu당 물리 코어 확인
sudo dmidecode -t processor | grep 'Socket Designation'

#cpu 모델명 및 속도
grep  "cpu cores" /proc/cpuinfo | tail -1

grep ^'model name' /proc/cpuinfo | tail -1

4. 번외로 /etc/proc에 대해서

/proc/cpuinfo: CPU 관련 정보 (모델, 속도, 코어 수 등)
/proc/meminfo: 메모리 사용 현황 및 상세 정보
/proc/version: 커널 버전 정보
/proc/loadavg: 시스템 부하 평균
/proc/uptime: 시스템 가동 시간
/proc/mounts: 현재 마운트된 파일 시스템 정보
/proc/partitions: 파티션 정보
/proc/net/dev: 네트워크 인터페이스 통계
/proc/interrupts: 인터럽트 사용 현황
/proc/swaps: 스왑 공간 사용 정보
/proc/diskstats: 디스크 I/O 통계
/proc/sys/: 커널 매개변수 설정 및 조정
/proc/[pid]/: 특정 프로세스에 대한 정보 (pid는 프로세스 ID)
/proc/cmdline: 부팅 시 커널에 전달된 매개변수
/proc/modules: 현재 로드된 커널 모듈 목록


마치며,,

위 내용으로 대략적인 서버의 다양한 상태에 대해서 확인을 할 수 있다.(네트워크는 아직 공부가 부족하여 다음에 정리..) 고급 모니터링 시스템을 통한 모니터링이 즉각적으로 서버의 상태를 확인하는데 용이하기에 위 내용은 기본적인 숙지를 하며,, 다음엔 네트워크 부분에 대한 다양한 케이스(개인적 경험에 기반한)를 정리해보겠다.