Elasticsearch(ES)监控、巡检及异常指标处理指南

devtools/2024/12/25 9:59:27/

以下是更为详细的 Elasticsearch(ES)监控、巡检及异常指标处理指南,分为 监控内容巡检方式异常指标及处理方案 三大部分,内容更加全面,适用于生产环境中的深入管理。


一、监控内容

1. 集群健康状态

  • 指标说明:

    • 集群状态:
      • Green(绿色):所有主分片和副本分片正常工作。
      • Yellow(黄色):主分片正常,但部分副本未分配。
      • Red(红色):主分片丢失或不可用。
    • 重要字段:
      • status:集群状态(green/yellow/red)。
      • number_of_nodes:当前节点数。
      • number_of_data_nodes:数据节点数。
      • active_shards:活动分片数。
      • unassigned_shards:未分配分片数。
  • 命令及样例:

    GET /_cluster/health
    
    {"cluster_name": "my_cluster","status": "green","number_of_nodes": 5,"number_of_data_nodes": 3,"active_primary_shards": 15,"active_shards": 30,"unassigned_shards": 0
    }
    
  • 处理建议:

    • **Green 状态:**无需操作。
    • Yellow 状态:
      • 检查节点故障原因。
      • 检查副本分片策略和硬件资源分布。
    • Red 状态:
      • 立即检查主分片状态,分析日志查找异常原因。
      • 根据备份策略恢复数据或修复分片。

2. 节点状态

  • 关键指标:

    • **节点数:**是否符合预期。
    • CPU 使用率:
      • 正常值:50% 以下。
      • 关注:> 70%。
      • 高危:> 90%。
    • 内存(JVM Heap):
      • 使用率超过 75% 可能触发频繁 GC。
    • 磁盘使用率:
      • 超过 85% 触发分片迁移。
      • 超过 90% 写入失败。
    • 网络带宽:
      • 主要关注吞吐量(吞入和吞出)。
  • 命令及样例:

    GET /_cat/nodes?v
    
    ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role
    10.0.0.1   65           75          50  1.2     0.8     0.6      d
    10.0.0.2   50           70          30  0.6     0.4     0.2      d
    
  • 处理建议:

    • CPU 高使用率:优化查询、增加节点。
    • JVM Heap 高:增大堆大小或减少缓存策略。
    • 磁盘高使用率:清理旧索引或扩容磁盘。

3. 索引和分片状态

  • 关键指标:

    • 索引状态:
      • 分片分配是否均匀。
      • 是否存在未分配分片。
    • 分片数量:
      • 单索引分片建议不超过 50。
      • 单分片大小建议控制在 30-50GB 之间。
    • 索引吞吐量:
      • 写入速率:是否出现堆积。
      • 查询延迟:是否存在慢查询。
  • 命令及样例:

    GET /_cat/shards?v
    GET /_cat/allocation?v
    
  • 处理建议:

    • 分片未分配:
      • 检查磁盘容量。
      • 使用 _cluster/reroute 强制分片重新分配。
    • 分片过多:
      • 合并索引或调整分片数。

4. 慢查询

  • 慢查询指标:

    • 查询耗时:是否超过预期。
    • 执行频率:是否过于频繁。
    • 查询类型:深度分页、高频聚合等。
  • 排查方法:

    • 开启慢查询日志:
      index.search.slowlog.threshold.query.warn: "10s"
      index.search.slowlog.threshold.fetch.warn: "5s"
      
  • 处理建议:

    • 优化索引结构(Mapping)。
    • 使用 scroll 替代深度分页。

5. 快照和备份

  • 关键点:

    • 确保快照周期性执行。
    • 检查快照状态是否成功。
    • 确保快照目录权限正常。
  • 命令及样例:

    GET /_snapshot/<repository>/_status
    
  • 处理建议:

    • 定期验证快照可用性。
    • 发生问题时重新注册仓库。

二、巡检方式

1. 自动化巡检

  • 使用工具:
    • **Elastic Stack 自带监控模块:**Kibana 的监控 UI。
    • **Prometheus + Grafana:**用于大规模监控。
    • Curator:定期清理索引和快照。

