极客视点
极客时间编辑部
极客时间编辑部
113241 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:22
登录|注册

Elasticsearch运维之监控实战

讲述:子阳大小:2.46M时长:05:22
监控,是服务可用性保障的关键之一。近日。京东云(微信公众号)发文从运维角度,对 ES 服务监控进行了系统性总结,涵盖监控工具选型、监控采集项筛选介绍,最后列举了几个借助监控发现的 ES 线上问题。
针对 ES 进行监控,主要期望解决这几种场景:
ES 日常服务巡检,帮助运维开发人员及时发现隐患
ES 服务异常后,帮助运维开发人员及时发现故障
采集的 ES 监控指标,帮助运维开发人员迅速定位问题根因
能够及时发现 ES 服务异常,这是最主要目标。
借助运维工具,在 ES 实际运维工作中能极大提升运维开发人员的工作效率。目前 ES 可用的监控工具或插件很多,对多种监控工具进行评测分析后,京东云最终的监控工具选型为以下三个。

1.X-Pack+kibana

对索引信息、集群整体信息很有帮助,尤其是各索引的索引、搜索速率,索引延迟数据等。需要注意的是,ES 集群上线前就需要安装 X-Pack 插件。

2.Jmxtrans-ES+influxdb

主要进行核心数据采集、监控。ES 本身提供的 jmx 信息有限,这里使用了 Jmxtrans-ES(自研)工具,通过 http 接口获取信息后,写入到 influxdb。ES 与 influxdb 的结合,官方给出的方案是读取 X-Pack 中的索引信息,考虑到 X-pack 索引是存储在 ES,保留时间有限,以及与京东云内部监控系统的对接,京东自研了 Jmxtrans-ES 工具进行核心信息采集,也自研了 ES-Monitor 功能监控工具,仪表盘通过 Grafana 进行展现。

3.Elasticsearch-HQ

之前使用的是 head 插件,在集群规模达到一定程度后,head 插件信息展现不理想,因此使用了 HQ 代替 head 部分功能。如果很难记住管理 API,可以借助 ES-command 工具。
此外,在实战中,ES 集群部署使用 5.x 版本,区分协调(coordinating)、摄取(ingest)、主(master)、数据(data)等节点,独立部署,数据节点机器异构。
按照白盒监控和 SRE 黑盒监控进行分类的话,白盒监控有以下四种:
容量:监控存储容量,包括总存储空间、机器(或实例)资源、分片数量(最好不超过一万个分片)、线程池队列长度等。
流量:包括索引、搜索速率、集群网络 IO、集群数据节点 IO。
延迟:包括索引、搜索延迟、慢查询。
错误:包括集群异常节点数、索引、搜索拒绝数量、主节点错误日志。
黑盒监控可以也分为四类。其一,集群功能。索引创建、删除、文档写入、查询等基本功能。实际监控中,创建索引时,需要控制好频率以及分片的分配情况。实战中,由于索引创建频率较高,并且分片数量设置不合理,导致集群 pending 任务堆积,正常业务创建索引会出现大量延迟或失败。
其二,集群整体状态。理论上,集群正常状态为 green,出现 red 时,集群肯定存在部分索引主备分片全部丢失情况。集群状态为 yellow 时,也不能完全代表集群没有问题,这时也需要重点关注或排查集群可能存在的问题。
还有其三活跃分片数百分比。以及其四,Pending 任务数 99% 时间均为 0,如果出现长时间为非 0 情况,集群肯定出现了异常。
最后,列举三个借助监控发现的问题,如下。
场景 1:如果 Elasticsearch 集群出现问题,通过 ES 接口获取到的监控数据可能出现响应超时,无法响应情况,造成监控工具不可用。
发现方式是功能监控响应超时告警。对此,建议避免该场景出现,需要在日常巡检排查中,发现集群隐患,优化集群配置项,消除隐患。如果出现此问题了,那么针对各实例的存活性,错误日志监控不可缺失,通过此监控信息快速定位。
场景 2:如果某数据节点任何一个数据目录不可用(比如磁盘故障,其他应用占满数据目录)则新建索引若有分片分配到上面之后,则会出现创建索引失败。
发现方式是功能监控告警、pending 任务堆积告警。为避免此问题出现,数据盘可以做 raid5 或 raid10,避免多个服务共用同一数据目录等。当然数据目录的可用性,也需要有方法能够知道。
场景 3:某索引因程序问题,出现大量创建 type,导致集群异常。
发现方式是 pending 任务堆积告警,之后排查各索引写入速率,找到异常索引。建议定期排查重点索引的数据写入合理性,以及服务巡检。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 卡斯瓦德
    首先es已经到7.x了,其次再6.x就已经没有多type的可能所以第三点意见没有意义了
    2
收起评论
大纲
固定大纲
1.X-Pack+kibana
2.Jmxtrans-ES+influxdb
3.Elasticsearch-HQ
显示
设置
留言
1
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部