Elasitcsearch 开发运维常用命令集锦

1、集群、节点层面监控信息

查询所有节点的stats信息

GET /_nodes/stats

查询指定节点的stats信息

GET /_nodes/node1,node2/stats

查看指定索引的stats信息

GET /<INDEX_NAME>/_stats

查看集群层面的stats信息

GET /_cluster/stats

获取节点信息

GET /_nodes/_all

获取主节点信息

GET /_nodes/_master

2、集群健康状态查看

GET /_cat/health?v

3、检索性能指标查看(用的相对少)

Total number of queries

GET /_cat/nodes?v&h=name,searchQueryTotal

Total time spent on queries

GET /_cat/nodes?v&h=name,searchQueryTime

当前进行的查询个数

GET /_cat/nodes?v&h=name,searchQueryCurrent

Total number of fetches

GET /_cat/nodes?v&h=name,searchFetchTotal

Total time spent on fetches

GET /_cat/nodes?v&h=name,searchFetchTime

当前进行中的fetch数

GET /_cat/nodes?v&h=name,searchFetchCurrent

4、集群性能查看(用的相对少)

全集群文档数

GET /_cat/nodes?v&h=name,indexingIndexTotal

索引文档花费的时间(m代表分钟)

GET /_cat/nodes?v&h=name,indexingIndexTime

正在被索引的文档数

GET /_cat/nodes?v&h=name,indexingIndexCurrent

flush 刷入磁盘的文档数

GET /_cat/nodes?v&h=name,flushTotal

索引写入磁盘花费的时间

GET /_cat/nodes?v&h=name,flushTotalTime

5、JVM 信息查看

GET /_nodes/stats/jvm

节点及对应堆内存使用率查看

GET /_cat/nodes?v&h=name,heapPercent

6、pending 状态任务查看

GET /_cluster/pending_tasks

7、线程池和队列的查看

GET /_nodes/stats/thread_pool

8、fielddata 信息查看

fielddata 缓存信息查看

GET /_cat/nodes?v&h=name,fielddataMemory

9、类似 Mysql 查看进程列表

关于ES有什么方法可以看到哪些客户端和ES有交互,哪些客户端读写 es数据吗?


比如像 mysql show processlist 命令显示的一些信息一样。


GET /_tasks

10、小结

如上命令行或许结合 Kibana 等集群监控工具更为直观查看。


本文仅抛砖引玉,大而全的信息推荐官方文档,见参考部分给出的链接。仅看本文你肯定不过瘾,建议打开文章开头推荐 4 篇文章一起看。


最常遇到问题:“Elasticsearch 知道用什么dsl,但是从0-1给敲出来命令很困难,都得抄和改现成的,有什么好办法熟练一些?”


第一:熟练都是相对的,用的多了自然就熟悉了。


第二:适当翻看官方文档,加强认知,复制命令行也无可厚非。


第三:适当的刻意练习!刻意练习不是简单的重复,而是有回馈、有思考、有总结必然有提升!


参考

elasticsearch_monitoring_cheatsheet.pdf


https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html


https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html


推荐

上一篇:创建 OVS flat network - 每天5分钟玩转 OpenStack(134)


下一篇:Elasticsearch 设置默认值的三种方式