Elasticsearch 的监控可以从集群状态、节点资源、索引性能、查询延迟、日志与安全几个层面来做。下面按「官方方案 + 开源/自建方案」系统讲一下。
Elasticsearch 自带监控能力,配合 Kibana 使用。
架构:
Elasticsearch → Metricbeat / 内部采集 → .monitoring-* 索引 → Kibana
开启方式:
Stack Monitoring
可监控内容:
✅ 优点:零开发、官方支持
❌ 缺点:依赖 Kibana
适合生产环境。
采集内容:
示例:
metricbeat.modules:
- module: elasticsearch
metricsets: ["node", "cluster", "index"]
hosts: ["http://localhost:9200"]
数据可:
适合 Kubernetes / Prometheus 体系。
组件:
监控指标示例:
elasticsearch_indices_docs_countelasticsearch_jvm_memory_used_byteselasticsearch_cluster_health_status✅ 优点:告警灵活
❌ 缺点:搭建稍复杂
cluster.health.statusnumber_of_pending_tasksunassigned_shardssearch.rejectedwrite.rejected
(拒绝数 ≠ 0 就要重视)监控这些日志:
elasticsearch.log示例(慢查询):
index.search.slowlog.threshold.query.warn: 10s
可在以下情况告警:
| 场景 | 推荐方案 |
|---|---|
| 小集群 | Kibana Stack Monitoring |
| 生产集群 | Metricbeat + Kibana |
| K8s / Prometheus | Exporter + Grafana |
| 深度定制 | ES API + 自研监控 |
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。