集群运维挑战
- 用户集群数量多,业务场景差异大
使用与配置不当,优化不够
思考🤔如何更加高效和正确的使用ES
如何更全面的了解集群的使用状况发现问题滞后,需防患于未然,避免集群崩溃
节点当机—负载过高,导致节点失联
副本丢失,导致数据可靠性受损
集群压力过大,数据写入失败提升集群性能
数据节点负载不均衡(避免单几点瓶颈)/优化分片,segment
规范操作方式(利用别名/避免dynamic mapping引发过多字段,对索引的合理性进行管控)
集群Green并不意味着足够好
- 绿色只是其中一项指标,显示分片是否都正常分配。
- 监控指标多且分散—指标的含义不够明确直观
- 问题分析定位的门槛较高—需具备专业知识
Elastic提供SupportdDiagnosticsTool
https://github.com/elastic/support-diagnostics
集群中索引的诊断
- 索引的总数是否过大,分片个数是否合理,副本数尽量不要为0,主分片大小检测
- 字段总数检测,是否存在字段过多的情况(dynamic mapping)
- 单个节点的分片数是否过多,索引是否分配不均衡
- 数据节点之间的负载偏差是否过大
- 冷热数据分配是否正确(例如cold节点上的索引设置成只读)
- 索引segment大小诊断分析
多维度构建诊断检测工具
- 集群健康状态,是否有节点丢失
- 索引合理性
资源使用合理性
cpu/内存/磁盘/负载使用情况分析
业务操作合理性
集群状态变更频率,是否在业务高峰期有频繁操作
慢查询监控与分析