2. 手动巡检

  • 每日检查:集群状态、节点状态、索引状态。
  • 每周检查:分片分布、慢查询、任务队列。
  • 每月检查:硬件资源、快照备份。

三、异常指标处理

1. CPU 使用率高

  • 原因:

    • 大量聚合查询。
    • 分片分布不均匀。
  • 解决:

    • 优化查询,限制返回数据大小。
    • 增加节点。

2. JVM Heap 使用率高

  • 原因:

    • 数据量过大。
    • 缓存策略问题。
  • 解决:

    • 增加堆内存大小。
    • 清理缓存。

3. 分片未分配

  • 原因:

    • 磁盘空间不足。
    • 分片损坏。
  • 解决:

    • 强制重新分配分片:
      POST /_cluster/reroute
      

4. 查询延迟高

  • 原因:

    • 深度分页或聚合。
    • 查询频率过高。
  • 解决:

    • 开启慢查询日志。
    • 使用 filter 替代 query

通过系统化监控和及时巡检,可以大大降低问题的出现频率,保证 ES 集群的高效运行。


http://www.ppmy.cn/devtools/145230.html

相关文章

将axios添加到全局属性,以及使用

如果你希望在应用的任何地方都能方便地访问Axios实例,可以在应用的入口文件中提供它。 app.config.globalProperties.$axios = axiosInstance; // 将axios添加到全局属性中 $axios只是一个名字而已,叫什么不行呢 1. 看一下怎么访问的 在Vue.js中,this.$axios.post()是一个…

Swin transformer 论文阅读记录 代码分析

该篇文章&#xff0c;是我解析 Swin transformer 论文原理&#xff08;结合pytorch版本代码&#xff09;所记&#xff0c;图片来源于源paper或其他相应博客。 代码也非原始代码&#xff0c;而是从代码里摘出来的片段&#xff0c;配上简单数据&#xff0c;以便理解。 当然&…

YOLOv8 引入高效的可变形卷积网络 DCNv4 | 重新思考用于视觉应用的动态和稀疏算子

我们介绍了可变形卷积v4(DCNv4),这是一种为广泛的视觉应用设计的高效且有效的算子。DCNv4通过以下两项关键改进解决了其前身DCNv3的局限性: 在空间聚合中移除softmax归一化,以增强其动态特性和表达能力。优化内存访问,减少冗余操作以提高速度。这些改进使得DCNv4相比DCNv…

Github 2024-12-20 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2024-12-20统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9Python项目2TypeScript项目1Apollo - 可靠的微服务配置管理系统 创建周期:2940 天开发语言:Java协议类型:Apache License 2.0Star数…

Log4j2漏洞

输入systemctl start docker启动docker 进入到CVE-2021-44228 输入docker-compose up -d开启环境 输入docker ps查看开启环境的端口 去访问靶场 打开dnslog平台&#xff0c;获取一个域名来监控我们所获得的内容 访问http://8.155.8.255:8983/solr/admin/cores?action${jndi:ld…

【网络云计算】2024第51周-每日【2024/12/19】小测-理论-如何实际一个校园网-简要列出

文章目录 1. 需求分析2. 网络架构3. 有线与无线网络覆盖4. 网络设备5. 安全策略6. 网络管理与监控7. 可扩展性与灵活性8. 教育应用与支持9. 用户教育与培训10. 预算与成本控制 【网络云计算】2024第51周-每日【2024/12/19】小测-理论-如何实际一个校园网 设计一个中专的校园网络…

openai更新

OpenAI于2024年12月21日在GitHub上正式发布了实时嵌入式SDK。以下是对该消息及与ESP32-S3结合情况的详细介绍&#xff1a; ### SDK介绍 - **支持平台**&#xff1a;该SDK主要基于OpenAI最新的WebRTC技术&#xff0c;目前只支持乐鑫的ESP32-S3芯片 &#xff0c;经过验证的开发板…

重温设计模式--原型模式

文章目录 原型模式定义原型模式UML图优点缺点使用场景C 代码示例深拷贝、浅拷贝 原型模式定义 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象&#xff1b; 核心中的核心就是 克隆clone ,后面讲 原型模式是一种创建型设计模式&#xff0c;它的主要…