阿里雲
阿里雲GTS-平臺技術部-SRE混合雲TAM賦能團隊
1. 環境檢查
登錄tpcmon所在的tongque#容器手動執行檢查腳本,在執行腳本之後顯示的告警信息中需查看記錄checkready異常的機器ip,步驟如下:
1)天基中搜索tongque集群,找到tongque#角色,登錄終端。
圖1:天基中查找tongque集群
2)執行命令:docker ps
,找到tongque容器。
圖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:終端中執行命令進入tongque同期執行腳本
[{"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:天基中查找oss集群主機的終端
2)執行命令/apsara/deploy/kuadmin --interactive=false --command=addblacklist --appname="" --param1=tcp://[$IP]:10280
將異常機器加入黑名單。
圖5:終端中執行命令將異常機器加入黑名單
3)執行命令/apsara/deploy/kuadmin --interactive=false --command=getblacklist
檢查黑名單。
圖6:終端中執行命令檢查黑名單
2、 登錄報錯的物理機,重拉kv_server並檢查。
1)登錄報錯的在物理機,執行命令ps -ef |grep kv_server
檢查進程。
圖7:終端中執行命令登錄報錯物理機
2)執行命令kill -9 $pid; ps -ef |grep kv_server
重拉kv_server進程並檢查。
圖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:終端中執行命令將檢查checkready是否恢復
2)執行命令:for i in {"lessmin","none","onecopy"};do echo "Check $i result:";/apsara/deploy/puadmin fs -abnchunk -t $i;done
檢查abnchunk是否正常。
圖10:終端中執行命令檢查abnchunk是否正常
3)赤驥頁面上檢查sla和5xx是否恢復。
圖11:OSS赤驥頁面中檢查5xx是否恢復
圖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:終端執行命令將機器踢出黑名單
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:終端執行命令再次檢查checkready
3)執行如下命令,再次檢查abnchunk。
#for i in {"lessmin","none","onecopy"};do echo "Check $i result:";/apsara/deploy/puadmin fs -abnchunk -t $i;done
圖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:終端執行命令做結果驗證
4. 使用工具
1)天基(關於本產品的詳細使用方式敬請關注SRE學堂的後續內容)。
2)docker容器(關於本產品的詳細使用方式敬請關注SRE學堂的後續內容)。
3)在terminal中需使用admin用戶的身份執行命令。
5. 結語
關於OSS的深度巡檢,本章節就介紹到這裡了,下一章節會給大家介紹OSS監控告警案例分析,讓大家學會使用TAC工具查看OSS的監控告警信息,也讓大家學會OSS集群出現大量5xx錯誤時該如何去分析問題。
往期內容
《OSS從入門到精通》第三章:OSS深度巡檢_02快速吃透黑屏巡檢那些事兒
《OSS從入門到精通》第三章:OSS深度巡檢_01細說白屏巡檢的方方面面
《OSS從入門到精通》第二章:OSS使用及常見操作
《OSS從入門到精通》第一章:OSS產品綜述
我們是阿里雲智能全球技術服務-SRE團隊,我們致力成為一個以技術為基礎、面向服務、保障業務系統高可用的工程師團隊;提供專業、體系化的SRE服務,幫助廣大客戶更好地使用雲、基於雲構建更加穩定可靠的業務系統,提升業務穩定性。我們期望能夠分享更多幫助企業客戶上雲、用好雲,讓客戶雲上業務運行更加穩定可靠的技術,您可用釘釘掃描下方二維碼,加入阿里雲SRE技術學院釘釘圈子,和更多雲上人交流關於雲平臺的那些事。