日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解决一个偶现的503 bug,花了俺不少时间

發(fā)布時(shí)間:2024/3/24 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决一个偶现的503 bug,花了俺不少时间 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述


在3月2日晚上,大概8點(diǎn)左右,本想打道回府,回家休息,突然被人在bug群@了一下,說是管理后臺(tái),訪問不了,界面上出現(xiàn)了:

503 service temporarily unavailable 復(fù)制代碼

我趕緊嘗試訪問了一下,確實(shí)如此,但不是每次都不行,而是偶發(fā)503的錯(cuò)誤提示。當(dāng)時(shí)我是沒有立刻動(dòng)手去定位問題,而是先拉了一個(gè)臨時(shí)處理群,這樣做的原因是:

  • 先將線上出故障了這件事情同步出去,要讓相關(guān)的人知道,像運(yùn)維、測(cè)試、你的上級(jí)、產(chǎn)品等;
  • 一定是先止損,優(yōu)先【線下去處理故障】,而不是【直接在線上處理故障】;

群拉完后,我簡(jiǎn)單同步現(xiàn)象后,就開始分析了,首先想的第一點(diǎn)就是:

是不是因?yàn)樽隽司€上變更導(dǎo)致的,比如有發(fā)版之類的。

從這個(gè)點(diǎn)切入去想的原因是源于自己處理線上故障的經(jīng)驗(yàn),大部分都是發(fā)版導(dǎo)致的,能回滾的優(yōu)先回滾,第一時(shí)間降低影響。因此我打開了發(fā)版日歷(技術(shù)團(tuán)隊(duì)是有維護(hù)一個(gè)發(fā)版日歷的,記錄了每次發(fā)版或者變更的內(nèi)容),發(fā)現(xiàn)3月2號(hào)當(dāng)天,在線上做了如下兩件事情:

  • 部分服務(wù)接入了阿里云WAF,這個(gè)是因?yàn)榘踩?#xff0c;需要接入;
  • 管理后臺(tái)對(duì)應(yīng)的前后端服務(wù),確實(shí)也發(fā)版了;

火速電話公司的安全專家,先臨時(shí)關(guān)閉WAF,但關(guān)閉后沒有用,訪問管理后臺(tái)還是一直出現(xiàn)503提示,沒辦法了,得立刻回滾當(dāng)天上線的內(nèi)容,正當(dāng)運(yùn)維要操作回滾的時(shí)候,我反而制止了它。因?yàn)?#xff1a;

管理后臺(tái)突然又能訪問了。

😂,跟產(chǎn)品和業(yè)務(wù)方確認(rèn)了一下,他們也反饋系統(tǒng)恢復(fù)了。好吧,這個(gè)也算一個(gè)好消息,畢竟可以給技術(shù)團(tuán)隊(duì)多一些時(shí)間去定位問題。

系統(tǒng)臨時(shí)性恢復(fù)后,我這邊也就沒那么大的壓力和緊迫感了,靜下心來開始著手仔細(xì)分析,找出根因。


分析過程


是否有突增的流量過來

使用阿里云的SLS日志平臺(tái),寫了個(gè)簡(jiǎn)單的腳本,執(zhí)行后發(fā)現(xiàn),流量一直很平滑。雖然是管理后臺(tái)的服務(wù),但是還是要先看看流量的,因?yàn)橛锌赡苡幸恍┒〞r(shí)任務(wù)或者重量級(jí)業(yè)務(wù)操作,導(dǎo)致瘋狂的調(diào)用管理后臺(tái)服務(wù)。

是否是發(fā)版導(dǎo)致的?

由于發(fā)版的內(nèi)容還不少,很難一下子分析出是哪些代碼導(dǎo)致的,只能利用阿里的日志平臺(tái)以及監(jiān)控平臺(tái),從故障發(fā)生的時(shí)間范圍里,尋找一些蛛絲馬跡。

首先是查看故障時(shí)間內(nèi),對(duì)應(yīng)的后端服務(wù)有無返回狀態(tài)碼非200的,可以使用阿里的SLS日志平臺(tái),寫個(gè)簡(jiǎn)單命令查詢一下即可:

