【SRE学堂】《OSS从入门到精通》第三章:OSS深度巡检_03巡检异常处理案例解析-阿里云开发者社区

开发者社区> 阿里云SRE技术社区> 正文

【SRE学堂】《OSS从入门到精通》第三章:OSS深度巡检_03巡检异常处理案例解析

简介: 我们在进行日常巡检的时候难免会发现一些异常,当我们进行OSS产品的黑屏巡检时,发现某一台物理机checkready异常,针对这个问题我们该如何快速地去处理异常呢?针对这个问题,下面给大家详细讲解一下解决方案。

阿里云
阿里云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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云智能全球技术服务部SRE团队,是阿里集团高可用基础技术核心缔造团队,也是阿里为确保客户平台稳定、业务连续而打造的核心支撑团队

官方博客
官网链接