BIG-IP異常時にサポートへ調査依頼するあたって必須となる資料を採取するスクリプトです。
採取する資料は下記の3種です。
・ qkview
・ bigtop -once (指定回数)
・ b config save (UCS)
#!/bin/sh #----------------------------------------------------------- # 名前: # BIG-IP 資料採取スクリプト # 機能: # 下記のシステム情報を収集する # - qkview # - bigtop -once (指定回数) # - b config save # スクリプト動作確認環境: # BIG-IP v10.1.x # 戻り値: # 0 -> 正常終了 # 1=< -> 異常終了 # 作成: # mani.tar(https://manitaninforest.wordpress.com) #----------------------------------------------------------- # # INIT # HOST=`/bin/hostname` TEMP=$0.$$ DIR1=/var/tmp DIR2=${DIR1}/${TEMP} mkdir -p ${DIR2} # bigtop取得サイクル指定 COUNT=5 # 回数指定 INTERVAL=3 # 待ち時間指定(sec) # # ヘッダ # Header(){ echo -n "[$0 `date '+%H:%M:%S'`]: " } # # Active/Standbyチェック # FAILOVER=`b failover show | awk '{print $2}'` if [ ${FAILOVER} == "standby" ] then Header;echo "This node is ${FAILOVER}. Please run on an active node. exit 1." exit 1 fi Header;echo "$0 start." # # qkview取得 # TIME=`/bin/date '+%y%m%d.%H%M%S'` FILE1=qkview_${HOST}_${TIME}_tech.out OUTPUT1=${DIR2}/${FILE1} COMM="qkview -f ${OUTPUT1}" Header;echo "${COMM} start." nice -20 ${COMM} 2>/dev/null RC=$? if [ ${RC} -eq 0 ] then Header;echo "${COMM} end.[${RC}]" else Header;echo "${COMM} failed.[${RC}]" exit 1 fi # # bigtop取得 # Header;echo "bigtop -once start." i=1 while [ ${i} -le ${COUNT} ] do sleep ${INTERVAL} & TIME=`/bin/date '+%y%m%d.%H%M%S'` FILE2=bigtop_${HOST}_${TIME}.out OUTPUT2=${DIR2}/${FILE2} Header;echo -n "[${i}] bigtop -once ${OUTPUT2} ..." bigtop -once > ${OUTPUT2} 2>/dev/null RC=$? if [ ${RC} -eq 0 ] then echo "OK.[${RC}]" else Header;echo "bigtop -once > ${OUTPUT2} NG.[${RC}]" exit 1 fi i=`expr ${i} + 1` wait done Header;echo "bigtop -once end." # # UCS取得(b config save) # TIME=`/bin/date '+%y%m%d.%H%M%S'` FILE3=configsave_${HOST}_${TIME}_err.ucs OUTPUT3=${DIR2}/${FILE3} Header;echo "b config save ${OUTPUT3} start." b config save ${OUTPUT3} 2>/dev/null RC=$? if [ ${RC} -eq 0 ] then Header;echo "b config save ${OUTPUT3} end.[${RC}]" else echo "failed.[${RC}]" exit 1 fi # # Archive # TIME=`/bin/date '+%y%m%d.%H%M%S'` ARCH=$0_${HOST}_${DATE}${TIME}.tgz Header;echo "gtar -zcvf ${DIR1}/${ARCH} start." cd ${DIR2} gtar -zcvf ../${ARCH} ./* >/dev/null if [ $RC -eq 0 ] then Header;echo "gtar -zcvf ${DIR1}/${ARCH} end." cd ${DIR1} #/bin/rm -f ${TEMP} Header;echo "[output file]:" ls -l ${ARCH} Header;echo "$0 nomal end." exit 0 else Header;echo "gtar -zcvf ${DIR1}/${ARCH} failed.[${RC}]" exit 1 fi
上記のスクリプトをBIG-IPの任意のディレクトリに配置してください。
下記例では/var/tmpに格納しています。
[root@hoge:Active] tmp # ls -rlt total 23340 -rw-r--r-- 1 root root 2119 Dec 27 14:30 ColBIP.sh [root@hoge:Active] tmp #
bigtopの取得サイクルについては、サポートの要求に従って書き換えてください。
# bigtop取得サイクル指定 COUNT=5 # 回数指定 INTERVAL=3 # 待ち時間指定(sec)
引数無しで実行します。
[root@hoge:Active] tmp # sh ColBIP.sh [ColBIP.sh 14:33:00]: ColBIP.sh start. [ColBIP.sh 14:33:00]: qkview -f /var/tmp/ColBIP.sh.19628/qkview_hoge.local_121227.143300_tech.out start. [ColBIP.sh 14:33:41]: qkview -f /var/tmp/ColBIP.sh.19628/qkview_hoge.local_121227.143300_tech.out end.[0] [ColBIP.sh 14:33:41]: bigtop -once start. [ColBIP.sh 14:33:41]: [1] bigtop -once /var/tmp/ColBIP.sh.19628/bigtop_hoge.local_121227.143341.out ...OK.[0] [ColBIP.sh 14:33:44]: [2] bigtop -once /var/tmp/ColBIP.sh.19628/bigtop_hoge.local_121227.143344.out ...OK.[0] [ColBIP.sh 14:33:47]: [3] bigtop -once /var/tmp/ColBIP.sh.19628/bigtop_hoge.local_121227.143347.out ...OK.[0] [ColBIP.sh 14:33:50]: [4] bigtop -once /var/tmp/ColBIP.sh.19628/bigtop_hoge.local_121227.143350.out ...OK.[0] [ColBIP.sh 14:33:53]: [5] bigtop -once /var/tmp/ColBIP.sh.19628/bigtop_hoge.local_121227.143353.out ...OK.[0] [ColBIP.sh 14:33:56]: bigtop -once end. [ColBIP.sh 14:33:56]: b config save /var/tmp/ColBIP.sh.19628/configsave_hoge.local_121227.143356_err.ucs start. [ColBIP.sh 14:34:02]: b config save /var/tmp/ColBIP.sh.19628/configsave_hoge.local_121227.143356_err.ucs end.[0] [ColBIP.sh 14:34:02]: gtar -zcvf /var/tmp/ColBIP.sh_hoge.local_121227.143402.tgz start. [ColBIP.sh 14:34:03]: gtar -zcvf /var/tmp/ColBIP.sh_hoge.local_121227.143402.tgz end. [ColBIP.sh 14:34:03]: [output file]: -rw-r--r-- 1 root root 10460987 Dec 27 14:34 ColBIP.sh_hoge.local_121227.143402.tgz [ColBIP.sh 14:34:03]: ColBIP.sh nomal end. [root@hoge:Active] tmp #
出力ファイル一式を格納したディレクトリと、それをアーカイブした.tgzファイルがカレントに出力されます。
[root@hoge:Active] tmp # ls -rlt total 23340 -rw-r--r-- 1 root root 2119 Dec 27 14:30 ColBIP.sh drwxr-xr-x 2 root root 4096 Dec 27 14:34 ColBIP.sh.19628 -rw-r--r-- 1 root root 10460987 Dec 27 14:34 ColBIP.sh_hoge.local_121227.143402.tgz [root@hoge:Active] tmp #
出力ファイル一式は以下の様になります。
[root@hoge:Active] tmp # ls -l ColBIP.sh.19628 total 11496 -rw-r--r-- 1 root root 20303 Dec 27 14:33 bigtop_hoge.local_121227.143341.out -rw-r--r-- 1 root root 20303 Dec 27 14:33 bigtop_hoge.local_121227.143344.out -rw-r--r-- 1 root root 20303 Dec 27 14:33 bigtop_hoge.local_121227.143347.out -rw-r--r-- 1 root root 20303 Dec 27 14:33 bigtop_hoge.local_121227.143350.out -rw-r--r-- 1 root root 20303 Dec 27 14:33 bigtop_hoge.local_121227.143353.out -rw-r--r-- 1 root root 469453 Dec 27 14:34 configsave_hoge.local_121227.143356_err.ucs -rw-r--r-- 1 root root 11148545 Dec 27 14:33 qkview_hoge.local_121227.143300_tech.out [root@hoge:Active] tmp #
※もし出力ファイル一式を格納したディレクトリが不要であれば、スクリプト内の下記部分のコメントを外して利用してください。
#/bin/rm -f ${TEMP}
また、qkviewのtech.outファイルはgzipで圧縮されたtarボールですので内容は下記の様に確認できます。
[root@hoge:Active] tmp # file qkview_hoge.local_121227.143300_tech.out qkview_hoge.local_121227.143300_tech.out: gzip compressed data, from Unix [root@hoge:Active] tmp # gzip -dc qkview_hoge.local_121227.143300_tech.out | tar tvf - | head -rw-r--r-- root/root 5195 2012-12-27 14:33:23 sccp_aom_module.xml -rw-r--r-- root/root 1536629 2012-12-27 14:33:29 proc_module.xml -rw-r--r-- root/root 1611675 2012-12-27 14:33:30 stat_module.xml -rw-r--r-- root/root 3865196 2012-12-27 14:33:33 mcp_module.xml -rw-r--r-- root/root 2506912 2012-12-27 14:33:32 var/rrd/connections -rw-r--r-- root/root 3338 2010-03-01 11:01:00 var/rrd/connections.info -rw-r--r-- root/root 148000 2012-12-27 14:33:32 var/rrd/bladeconnections -rw-r--r-- root/root 987 2010-03-01 11:01:00 var/rrd/bladeconnections.info -rw-r--r-- root/root 1327456 2012-12-27 14:33:32 var/rrd/throughput -rw-r--r-- root/root 2153 2010-03-01 11:01:00 var/rrd/throughput.info tar: Read 9216 bytes from - [root@hoge:Active] tmp #
ご参考まで。
F5 Tech Depot
http://f5networks.co.jp/depot/
F5 BIG-IP LTM 製品マニュアル
http://support.f5.com/kb/en-us/products/big-ip_ltm.html