xxxx_app_id:yyyy not statusCode: 200 復(fù)制代碼

上面的一些查詢字段,是可以在SLS上自己定義的。最終發(fā)現(xiàn)返回的狀態(tài)碼都是200的,這個(gè)就有點(diǎn)奇怪,但還是繼續(xù)看一下有無異常日志。

xxxx_app_id:yyyy and logLevel: ERROR 復(fù)制代碼

發(fā)現(xiàn)也沒有,初步判斷,不是后端代碼上線導(dǎo)致的,便轉(zhuǎn)而開始用阿里云的監(jiān)控平臺(tái)觀察后端服務(wù)pod節(jié)點(diǎn)的運(yùn)行情況,但也沒有什么收獲,pod既無重啟的情況,內(nèi)存、CPU usage也都正常,也沒有什么慢的請(qǐng)求。

當(dāng)時(shí)就有點(diǎn)摸不著北了,由于那會(huì)也比較晚了,后臺(tái)管理系統(tǒng)也暫時(shí)沒有出現(xiàn)問題了,我就先回家了。而隔天又有其他重要緊急的事情要處理,我就忘記去跟這個(gè)事情了,一直到3月6號(hào)早上,又開始出現(xiàn)503問題了,持續(xù)時(shí)間是兩分鐘,然后就又自己恢復(fù)了。

這次我就把手頭上的事情先全部放下,全力跟進(jìn)這個(gè)問題。經(jīng)過3月2號(hào)晚上的分析,感覺跟后端服務(wù)沒有關(guān)系,那會(huì)不會(huì)是前端的node服務(wù)有問題呢? 當(dāng)然平時(shí)如果線上出故障,我很少認(rèn)為會(huì)是前端問題,都是先從后端服務(wù)定位起。

但這次沒辦法,死馬當(dāng)活馬醫(yī),于是便到阿里云上去看一下前端pod節(jié)點(diǎn)的運(yùn)行情況,發(fā)現(xiàn)有重啟的情況,我感覺發(fā)現(xiàn)新大陸了,馬上去確定pod重啟時(shí)間,但是很遺憾,我沒權(quán)限看,就臨時(shí)去看一下這個(gè)pod的內(nèi)存波動(dòng)情況,一般來說,pod有重啟的話,內(nèi)存會(huì)短暫釋放,果然,在故障期間,前端的pod的內(nèi)存占用有下降的趨勢(shì),然后故障后的幾秒,內(nèi)存占用又恢復(fù)了日常水平。

于是便火急火燎的跑去找了一下運(yùn)維:

把前端的xxx pod有重啟的情況,我懷疑管理后臺(tái)503問題,是這個(gè)原因?qū)е碌?#xff0c;你能不能把這個(gè)pod重啟前的日志發(fā)我一下。

當(dāng)時(shí)運(yùn)維回復(fù)說,重啟前的日志找不到了哦。當(dāng)然,這句話我是不信的。就讓運(yùn)維去查一下或者找阿里云的售后,看看怎么拿到pod重啟前的日志。果然,可以使用kubectl命令,找到日志:

kubectl describe pod xxxx-pro-vyyyyyyyy | grep 'State: ' -A 5

日志里有幾個(gè)信息:

  • 一個(gè)是pod重啟前的代碼報(bào)錯(cuò)日志;
  • 一個(gè)是pod具體的重啟時(shí)間;
  • 一個(gè)是Exit Code,這個(gè)code等于1,說明pod重啟,是服務(wù)自身的報(bào)錯(cuò)導(dǎo)致的。

報(bào)錯(cuò)日志如下:

TypeError [ERR_HTTP_INVALID_HEADER_VALUE]: Invalid value "undefined" for header "Content-Length"

到此,基本就清楚了,請(qǐng)求先經(jīng)過阿里WAF和阿里nginx-ingress后,由nginx-ingress轉(zhuǎn)發(fā)給前端的service,進(jìn)而進(jìn)入到pod,但是由于pod同一時(shí)間都在重啟,暫時(shí)無法提供服務(wù),service這一層就不知道pod的狀態(tài),nginx-ingress自然也就無法知道service的狀態(tài),于是便返回了503。等重啟完畢后,就又正常提供服務(wù),之所以偶發(fā)的出問題,原因就在這里。

