“AMP平臺簡介:自動化運維管理平臺--內置大量運維操作原子場景,支持常見數據庫、中間件、云平臺、網絡設備等運維操作自動化能力。支撐八大運維場景自動化,覆蓋常見運維工作。”
一鍵巡檢的目的是針對寶蘭德BES的CPU狀態、SERVER運行狀態、JVM堆運行情況、線程運行情況、隊列運行情況以及JDBC的運行狀態進行一個全面巡檢。
巡檢腳本的原始數據為BES監控程序采集的bes.log日志,該日志每十秒寫入新的采集數據,如下圖所示:
#!/bin/bash
##獲取要巡檢的最新一輪的數據信息
LOG_DIR="/bes/monitor_shsnc/BES95xMon.V01/bin"
V_TIME_1=`cat $LOG_DIR/bes.log | tail -1 | awk -F "[" {print $2}| awk -F "]" {print $1}`
V_TIME_2=`date -d "10 second ago $V_TIME_1" +"%Y-%m-%d %H:%M:%S"`
V_LOGNUM=`cat $LOG_DIR/bes.log|grep "$V_TIME_2"| wc -l`
##定義出參,0代表巡檢結果正常,反之則為異常。
MONI_CPU_COUNT=0
MONI_STATUS_COUNT=0
MONI_JVM_COUNT=0
MONI_THREAD_COUNT=0
MONI_QUEUE_COUNT=0
MONI_JDBC_COUNT=0
##判斷各項巡檢指標是否正常
if [ $V_LOGNUM -eq 24 ]
then
cat $LOG_DIR/bes.log | grep "$V_TIME_2" |grep -v "Connected to" |while read line
do
InstanceName=`echo ${line} | awk -F | {print $2}`
MonitorItem=`echo ${line} | awk -F | {print $3}`
if [ "${MonitorItem}" == "Status" ] ##對SERVER狀態進行判斷
then
Status=`echo ${line} | awk -F | {print $4}`
if [ "${Status}" != "OK" ]
then
((MONI_STATUS_COUNT++))
echo "${InstanceName} Status is ${Status},Please check! "
fi
elif [ "${MonitorItem}" == "CpuUsed" ] ##對CPU運行狀態進行判斷
then
CpuUsed_1=`echo ${line} | awk -F | {print $4}`
CpuUsed=`awk BEGIN{printf ($CpuUsed_1)*100}`
if [ $CpuUsed -ge 20000 ]
then
((MONI_CPU_COUNT++))
echo "${InstanceName} CpuUsed is ${CpuUsed},Please check! "
fi
elif [ "${MonitorItem}" == "JVMUsed" ] ##對JVM運行狀態進行判斷
then
JVMUsed=`echo ${line} | awk -F | {print $4}`
JVMMax=`echo ${line} | awk -F | {print $6}`
JVMUsage_1=`echo ${line} | awk -F | {print $8}`
JVMUsage=`awk BEGIN{printf ($JVMUsage_1)*100}`
PermUsed=`echo ${line} | awk -F | {print $10}`
PermMax=`echo ${line} | awk -F | {print $12}`
PermUsage_1=`echo ${line} | awk -F | {print $14}`
PermUsage=`awk BEGIN{printf ($PermUsage_1)*100}`
if [ $JVMUsage -ge 8000 -o $PermUsage -ge 8000 ]
then
((MONI_JVM_COUN++))
echo "${InstanceName} JVMUsed is ${JVMUsed},Please check! "
fi
elif [ "${MonitorItem}" == "CurrentThread" ] ##對線程運行狀態進行判斷
then
CurrentThread=`echo ${line} | awk -F | {print $4}`
MaxThread=`echo ${line} | awk -F | {print $6}`
ThreadUsage_1=`echo ${line} | awk -F | {print $8}`
ThreadUsage=`awk BEGIN{printf ($ThreadUsage_1)*100}`
BusyThread=`echo ${line} | awk -F | {print $10}`
if [ $ThreadUsage -ge 8500 ]
then
((MONI_THREAD_COUNT++))
echo "${InstanceName} CurrentThread is ${CurrentThread},Please check! "
fi
elif [ "${MonitorItem}" == "CurrentQueue" ] ##對隊列運行狀態進行判斷
then
CurrentQueue=`echo ${line} | awk -F | {print $4}`
MaxQueue=`echo ${line} | awk -F | {print $6}`
QueueUsage_1=`echo ${line} | awk -F | {print $8}`
QueueUsage=`awk BEGIN{printf ($QueueUsage_1)*100}`
if [ $QueueUsage -ge 8000 ]
then
((MONI_QUEUE_COUNT++))
echo "${InstanceName} CurrentQueue is ${CurrentQueue},Please check! "
fi
elif [ "${MonitorItem}" == "dataSourceName" ] ##對JDBC數據源運行狀態進行判斷
then
dataSourceName=`echo ${line} | awk -F | {print $4}`
CurrentActiveNum=`echo ${line} | awk -F | {print $6}`
createJDBCCount=`echo ${line} | awk -F | {print $8}`
maxJDBCCount=`echo ${line} | awk -F | {print $10}`
spareJDBCCount=`echo ${line} | awk -F | {print $12}`
JDBCUsage_1=`echo ${line} | awk -F | {print $14}`
JDBCUsage=`awk BEGIN{printf ($JDBCUsage_1)*100}`
if [ $JDBCUsage -ge 9500 ]
then
((MONI_JDBC_COUNT++))
echo "${InstanceName} dataSourceName is ${dataSourceName},Please check! "
fi
else
echo "${MonitorItem}" is error!
fi
done
else
echo "$LOG_DIR"/bes.log is wrong,please check!
fi
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129387.html
摘要:原文出自聽云技術博客斷斷續續寫了將近一個月,聽云第一版數據庫管理平臺終于寫完了,期間來來回回的改了好多次小毛病,現在已經部署到生產環境上去了。主機管理這里主要是主機列表管理和業務組列表管理。 原文出自【聽云技術博客】:http://blog.tingyun.com/web/article/detail/600 斷斷續續寫了將近一個月,聽云第一版數據庫管理平臺終于寫完了,期間來來回回的改...
摘要:這種神奇的算法可以讓你服務器和客戶端在不傳輸該對稱密鑰的情況下就可以通過心有靈犀地方式各自計算出一個對稱密鑰,而且可以一樣,避免了該密鑰在網絡上流通,而且你可以隨意更換,過期時間定為分鐘,可謂是狠毒至極我們引入就是為了解決上面的問題。 首先是前段時間我在公眾號里被人批(dui)評(gang)了,大概意思就是:你別老整那ECDH又是橢圓又是素數啥的,你就說這玩意實際項目中怎么用就完了,我...
摘要:這種神奇的算法可以讓你服務器和客戶端在不傳輸該對稱密鑰的情況下就可以通過心有靈犀地方式各自計算出一個對稱密鑰,而且可以一樣,避免了該密鑰在網絡上流通,而且你可以隨意更換,過期時間定為分鐘,可謂是狠毒至極我們引入就是為了解決上面的問題。 首先是前段時間我在公眾號里被人批(dui)評(gang)了,大概意思就是:你別老整那ECDH又是橢圓又是素數啥的,你就說這玩意實際項目中怎么用就完了,我...
摘要:在全面兼容Apache Kafka生態的基礎上,消息隊列Kafka徹底解決ApacheKafka穩定性不足的長期痛點,并且支持消息無縫遷移到云上。 近日,阿里云宣布正式推出消息隊列Kafka,全面融合開源生態。在全面兼容Apache Kafka生態的基礎上,消息隊列Kafka還具備了超易用,超高可用可靠性,擴縮容不操心,全方位安全診斷,數據安全有保障的特點??捎眯羞_99.9%,數據可靠行99...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1860·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20