故障现象场景描述
es 写入异常,此时监控数据会有断点或者中断的现象,kafka 对应的 topic 消费组 会有数据消费堆积(FlinkToWriter_Barad_Comm)。
故障影响范围
监控数据查询不到,云产品侧告警无法正常触发。
对平台其余云产品业务无影响。
故障定位分析
检查 写入 es 的容器日志:
tcloud-barad-metric-writer
进到容器里,tail -1000f /usr/local/services/metric-writer/log/metric-writer.log | grep bulk。
在此处观察日志里返回的异常内容是 es 集群压力大还是 es 服务禁止写入(只读)。
故障应急处置步骤
场景 1:es 集群压力大,可适当清理部分监控数据后联系支撑 es 队列同学进行 es 集群扩容处理。
场景 2:es 只读,可适当清理部分监控数据恢复可写状态,后联系撑 es 队列同学进行 es 集群扩容处理。
es 常用检查及清理操作:
##当前集群内索引大小排序
curl -s -H "Content-Type: application/json" -u $es_user:$es_pass $es_ip:$es_port/_cat/indices?v\&s=store.size:desc | more
##根据索引大小进行选择性的清理
curl -s -XDELETE -H "Content-Type: application/json" -u $es_user:$es_pass $es_ip:$es_port/xxx
##集群恢复可写状态
curl -X PUT -H "Content-Type: application/json" -u $es_user:$es_pass $es_ip:$es_port/_cluster/settings?pretty -d '{"persistent":{"cluster.blocks.read_only_allow_delete":null}}'
curl -X PUT -H "Content-Type: application/json" -u $es_user:$es_pass $es_ip:$es_port/_cluster/settings?pretty -d '{"index.blocks.read_only_allow_delete": false}'
故障恢复验证
检查 写入 es 的容器日志:
tcloud-barad-metric-writer
进到容器里,tail -1000f /usr/local/services/metric-writer/log/metric-writer.log | grep bulk。
看新的写入日志是否有报错。
等 2-3 分钟后,检查租户端 cvm 的监控指标是否恢复正常。