故障现象场景描述
例如cvm页面给某个机器赋予标签后,页面提示成功无异常,但cvm页面不显示标签信息。
故障影响范围
- 对云平台产品管控的影响: 影响客户对特定的资源赋予标签。
- 对用户生产业务的影响:无。
故障定位分析
- 确认cmq服务是否正常:
kubectl get pod -n sso | grep cmq
- 查看tag服务内cmq配置正常:
#获取pod名称
kubectl get pod -n tce | grep wtag
#任选一个Running的pod查看配置
kubectl exec -n tce tcloud-tcenter-platform-wtag-69b5f84465-6ccwm -- cat /data/release/swoole_tag_write/application/config/idc/hosts_config.php | grep MQ_API_HOST
#将获取到的MQ_API_HOST设置为环境变量
- 查看mq订阅情况:
#确认其中存在tag-resource-topic,若不存在,则提工单到平台侧处理
curl $MQ_API_HOST/topics
#查看订阅情况,例如本次则查看cvm订阅情况,若现场没有订阅需提工单到cvm产品侧处理
curl $MQ_API_HOST/subs/tag-resource-topic | python -m json.tool | grep -C3 -i cvm
#确认订阅正常后,确认cmq回调日志是否触发
#首先查找cmq pod
kubectl get pod -n sso | grep cmq
#查看日志,此处since=1h表示过去一小时的日志,test为测试用的标签名称,也可用ins id等信息过滤,多个pod均需过滤,出现下图日志代表回调成功,进一步原因提单cvm处理;若未出现日志,提单平台侧处理
kubectl logs -n sso cmq-tce-tce-support-cmq-1-1-xxx --since=1h | grep -C 3 test
故障应急处置步骤
- 若cmq topic丢失,可手动创建:
curl -X POST -d '{"topicName":"tag-resource-topic"}' $MQ_API_HOST/topics - 若cmq缺失订阅,需找相关产品侧确认是否重启哪些组件可以重新订阅。
- 若前两者均正常,cmq无回调消息,现场临时可考虑重启tag相关以及cmq的pod临时确认是否可恢复:
kubectl rollout restart deploy -n tce tcloud-tcenter-platform-tag
kubectl rollout restart deploy -n tce tcloud-tcenter-platform-wtag
kubectl rollout restart deploy -n sso cmq-tce-tce-support-cmq-1-1
故障恢复验证
产品页面给对应资源添加标签后可以正常显示。




