Warning: session_destroy() [function.session-destroy]: Session object destruction failed in /home/httpd/html/board/include/header.php on line 32
적수네 동네 - 1원짜리 팁? [ 게시물 삭제 ]
>> Delete No. 3234 article
No. [SE] watch로 간단한 시스템 모니터링 (추가 netstat)

등록 2003-01-09 01:46:00     조회 5
이름 산이    

		[SE] watch로 간단한 시스템 모니터링
 *추가)
- 2003.01.09, 중요한 netstat 관한 내용이 빠져있어서 추가합니다.
  안녕하세요?
...
 이곳 팁 게시판에 `watch`에 관한 팁이 없군요.
 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
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved