-
IBM AIX crontab nmon 로그파일 설정System of Infra/Unix System 2020. 12. 7. 22:58반응형
IBM AIX crontab nmon 로그파일 설정
root@test_svr1:/]# cd /usr/bin [root@test_svr1:/usr/bin]# ls -al | grep -i nmon -r-xr-xr-x 1 root system 622 Jul 30 2013 nmon -r-xr-xr-x 2 root system 770468 Mar 10 2018 topas_nmon
-> 현재 파티션에서 AIX 7.1의 경우 nmon의 소프트웨어가 default로 설치가 되어 있기 때문에 /usr/bin의 해당 경로에서 nmon에 대한 설치와 파일 셋이 있는지 확인을 합니다. 기존의 5,6 버전의 경우에는 nmon12f_aix612 또는 nmon4aix12 같은 별도의 패키지를 설치하여 nmon의 로그를 받을 수 있습니다.(7 버전은 지원 X)
root@test_svr1:/usr/bin]# cat nmon #!/usr/bin/perl # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # perf71N src/perf/cmdperft/usr/bin/topas/nmon.pl 1.11 # Licensed Materials - Property of IBM # Restricted Materials of IBM # COPYRIGHT International Business Machines Corp. 2011,2013 # All Rights Reserved # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # IBM_PROLOG_END_TAG system("/usr/bin/topas_nmon @ARGV"); if( $? != -1 ) { exit($?>>8); } else { print STDERR "Failed to execute /usr/bin/topas_nmon.\n"; exit(-1); }
-> /usr/bin의 경로에서 nmon의 스크립트를 보면 위와 같은 형태로 topas의 nmon system에서 수집을 하는 것으로 표현되어 있는 것을 확인할 수 있습니다.
[root@test_svr1:/]# mkdir nmon_log [root@test_svr1:/]# ls -al | grep -i nmon_log drwxr-xr-x 2 root system 256 Dec 07 19:46 nmon_log [root@test_svr1:/]# cd nmon_log [root@test_svr1:/nmon_log]# vi nmonday.sh cd /nmon_log nmon -ft -s 900 -c 96
-> / 디렉터리 아래 nmon_log라는 디렉토리를 생성 후 해당 디렉토리 내에 nmonday.sh라는 스크립트를 생성 후 위와 같이 작성을 해줍니다. 900*96=86400/60/60=24(시간)
옵션 설명
-f(파일명)
출력이 스프레드 시트 형식임을 지정합니다. 기본적으로 이 명령은 각 스냅 샷 사이에 300 초 간격으로 288 개의 시스템 데이터 스냅 샷을 생성합니다. hostname_YYMMDD_HHMM.nmon 형식입니다.
-t
출력에 최상위 프로세스를 포함합니다.
-s(측정 간격)
연속 녹화 스냅 샷 2 개 사이의 간격 (초)을 지정합니다.--c(횟수)
명령으로 작성해야 하는 스냅 샷 수를 지정합니다. 기본값은 10000000입니다.
[root@test_svr1:/nmon_log]# chmod 775 nmonday.sh
-> 이후 nmon의 스크립트가 crontab에서 자동으로 기동 될 수 있도록 퍼미션의 권한을 755로 주도록 했습니다.
[root@test_svr1:/nmon_log]# nmon -ft -s 900 -c 96 [root@test_svr1:/nmon_log]# ls -al total 48 drwxr-xr-x 2 root system 256 Dec 07 20:01 . drwxr-xr-x 26 root system 4096 Dec 07 20:01 .. -rw-r--r-- 1 root system 31 Dec 07 19:55 nmonday.sh -rw-r--r-- 1 root system 13274 Dec 07 20:01 test_svr1_201207_2001.nmon
->crontab에 등록하여 자동으로 실행하기 전에 수동으로 nmon의 로컬 명령어를 통해서 로그파일이 현재 경로에 생성되는지 확인을 합니다.
[root@test_svr1:/]# cat test_svr1_201207_1604.nmon | more AAA,progname,topas_nmon AAA,command,/usr/bin/topas_nmon -ft -c 900 -s 1 -youtput_dir=//test_svr1 -ystart_time=16:04:20,Dec07,2020 AAA,version,TOPAS-NMON AAA,build,AIX AAA,disks_per_line,150 AAA,host,test_svr1 AAA,user,root AAA,AIX,7.1.4.34 AAA,TL,04 AAA,runname,test_svr1 ...(생략)
-> 생성된 로그파일을 열어보게 되면 위와 같은 형태의 정보들이 수집되는 것을 확인될 수 있습니다.
[root@test_svr1:/nmon_log]#rm test_svr1_201207_2001.nmon
-> crontab에서 생성된 것으로 확인하기 위해서 로컬에 생성된 nmon을 삭제하도록 하겠습니다.
[root@test_svr1:/]# crontab -l # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # bos610 src/bos/usr/sbin/cron/root 1.15.1.3 # Licensed Materials - Property of IBM ...(생략) #0 3 * * * /usr/sbin/skulker #45 2 * * 0 /usr/lib/spell/compress #45 23 * * * ulimit 5000; /usr/lib/smdemon.cleanu > /dev/null 0 11 * * * /usr/bin/errclear -d S,O 30 0 12 * * * /usr/bin/errclear -d H 90 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/sbin/dumpctrl -k >/dev/null 2>/dev/null 0 15 * * * /usr/lib/ras/dumpcheck >/dev/null 2>&1 55 23 * * * /var/perf/pm/bin/pmcfg >/dev/null 2>&1 #Enable PM Data Collection
-> crontab에 default로 등록된 상태의 출력 화면입니다.
#0 3 * * * /usr/sbin/skulker #45 2 * * 0 /usr/lib/spell/compress #45 23 * * * ulimit 5000; /usr/lib/smdemon.cleanu > /dev/null * * * * * /nmon_log/nmonday.sh >/dev/null 2>&1 0 11 * * * /usr/bin/errclear -d S,O 30 0 12 * * * /usr/bin/errclear -d H 90 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/sbin/dumpctrl -k >/dev/null 2>/dev/null 0 15 * * * /usr/lib/ras/dumpcheck >/dev/null 2>&1 55 23 * * * /var/perf/pm/bin/pmcfg >/dev/null 2>&1 #Enable PM Data Collection
-> 해당 crontab에 * * * * * /nmon_log/nmonday.sh >/dev/null 2>&1로 한 줄을 추가 해주록 합니다. 편리상 앞에 분(0-59), 시간(0-23), 일(1-31), 월(1-12), 요일(0-7)은 1분마다 로그파일이 생성되도록 지정했습니다. 이후에 crontab에 대한 내용은 별도에 다루도록 하겠습니다.
[root@test_svr1:/nmon_log]# cron ! cron is already running. Mon Dec 7 21:40:02 KST 2020 [root@test_svr1:/nmon_log]# ps -ef | grep -i cron root 2097628 1 0 21:34:17 - 0:00 /usr/sbin/cron
-> /usr/bin/cron 데몬을 실행시키고 cron의 프로세스가 살아 있는지 확인을 합니다.
[root@test_svr1:/nmon_log]# ls -al drwxr-xr-x 2 root system 4096 Dec 07 21:43 . drwxr-xr-x 24 root system 4096 Dec 07 21:36 .. -rwxrwxr-x 1 root system 33 Dec 07 21:37 nmonday.sh -rw-r--r-- 1 root system 163777 Dec 07 21:40 test_svr1_201207_2140.nmon -rw-r--r-- 1 root system 163776 Dec 07 21:41 test_svr1_201207_2141.nmon -rw-r--r-- 1 root system 163781 Dec 07 21:42 test_svr1_201207_2142.nmon -rw-r--r-- 1 root system 163775 Dec 07 21:43 test_svr1_201207_2143.nmon -rw-r--r-- 1 root system 163778 Dec 07 21:44 test_svr1_201207_2144.nmon -rw-r--r-- 1 root system 163781 Dec 07 21:45 test_svr1_201207_2145.nmon
-> crontab에 등록된 디렉터리 경로를 통해서 nmon의 로그를 수집한 것을 확인할 수 있습니다. nmon의 파일명에 date의 시간과 일치하도록 파일이 생성되었습니다.
[root@test_svr1:/]# cat /etc/inittab | grep -i cron cron:23456789:respawn:/usr/sbin/cron
-> 대부분 crontab에 등록된 디렉터리 경로를 #주석처리하면 되긴 하지만 /etc/inittab의 경로에 respawn의 부분을 once로 변경을 해주게 되면 시스템 부팅 시 crontab이 살아나지 않도록 설정할 수 있습니다. 다만, crontab 자체에 default이기 때문에 #주석을 통해서 막아주도록 하는 것을 권장합니다.
PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.
포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.
반응형'System of Infra > Unix System' 카테고리의 다른 글
IBM AIX에 Python 설치하는 방법 (2) 2021.01.20 IBM FC adapter 성능 분석 테스트 방법 (0) 2021.01.19 IBM AIX NIM서버 구성 mksysb를 활용한 구성 방법[3] (0) 2020.12.02 IBM AIX NIM서버 구성 mksysb를 활용한 구성 방법[2] (0) 2020.12.02 IBM AIX NIM서버 구성 mksysb를 활용한 구성 방법[1] (0) 2020.12.02