사이트 내 전체검색
[linux] watch 로 간단한 시스템 모니터링
로빈아빠
https://cmd.kr/server/354 URL이 복사되었습니다.

본문

watch 로 간단한 시스템 모니터링

- 작성자 : 김칠봉 <san2(at)linuxchannel.net>
- 작성일 : 2003.01.27
- 분 류  : 시스템관리(SE)
- 수 준  : 초보
- 내 용  : watch 를 이용한 간단한 시스템 모니터링
- 키워드 : watch, 모니터링

*주)
이 문서에 대한 최신 내용은 아래 URL에서 확인할 수 있습니다.

http://www.linuxchannel.net/docs/sys-watch.txt
-------------------------------------------------

watch - execute a program periodically, showing output fullscreen
(주기적으로 실행한 프로그램 결과를 전체 화면에 출력함)

[확인]
$ which watch /usr/bin/watch $ rpm -qf `which watch` procps-2.0.7-3 <-- 제 시스템은 좀 오래되었군요.T.T


[사용법]
$ watch --help Usage: watch [-dhnv] [--differences[=cumulative]] [--help] [--interval=<n>] [--version] <command> -d, --differences[=cumulative] highlight changes between updates (cumulative means highlighting is cumulative) -h, --help print a summary of the options -n, --interval=<seconds> seconds to wait between updates -v, --version print the version number
(번역은 안해도 되겠죠..^.^)
(기본적으로 2초 간격으로 화면 갱신합니다.)

*기본 사용예)
$ watch [-d] [-n seconds] 'command...'


가장 간단한 예부터 봅시다.

예를들어, 실시간(1초간격)으로 바뀌는 시스템의 UPTIME 값을 화면에 계속 출력해 봅시다.

$ watch -d -n 1 'cat /proc/uptime' Every 1s: cat /proc/uptime Sat Jan 4 14:41:18 2003 11554.91 11516.56

종료는 [Ctrl + C]입니다. (눈이 아프다면, -d 옵션을 끄는것이 좋겠군요.)

/proc/uptime 외에,
/proc/loadavg (시스템 부하량 모니터링, `top`으로 가능)
/proc/meminfo (메모리 정보)
...(기타)

이번에는 (`top`처럼) uptime과 loadavg를 한꺼번에 출력해 봅시다.

(2초간격으로)
$ watch 'cat /proc/{loadavg,uptime}'
....

(생략)


이번에는 `tail -f`와 같이 실시간으로 변화는 파일의 내용을 확인해 봅시다.

(예:/var/log/messages, root 권한 필요)
$ watch -n 1 'tail -n 20 /var/log/messages'
....

(생략)


이번에는 실시간으로 사용자를 확인해 봅시다.
(명령어: w, 2초 간격)
$ watch -d w
....

(생략)


이왕 시작했으니 시스템 프로세스도 실시간으로 확인해 봅시다.

(아파치 프로세스만 보기)
$ watch -d -n 1 'ps -ef | grep httpd | grep -v grep'
....

(생략)


이번에는 netstat 명령어를 사용해서 실시간으로 열려있는 포트(tcp/udp)와 해당 프로그램을 모니터링해 봅시다.

(시스템에 따라서 root 권한 필요함)
# watch -d -n 3 'netstat -atnup'
....

(생략)


마지막으로 앞의 여러가지 명령어를 조합해 봅시다.

- 현재 접속한 모든 사용자 출력
- httpd 프로세스 최근 20개 출력
- /var/log/messages 최근 10 줄 출력
- 추기 2초 간격
- (root 권한이 필요하겠군요)

# watch -d 'w; echo; ps -ef | grep httpd | grep -v grep | tail -n 20; echo; tail -n 10 /var/log/messages'
(명령어들을 ';'로 구분함, echo는 공백줄을 출력하기 위해서)


(나머지는 스스로 응용해 보세요..)
(자기만의 쉘스크립트로 작성해 놓으면 편하겠군요..물론 좀 응용해서..)

EOF

댓글목록

등록된 댓글이 없습니다.

1,139 (12/23P)

Search

Copyright © Cmd 명령어 3.147.57.197