【原創(chuàng)】自動故障處理的案例分享

前段時間給大家分享了敏捷運維的一些概念和案例呻粹,非常眼饞微博的DBA能喝著茶看著大部分故障一個個被自動處理掉,研究了一下發(fā)現(xiàn)實現(xiàn)起來并不難元践,我做了一個案例給大家分享:

案例簡介:Mysql主從復(fù)制中會經(jīng)常遇到同步失斞衅埂(原因很多,不闡述了)被辑,現(xiàn)有監(jiān)控工具無法探測到,每次clecklist的時候會發(fā)現(xiàn)可能已經(jīng)停了好幾天敬惦,重啟同步進程90%情況下是有效的盼理,基于上述原因,做了一個腳本定時監(jiān)聽同步進程俄删,出錯后發(fā)郵件并嘗試修復(fù)宏怔,修復(fù)結(jié)果再發(fā)郵件通知。

適用范圍: ? ? 服務(wù)器進程奔潰(重啟進程)畴椰、CPU內(nèi)存過高(重啟進程)臊诊、空間不足(擴文件系統(tǒng))、系統(tǒng)日志中特定異常等等經(jīng)常發(fā)生的且需要人工干預(yù)的已知問題或每天需要做的checklist

工具: ? ? 腳本語言(示例為shell)

效果: ? ? 大大降低管理員人工運維工作量斜脂,能夠較為精確的統(tǒng)計故障發(fā)生頻率和時間抓艳,以及是否被自動修復(fù),具有一定概率可以在用戶報修前解決問題帚戳。

目標: ? ? 原則上可替代絕大部分checklist壶硅,看著故障一個個出現(xiàn)又一個個被修復(fù)威兜,大大提高管理員的幸福指數(shù)

Tips: ? ? ? ?再貴的工具也不是萬能的销斟,不如有針對性的腳本來的可靠庐椒;將運維經(jīng)驗提煉成類似的自動化腳本可以大幅提升一個運維團隊的運維質(zhì)量和效率

自動處理流程:


shell腳本示例:


#!/bin/sh
# Provides: Sam Zhao
# Version:1.7
# MySQL slave process monitor and auto fix
# Usually this is put in /etc/scripts
# crontab time: */10 * * * * 十分鐘執(zhí)行一次
# mailx support
#===================
# Parameters
user=******
password=******
host=******
email=****@********.com
logfile=/tmp/slave.log
flagfile=/tmp/slaveisrestarted
# 執(zhí)行show slave status, 將關(guān)注的數(shù)據(jù)篩選出來存入臨時文件$logfile
mysql -u$user -p$password -h$host -e "show slave status\\G;" | grep -i running > $logfile
# 查詢臨時文件,輸出結(jié)果判斷進程是否正常
if [ `cat $logfile | grep -i Slave_IO_Running: | awk '{print $2}'` = Yes ]
?then
? ? echo "slave IO process is OK"
else
#郵件通知出錯時間蚂踊,暫未發(fā)現(xiàn)過IO process錯誤约谈,需要人工干預(yù)
? ? echo "slave IO process is error at `date`"|mailx -s "Alarm info from $host" $email
fi
if [ `cat $logfile | grep -i Slave_SQL_Running: | awk '{print $2}'` = Yes ]
?then
? ? echo "slave SQL process is OK"
#進程已正常,如存在出錯標簽犁钟,說明問題已修復(fù)棱诱,發(fā)郵件告知已自動修復(fù)
? if [ -f "$flagfile" ];
? ? then
? ? ? rm -rf $flagfile
? ? ? echo "slave SQL process is fixed automatically"|mailx -s "Alarm info from $host" $email
? fi
#進程不正常,如存在出錯標簽涝动,說明問題不可被自動修復(fù)迈勋,發(fā)郵件告知需人工干預(yù)
else
? if [ -f "$flagfile" ];
? ? then
? ? ? echo "slave SQL process is error and cannot to be autofixed"|mailx -s "Alarm info from $host" $email
#進程不正常,如不存在出錯標簽醋粟,說明問題第一次發(fā)生靡菇,嘗試重啟進程
? else ?
? ? ? mysql -u$user -p$password -h$host -e "stop slave;"
? ? ? sleep 5
? ? ? mysql -u$user -p$password -h$host -e "start slave;"
#創(chuàng)建出錯標簽,發(fā)郵件告知自動處理中
? ? ? touch $flagfile
? ? ? echo "slave SQL process is error at `date` and tried to restart"|mailx -s "Alarm info from $host" $email
? fi
fi
#刪除臨時文件$logfile
rm -rf $logfile



再舉一個日志檢查的例子:

定期檢索當(dāng)天的java日志米愿,篩選將含有OutOfMemoryError的語句輸出到臨時文件厦凤,判斷文件大小是否 > 0 kb,如果返回ture育苟,表示該java主機發(fā)生內(nèi)存溢出较鼓,一般是線程太多,資源沒有被回收導(dǎo)致违柏,可以立即重啟服務(wù)進程博烂,每個過程發(fā)郵件告知管理員,執(zhí)行完畢刪除臨時文件漱竖。

內(nèi)存溢出后會造成服務(wù)器訪問不穩(wěn)定禽篱,用戶訪問慢,在多臺機器負載均衡的情況下闲孤,重啟其中一臺對用戶無感知谆级,如果10分鐘檢查一次,用戶可能還沒發(fā)現(xiàn)問題就解決了讼积,一般這個問題幾周發(fā)生一次肥照,一個小腳本完全就搞定了。

當(dāng)然如果一天內(nèi)頻繁收到郵件在自動修復(fù)勤众,肯定就是前一天發(fā)布的程序問題或者訪問量達到瓶頸舆绎,需要人工介入了。


原創(chuàng)作品们颜,轉(zhuǎn)載請注明出處 ?http://www.reibang.com/p/61f367886714

email ? ?sam.z.s@163.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吕朵,一起剝皮案震驚了整個濱河市猎醇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌努溃,老刑警劉巖硫嘶,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梧税,居然都是意外死亡沦疾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門第队,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哮塞,“玉大人,你說我怎么就攤上這事凳谦∫涑” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵尸执,是天一觀的道長家凯。 經(jīng)常有香客問我,道長剔交,這世上最難降的妖魔是什么肆饶? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮岖常,結(jié)果婚禮上驯镊,老公的妹妹穿的比我還像新娘。我一直安慰自己竭鞍,他們只是感情好板惑,可當(dāng)我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著偎快,像睡著了一般冯乘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晒夹,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天裆馒,我揣著相機與錄音,去河邊找鬼丐怯。 笑死喷好,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的读跷。 我是一名探鬼主播梗搅,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了无切?” 一聲冷哼從身側(cè)響起荡短,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哆键,沒想到半個月后掘托,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡洼哎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年碾褂,在試婚紗的時候發(fā)現(xiàn)自己被綠了减途。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡笼痹,死狀恐怖抽兆,靈堂內(nèi)的尸體忽然破棺而出识补,到底是詐尸還是另有隱情,我是刑警寧澤辫红,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布凭涂,位于F島的核電站,受9級特大地震影響贴妻,放射性物質(zhì)發(fā)生泄漏切油。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一名惩、第九天 我趴在偏房一處隱蔽的房頂上張望澎胡。 院中可真熱鬧,春花似錦娩鹉、人聲如沸攻谁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戚宦。三九已至,卻和暖如春锈嫩,著一層夾襖步出監(jiān)牢的瞬間受楼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工呼寸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留艳汽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓等舔,卻偏偏與公主長得像骚灸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子慌植,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容