getdata_daily.sh

   getdata_daily.sh

  사용법


	getdata_daily.sh [-p] output-dir interval time
	getdata_daily.sh -g

	Options are as follows:

	-g              generate gif file and HTML page
	-p              gather process info
	output-dir      directory to save data
	interval        interval time (second)
	time            duration time (hour)
  설명

getdata_daily.sh는 vmstat와 psinfo 명령어의 결과를 저장하여, 수집이 끝난 데이타에 대하여 바로 HTML 페이지를 만들어 준다.

다음의 /getdata_daily.sh 명령어는 60초 간격으로 8 시간 동안 데이타를 수집할 있도록, vmstat과 psinfo 명령어를 실행하고, 그 결과에 대하여 HTML 페이지를 만든다.

# /opt/JSparm/bin/getdata_daily.sh -p /statdata 60 8 getdata_daily.sh 명령어는 /statdata 디렉토리에 현재 시간을 YYYY.mm.dd-HH:MM:SS 형식으로 디렉토리를 만들고, 그 디렉토리에 vmstat.log와 psinfo.log파일을 만들고, 각각에 대하여 vmstat와 psinfo 명령어의 출력을 저장한다.
이 명령어들의 데이타 수집이 끝나면, 이 데이타에 대하여 HTML 페이지(index.html)를 만들어 준다.

서버 시스템의 관리자라면, 최소한 시스템의 CPU 사용량과 메모리 사용량 및 오동작하는 프로세스가 있는지 매일 관찰하여야 한다. 이러한 것을 쉽게 관찰하려면, getdata_daily.sh 스크립트를 cron에 등록하여, 매일 지정한 시간에 지정한 기간 동안의 데이타를 수집한 후에, 이를 gwserv을 통하여 웹으로 볼 수 있다.

다음과 같은 라인을 "# crontab -e root" 명령어를 사용하여 cron에 등록하여, 매일 9시부터 8시간 동안 60초 간격으로 데이타를 수집하고, 그 결과에 대하여 HTML 페이지를 만들어 준다.

0 9 * * * /opt/JSparm/bin/getdata_daily.sh -p /statdata 60 8

물론 /statdata 디렉토리는 미리 만들어 두어야 한다.

gwserv의 구성파일에서 root document 디렉토리를 /statdata 로 지정하고, 시스템 기동시에 gwserv를 실행시키면, 리모트 시스템에서 8008 포트로 만들어진 HTML 페이지를 볼 수 있다.
다음은 getdata_daily.sh를 cron에 넣어 수집한 /sysdata 디렉토리를 gwserv을 통해 다음과 같은 URL로 리모트에서 본 예제이다.

http://dragon:8008/
Directory listing of /
Up to higher level directory

 Name                                  Size          Date                  

  • 2001.06.20-09:00:00/ 512 Jun-20-2001 09:00:00
  • 2001.06.21-09:00:00/ 512 Jun-21-2001 09:00:00
  • 2001.06.22-09:00:00/ 512 Jun-22-2001 09:00:00
  • 2001.06.23-09:00:00/ 512 Jun-23-2001 09:00:00
  • 2001.06.24-09:00:00/ 512 Jun-24-2001 09:00:00
  • 2001.06.25-09:00:00/ 512 Jun-25-2001 09:00:00
  • 2001.06.26-09:00:00/ 512 Jun-26-2001 09:00:00
  • 2001.06.27-09:00:00/ 512 Jun-27-2001 09:00:00
  • 2001.06.28-09:00:00/ 512 Jun-28-2001 09:00:00
  • 2001.06.29-09:00:00/ 512 Jun-29-2001 09:00:00
  • 2001.06.30-09:00:00/ 512 Jun-30-2001 09:00:00
  • vmstat.log 파일을 gvmstat 명령어를 사용하여 GIF 포멧의 그래프 파일을 만들어 주는데, 다음과 같은 필드가 선택되어 진다.

    cpu,r,b,w,swap,free,sr,pio 선택될 그래프를 바꾸고 싶으면, /opt/JSparm/bin/getdata_daily.sh 파일에서 SELFIELDS 의 값을 바꾸어 변경할 수 있다.

      다음은 각 옵션에 대한 설명이다.

    -g -g 옵션은 수집한 데이타에 대하여 HTML 페이지를 수동으로 만들어 준다.
    getdata_daily.sh가 정상적으로 종료되지 않으면, HTML 페이지가 만들어지지 않는다. 이럴 경우에 데이타를 수집한 디렉토리에 가서 # getdata_daily.sh -g 를 실행하면, HTML 페이지를 만들 수 있다.

    데이타를 수집중인 경우라도, 현재까지 수집한 데이타에 대하여 HTML 페이지를 보고 싶으면, 이 명령어를 사용하여 HTML 페이지를 만들 수 있다.

    -p -p 옵션은 psinfo 명령어(psinfo -j -t 10)의 결과도 함께 수집한다. 이때 CPU 사용량이 많은 순으로 10개의 프로세스 정보와 HP+STK가 큰 순서로 5개의 프로세스 정보를 함께 저장한다.
    만일 이 개수를 고치고 싶으면, /opt/JSparm/bin/getdata_daily.sh 파일에서 NPROC의 값을 변경하면 된다.
    이 옵션이 지정되지 않으면, vmstat 명령어의 결과만 수집한다.
    output-dir interval time
    output-dir 수집한 데이타를 저장할 디렉토리
    interval   데이타를 수집할 시간 간격(초(second) 단위)
    time       데이타를 수집할 기간(시간(hour) 단위)