笔记五十七:监控 Elasticsearch 集群

Elasticsearch Stats 相关的 API

  • Elasticsearch 提供了多个监控相关的 API
    • Node Stats: _nodes/stats
    • Cluster Stats: _cluster/stats
    • Index Stats: index_name/_stats

Elasticsearch Task API

  • 查看 Task 相关的 API
    • Pending Cluster Tasks API: GET _cluster/pending_tasks
    • Task Management API :GET _tasks (可以用来 Cancel 一个 Task)
  • 监控 Thread Pools
    • GET _nodes/thread_pool
    • GET _nodes/stats/thread_pool
    • GET _cat/thread_pool?v
    • GET _nodes/hot_threads

The Index & Query Slow Log

  • 支持将分片上, Search 和 Fetch 阶段的慢 查询写入文件
  • 支持为 Query 和 Fetch 分别定义阈值
  • 索引级的动态设置,可以按需设置,或者通 过 Index Template 统一设定
  • Slog log 文件通过 log4j2.properties 配置

![监控 Elasticsearch 集群]

PUT my_index/
{
  "settings": {
    "index.search.slowlog.threshold": {
      "query.warn": "10s",
      "query.info": "3s",
      "query.debug": "2s",
      "query.trace": "0s",
      "fetch.warn": "1s",
      "fetch.info": "600ms",
      "fetch.debug": "400ms",
      "fetch.trace": "0s"
    }
  }
}

如何创建监控 Dashboard

  • 开发 Elasticsearch plugin,通过读取相关的监控 API,将数据发送到 ES,或者 TSDB
  • 使用 Metricbeats 搜集相关指标
  • 使用 Kibana 或 Grafana 创建 Dashboard
  • 可以开发 Elasticsearch Exporter,通过 Prometheus 监控 Elasticsearch 集群
本作品采用《CC 协议》,转载必须注明作者和本文链接
快乐就是解决一个又一个的问题!
CrazyZard
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!