温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

elasticsearch如何做监控

发布时间:2026-10-29 08:40:23 来源:亿速云 阅读:95 作者:小樊 栏目:软件技术

Elasticsearch 的监控可以从集群状态、节点资源、索引性能、查询延迟、日志与安全几个层面来做。下面按「官方方案 + 开源/自建方案」系统讲一下。


一、Elastic 官方监控方案(推荐)

1. Stack Monitoring(最常用)

Elasticsearch 自带监控能力,配合 Kibana 使用。

架构:

Elasticsearch → Metricbeat / 内部采集 → .monitoring-* 索引 → Kibana

开启方式:

  • Elasticsearch 默认开启监控数据采集
  • Kibana 中打开:
    Stack Monitoring
    

可监控内容:

  • 集群健康(green/yellow/red)
  • 节点 CPU、内存、磁盘、负载
  • JVM 堆内存、GC
  • 索引写入/查询速率
  • 线程池队列和拒绝数

✅ 优点:零开发、官方支持
❌ 缺点:依赖 Kibana


2. Metricbeat 监控(更细粒度)

适合生产环境。

采集内容:

  • system(CPU、内存、磁盘)
  • elasticsearch 模块

示例:

metricbeat.modules:
  - module: elasticsearch
    metricsets: ["node", "cluster", "index"]
    hosts: ["http://localhost:9200"]

数据可:

  • 写入 ES
  • 在 Kibana 看 Dashboard
  • 或转发到 Prometheus

3. Elasticsearch Exporter + Prometheus(云原生常见)

适合 Kubernetes / Prometheus 体系。

组件:

  • elasticsearch_exporter
  • Prometheus
  • Grafana

监控指标示例:

  • elasticsearch_indices_docs_count
  • elasticsearch_jvm_memory_used_bytes
  • elasticsearch_cluster_health_status

✅ 优点:告警灵活
❌ 缺点:搭建稍复杂


二、关键监控指标(必须关注)

集群层

  • cluster.health.status
  • number_of_pending_tasks
  • unassigned_shards

节点层

  • CPU 使用率
  • 磁盘使用率(>85% 要警惕)
  • JVM Heap(>75% 风险)
  • GC 时间

索引层

  • 写入 QPS
  • 查询 QPS
  • Refresh / Flush 时间
  • Segment 数量

线程池

  • search.rejected
  • write.rejected (拒绝数 ≠ 0 就要重视)

三、日志监控

监控这些日志:

  • elasticsearch.log
  • 慢查询日志(slow log)
  • 报错:circuit_breaking、OOM、disk watermark

示例(慢查询):

index.search.slowlog.threshold.query.warn: 10s

四、告警建议

可在以下情况告警:

  • 集群状态 red/yellow
  • 节点掉线
  • 磁盘 > 85%
  • JVM > 75%
  • 写入拒绝数 > 0
  • 主分片未分配

五、简单总结

场景 推荐方案
小集群 Kibana Stack Monitoring
生产集群 Metricbeat + Kibana
K8s / Prometheus Exporter + Grafana
深度定制 ES API + 自研监控

如果你愿意,我可以:

  • 给你一套 Prometheus + Grafana 的 ES 监控配置
  • 或针对 单机 / 集群 / 云上 ES 给具体方案
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手