서버 인스턴스를 관리하면서 자주 사용하게 되는 몇가지 시스템 모니터링을 위한 유틸리티 들을 정리해보았다
- Top : 시스템의 전반적인 운용상황을 확인할 수 있다. CPU / 메모리 / 부하율 등을 한번에 확인할 수 있다. Top –d 2 와 같이 하면 초단위로 refresh 한다. –q로 하면 실시간으로 반영된다. 윈도우의 작업 관리자와 같은 역할을 수행한다.
- Uptime : 서버의 전체적인 부하율을 확인하고자 할 때 사용한다.
그냥 uptime 만 치면 한줄로 출력이 되며 현재시간, 부팅 후 꺼지지않고 운용된 시간, 현재 시스템에 로그인한 사용자 수(/var/run/utmp참조), 1분, 5분, 15분 간 서버 시스템 부하율 을 표기한다.
- Vmstat : 현재 리눅스 자원사용률 모니터링 도구로, 이름은 Virtual Memory Statistics 이지만 가상 메모리 이외에 실행 대기 중인 프로세스 수(r), 가상 메모리 사용량(swpd), 입출력 IO, 유휴 메모리(free), 버퍼 메모리(buff), 캐시 메모리(cache), 초당 인터럽트 수(in), 초당 컨텍스트 스위칭 수(cs), 유휴시간(id), 커널모드 소비 시간(sy), 입출력대기시간(wa) 등 다양한 내용 조회 가능하다.
- Iostat : 부팅 이후 Block IO 상태를 나타낸다.
- Free : 메인 메모리 사용량을 보여준다.
- Strace : System call tracer. 리눅스 최강의 디버깅 도구. 리눅스 시스템콜 추적 도구. 프로세스 대상을 선택하면 대상에 대한 시스템콜을 추적할 수 있고 프로세스가 받는 Signal에 대한 정보도 얻을 수 있다.
간단하게 strace ./helloWorld 와 같이 사용하면 helloWorld 프로그램을 추적하게 되고 –o trace.log 와 같이 매개변수를 넘겨주면 trace.log 파일에 추적 로그가 남게 된다. 또한 –c 옵션을 이용해 통계도 낼 수 있다. –p 옵션을 사용하면 실행중인 프로세스에 대한 추적 또한 가능하다.
- Tcpdump : 커맨드라인 네트워크 트래픽 모니터링 툴이자 패킷 분석 툴.
Tcpdump –I eth0 과 같이 사용하면 지정된 eth0이더넷에 대해 패킷을 뜨게 되고 –w test.log 와 같이 test.log 에 로그를 기록할 수 있다. 확인은 –r test.log 와 같은 방식으로 해야 한다. 혹은 당연히 tcpdump –I eth0 > testout.log 와 같이 리다이렉트해줘도 된다.
- Netstat : 시스템의 네트워크 연결 목록(tcp, u에, 소켓)을 보여준다.
Tcp (t), udp(u), DNS 질의끄기(n), Listen(l), 프로세스 명 표시(p), 라우팅정보(r) 과 같은 파라미터를 –뒤에 붙여 사용한다.
(ex) netstat -nltp
- lsb_release -a : 리눅스의 버전을 확인하는 명령어. 특히 Dependency 관리를 위해 알아볼 때 종종 사용한다.
- cat /etc/issue : 리눅스의 버전을 확인하는 명령어. 몇몇 버전의 경우 /etc/issue 에 버전 정보가 포함되어 있다.
- stat : 파일 또는 파일 시스템 상태를 조회한다. 파일크기, Inode 번호, 링크 갯수, Permission, UID, GID, 접근/수정/변경 일시 확인 가능하다.
- du(disk usage) : directory 용량 확인. 현재 폴더 내 파일들의 용량을 확인할 수 있다.
- df : 리눅스 파일시스템 사용량 확인. 디스크 사용량 / 용량 포함.
'Computer Base > Linux & OS' 카테고리의 다른 글
리눅스(Linux) 의 종류별 방화벽 설정 방법 (0) | 2018.08.30 |
---|---|
동기(Synchronous) 작업과 비동기(Asynchronous) 작업, 그리고 블락(Blocking) 과 넌블락(Non-Blocking) 의 개념 (4) | 2018.08.21 |
리눅스(Linux) 의 사용 편의를 위한 Alias (0) | 2018.08.13 |
리눅스(Linux) 의 유명한 grep 사용법 (0) | 2018.08.08 |
Daemon 과 Background Process 의 차이점 (0) | 2018.08.08 |