有時候遇上服務報500,特別是後台服務會經常出現,500錯誤是內部伺服器錯誤。遇上錯誤首先想到的肯定是先看看服務的程序還在不在,然後檢視日誌,從日誌裡面找原因。
根據工作中所爬過的坑,小結一下,可以從下面的方向進行排查:
1)檢查資料庫伺服器,是否能夠正常連得上,資料庫機器是否掛了;
2)檢查服務上的資料庫相關的配置,是否正確;
3)檢查swagger,看swagger頁面是否能夠正常訪問,swagger裡面的後台介面能否正常獲取到資料庫裡面的資料;
4)如果資料庫正常、配置正常,swagger也能獲取到資料,而且檢視日誌的時候,發現日誌報某些表不存在,但是登上某一台資料庫,發現表是完整的。那麼就需要檢查一下所有的資料庫機器裡面的資料了。看看主從資料庫裡面的資料是否一致。如果資料不一致,且同步資料有問題,而服務正好連上問題資料庫,那麼就會出現頁面上有些資料顯示不出來,服務報500的情況;
5)如果是新搭建的環境,那就需要看看是否資料庫沒有進行資料的初始化了;
6)資料庫的磁碟空間滿了,這時候服務不一定會報500,但是頁面上資料會載入不出來;
7)還遇到一種資料庫異常就是,有乙個鑑權的服務公升級完了之後,發現所有的成員操作報沒許可權,但是服務是ok的。檢視服務日誌,日誌報該服務配置的資料庫使用者沒許可權連線資料庫。檢視這個資料庫的使用者,發現這個庫的使用者和密碼被誰刪掉了(另一次是使用者沒有刪,突然就沒許可權了),然後重新建立這個使用者,重新授權,就ok了
有一次遇上服務報500,檢視了機器的後台程序,服務的配置、資料庫,一切正常。而且使用ip+埠訪問後台swagger,也能夠完整的獲取到資料。但是使用網域名稱去訪問swagger的時候,發現swagger頁面已經無法開啟,經過排查網域名稱,發現該服務的網域名稱丟失,而前台調該服務是通過網域名稱呼叫的,因此出現了報500的情況。
有一次發現a服務的頁面上創先了b服務報500,a服務是通過網域名稱呼叫的b服務後台服務。經過核對排查,發現因為兩台機器的大小網、網路等原因,需要在a服務的/etc/hosts裡面單獨配置b服務的解析,加上ip和網域名稱(如:10.0.0.0 www.baidu.com)才能正確解析到。於是加上解析之後,服務就不再報500了。
在首頁退出登入,本來應該是介面回到最初的登入介面,但是退出登入之後,介面直接就是一串500的報錯。於是檢視tomcat下應用裡面的inputs引數,檢查log out這裡對應的url鏈結位址。換成正確的位址之後,500錯誤解決
在前端是加了memcached的,在登入頁面輸入使用者名稱和密碼登入,進去之後發現不是**的首頁,而是頁面直接就是500的報錯資訊,報錯資訊還寫了time out等等,其中注意到報錯裡面有兩個ip位址,經核實,正是memcached的ip位址,於是檢視memcached服務,確認是memcached服務異常引起的。
服務為雙節點,走的ha,一次頁面上出現服務報500,影響了業務的正常功能。但是以上5點原因都排查過,均是正常的。最後檢視ha,發現是後台ha服務的vip掛了,因此引起了服務報500.將vip處理好,問題得到解決
原創 微服務為什麼一定要用docker
早在2013年的時候,docker就已經發行,然而那會還是很少人了解docker。一直到2014年,martin fowler提出了微服務的概念,兩個不相干的技術終於走在了一起,創造了今天的輝煌!近幾年來,很多網際網路關係開始跟風,構建docker 微服務的架構體系。然而,根據筆者觀察發現,有些童鞋...
你的部落格為什麼會吸引人 原創
http blog.csdn.net chengg0769 保留此行 我是7月份才在csdn設定的部落格,原來本以為sina blog比較好,可是響應速度太慢,故放棄,只是在那邊留了乙個鏈結到這邊。a.部落格對我而言有何用 b.部落格的宣傳作用 c.對瀏覽者有用 d部落格的結構和風格 分類是必要的,...
為什麼雲伺服器沒西南的 為什麼要使用雲伺服器
在公司建立和鞏固線上業務時,採用雲計算伺服器可以將不必要的干擾降至最低,並有效提公升網路業務的穩定性和快速部署能力。雲伺服器可降低中斷風險 傳統的物理伺服器租用,可能面臨硬碟等傳統儲存硬體損壞的狀況,從而導致伺服器宕機,業務連續性中斷。如果要修復這樣的故障,需要及時聯絡機房,由人工進行更換。當然,存...