開發與維運

【SRE學堂】《OSS從入門到精通》第三章:OSS深度巡檢_03巡檢異常處理案例解析

阿里雲
阿里雲GTS-平臺技術部-SRE混合雲TAM賦能團隊

1. 環境檢查

登錄tpcmon所在的tongque#容器手動執行檢查腳本,在執行腳本之後顯示的告警信息中需查看記錄checkready異常的機器ip,步驟如下:
1)天基中搜索tongque集群,找到tongque#角色,登錄終端。

1.png
圖1:天基中查找tongque集群

2)執行命令:docker ps,找到tongque容器。

2.png
圖2:終端中執行命令查找tongque容器

3)執行命令docker exec -it dockerid bash,登錄容器。
執行命令cd /home/tpcmon/oss_monitor/script/OssTacMonitor/,切換到腳本所在文件夾。
執行檢查腳本命令/home/tops/bin/python2.7 OssTacMonitor.py --opsnode OPS#2 --alarminfo AlarmInfoKeyKvReady300s.json

3.png
圖3:終端中執行命令進入tongque同期執行腳本

OSS第三章03_代碼.png

[{"product": "oss", "dimensions": {"**.**.14.211": {"MSG": [{"AlarmHost": "vmxxxxxx014211", "CheckReadyStatus": 1, "ErrorPartInfo": {"file_data": {"tcp://**.**.10.82:10280": ["4657770121550814", "26894293281692899", "29709043048799491", "30553467978931469", "38716242303540591"]}, "file_meta": {"tcp://**.**.10.82:10280": ["6921602194084511"]}, "vms_data": {"tcp://**.**.10.82:10280": ["99796312252022860", "124003160249139571", "130477084713484734", "132447409550459349"]}, "datasync_meta": {"tcp://**.**.10.82:10280": ["149617383130594413"]}}, "KvServerNum": 6}], "collection_flag": 0, "error_info": ["App datasync_meta checkready failed,ERROR Partition Count: 1", "Appfile_data checkready failed,ERROR Partition Count: 5", "App file_meta checkready failed,ERROR Partition Count: 1", "App scratch_meta checkready is OK!", "App vms_data checkready failed,ERROR Partition Count: 4", "App vms_meta checkready is OK!"]}}, "service": "kvengine", "level": 1, "app": "kvengine", "host": "**.**.14.211", "alertName": "Alarm-02.305.0102.00001", "metricName": "Alarm-02.305.0102.00001", "subject": "KVCheckready失敗,參考告警源"}]

2. 實施步驟

1、 登錄chijiagent#所在的vm,將異常機器加入黑名單中。
1)天基中找到oss集群,找到chijiagent服務中的chijiagent#角色,登錄終端。

4.png
圖4:天基中查找oss集群主機的終端

2)執行命令/apsara/deploy/kuadmin --interactive=false --command=addblacklist --appname="" --param1=tcp://[$IP]:10280將異常機器加入黑名單。

5.png
圖5:終端中執行命令將異常機器加入黑名單

3)執行命令/apsara/deploy/kuadmin --interactive=false --command=getblacklist檢查黑名單。

6.png
圖6:終端中執行命令檢查黑名單

2、 登錄報錯的物理機,重拉kv_server並檢查。
1)登錄報錯的在物理機,執行命令ps -ef |grep kv_server檢查進程。

7.png
圖7:終端中執行命令登錄報錯物理機

2)執行命令kill -9 $pid; ps -ef |grep kv_server重拉kv_server進程並檢查。

8.png
圖8:終端中執行命令重拉kv_server進行並檢查

3、 檢查checkready、abnchunk是否恢復,檢查赤驥頁面上sla和5xx是否恢復。
1)執行以下命令檢查checkready是否恢復,如果還未恢復或者減少,需要技術支持介入。

#for i in `/apsara/deploy/kuadmin --interactive=false --command=listapp|grep -v :`;do echo ${i}:;/apsara/deploy/ku --interactive=false --command=checkready --appname=$i;done;

9.png
圖9:終端中執行命令將檢查checkready是否恢復

2)執行命令:for i in {"lessmin","none","onecopy"};do echo "Check $i result:";/apsara/deploy/puadmin fs -abnchunk -t $i;done檢查abnchunk是否正常。

10.png
圖10:終端中執行命令檢查abnchunk是否正常

3)赤驥頁面上檢查sla和5xx是否恢復。

11.png
圖11:OSS赤驥頁面中檢查5xx是否恢復

12.png
圖12:OSS赤驥頁面中檢查sla是否恢復

4、 將機器踢出黑名單,再次檢查checkready和abnchunk。
1)執行如下命令,將機器踢出黑名單。

#/apsara/deploy/kuadmin --interactive=false --command=addblacklist --appname="" --param1=tcp://[$IP]:10280   --param2=0
#/apsara/deploy/kuadmin --interactive=false --command=getblacklist

13.png
圖13:終端執行命令將機器踢出黑名單

2)執行如下命令,再次檢查checkready。

#for i in `/apsara/deploy/kuadmin --interactive=false --command=listapp|grep -v :`;do echo ${i}:;/apsara/deploy/ku --interactive=false --command=checkready --appname=$i;done;

14.png
圖14:終端執行命令再次檢查checkready

3)執行如下命令,再次檢查abnchunk。

#for i in {"lessmin","none","onecopy"};do echo "Check $i result:";/apsara/deploy/puadmin fs -abnchunk -t $i;done

15.png
圖15:終端執行命令再次檢查abnchunk

3. 結果驗證

到tpcmon上執行如下命令再次檢查,返回[]則表示正常了。

#cd /home/tpcmon/oss_monitor/script/OssTacMonitor/
#/home/tops/bin/python2.7 OssTacMonitor.py --opsnode OPS#2 --alarminfo AlarmInfoKeyKvReady300s.json

16.png
圖16:終端執行命令做結果驗證

4. 使用工具

1)天基(關於本產品的詳細使用方式敬請關注SRE學堂的後續內容)。
2)docker容器(關於本產品的詳細使用方式敬請關注SRE學堂的後續內容)。
3)在terminal中需使用admin用戶的身份執行命令。

5. 結語

關於OSS的深度巡檢,本章節就介紹到這裡了,下一章節會給大家介紹OSS監控告警案例分析,讓大家學會使用TAC工具查看OSS的監控告警信息,也讓大家學會OSS集群出現大量5xx錯誤時該如何去分析問題。

5dad404db07e4d2a94a837322fd196fb.png

往期內容

《OSS從入門到精通》第三章:OSS深度巡檢_02快速吃透黑屏巡檢那些事兒
《OSS從入門到精通》第三章:OSS深度巡檢_01細說白屏巡檢的方方面面
《OSS從入門到精通》第二章:OSS使用及常見操作
《OSS從入門到精通》第一章:OSS產品綜述
我們是阿里雲智能全球技術服務-SRE團隊,我們致力成為一個以技術為基礎、面向服務、保障業務系統高可用的工程師團隊;提供專業、體系化的SRE服務,幫助廣大客戶更好地使用雲、基於雲構建更加穩定可靠的業務系統,提升業務穩定性。我們期望能夠分享更多幫助企業客戶上雲、用好雲,讓客戶雲上業務運行更加穩定可靠的技術,您可用釘釘掃描下方二維碼,加入阿里雲SRE技術學院釘釘圈子,和更多雲上人交流關於雲平臺的那些事。

2056c733d70e4ee8929f28e2c17695c9.png

Leave a Reply

Your email address will not be published. Required fields are marked *