于是便找了前端的開發(fā)leader去定位原因,最后他回復(fù)說,要改一個(gè)底層文件,兼容一下Content-Length為空的情況,改完后,簡(jiǎn)單在在測(cè)試環(huán)境和預(yù)發(fā)布環(huán)境測(cè)試一下,過一下核心主流程,沒問題后,就上線了。

從3月9日上線到現(xiàn)在,暫時(shí)沒有發(fā)現(xiàn)503問題了。

那靈魂一問來了,這個(gè)底層文件,從2021年來一直都沒有改動(dòng)過,也沒出過啥事,為啥最近才開始出問題呢? 答案是:

比較難查,不知道是哪些請(qǐng)求會(huì)沒有Content-Length,但肯定是發(fā)版導(dǎo)致的。

總結(jié)

以上是生活随笔為你收集整理的解决一个偶现的503 bug,花了俺不少时间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产91白丝在一线播放 | 永久精品 | 国产一区二区黄 | 欧美日韩精品免费 | 欧美视频一区二区三区在线观看 | 国产日韩欧美中文字幕 | 男男黄网站| 最新中文字幕视频 | 日本不卡一二三区 | 精品国产乱码久久久久久婷婷 | ass日本 | 精品国产乱码久久久久久88av | 看黄色一级大片 | 精品无码一区二区三区免费 | 97成人精品| 久99热| 少妇扒开粉嫩小泬视频 | 日韩精品免费一区二区在线观看 | 视频在线观看电影完整版高清免费 | 日本www在线 | 男女日屁视频 | 99久久久无码国产精品免费蜜柚 | 黄色网免费观看 | 亚洲最新在线观看 | 久久人人爽人人爽人人片av高清 | 五月婷婷操 | www.黄色在线观看 | 日韩黄色一级大片 | 午夜av在线 | 无码粉嫩虎白一线天在线观看 | 国产精品欧美一区二区 | 91影院在线免费观看 | 日本老熟妇毛茸茸 | 成人黄色性视频 | 一级大片在线观看 | 黄色成人一级片 | 18成人在线 | 精品无码一区二区三区电影桃花 | 长河落日 | 亚洲福利一区 | 亚洲激情片 | 婷婷一区二区三区四区 | 中国色视频| 蜜桃精品视频在线观看 | avtt在线播放 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 亚洲成人日韩在线 | 韩国美女被c | 欧美xxxxbbbb | 亚洲精品中文字幕乱码无线 | 国产成人+综合亚洲+天堂 | 久久欧| 一及黄色大片 | 国产精品国产三级国产a | 国产第一页屁屁影院 | 久久精品中文字幕 | 久久久亚洲成人 | 国产福利91精品一区二区三区 | 97精品视频在线 | 黑人干亚洲人 | av亚洲在线 | 国产精品久久久久久一区二区 | 尤物自拍 | 欧美性猛烈 | 国产精品视频免费观看 | 热久久这里只有精品 | 国产免费三片 | 亚洲欧美另类在线视频 | 秋霞国产精品 | 国产伦精品视频一区二区三区 | www日韩在线 | 国产精品30p | 操一操干一干 | 雪白的扔子视频大全在线观看 | a一级网站 | 精品综合久久久久 | 亚洲第二页 | 亚洲精品乱码久久久久久久久久久久 | 超碰caoporen| 色就是色亚洲色图 | 精品在线播放 | 黄色91免费观看 | 草草影院第一页yycc.com | 亚洲乱仑 | 高清视频一区二区 | 国产成人av免费看 | 一区二区三区有限公司 | 窝窝视频在线观看 | 我要看免费的毛片 | 色呦呦一区二区 | 黄色小视频免费观看 | 丰满少妇中文字幕 | 在线观看免费观看 | a级大片免费看 | 男女日日| 黄色一级一片 | 夜夜躁很很躁日日躁麻豆 | 黄色免费网站观看 | 伊人网av在线 |