一、前言
很久没有更新博客,实在对不住大家。从10月份假期以后我就开始优化程序,来应对双11,这段时间确实很忙,不好意思。好在优化效果还不错,我负责的模块在双11期间没有任何大问题,整体效果还是比较好的,直到本周才正真的做到解放。扯淡过后,这里我还是开始我们监控篇,监控有些数据还是要借助于Kibana去观察的,我这边在暂时先放一下Kibana下篇咱们探讨下,这里先只用Kibana去展示下我们监控的数据。我仔细思考了一下,可能这个系列还是不能很快的结束,还有很多很多要说的我感觉,比如Beats、源码方面的东西、还有些实战等等,当然这都是后话,先开始我们今天的主题,
二、Elasticsearch监控
我们先来说下官方给我们提供接口,通过Kibana看图形化的界面也是通过这些接口实现的,所以我们先要了解这些接口,官方是通过_cat这个接口来提供对Elasticsearch监控的。这个里面包括了我们对集群状况、线程数、索引、节点等等我们想要监控到的指标,接下来我们来看一下这些接口。
aliases
展示别名有关索引的别名的信息,包括过滤器和路由信息。这个地方我就不给大家展示例子了,因为这是本机环境没有建立别名,大家自己去尝试一下。这里我啰嗦下别名的作用,用来无缝切换索引,为什么要无缝切换索引,每天新增数据太多以后,为了避免数据库和索引里面数据不一样所以这里要每天重建一下索引,这里就是通过别名的方式去实现的。
allocation
每个节点上有多少分片以及分片使用了多少磁盘空间;这个format是指定格式,我比较喜欢看见json格式,另外还能指定排序的列,下面的例子会展示;
count
查询当前集群和单个索引文档的个数,查询单个索引的话在count后面加上索引的名字;
fielddata
展示每个分片上fielddata当前正在使用的堆内存量;
health
整个集群的健康状况;
indices
查询所有索引的状况,包括副本、文档数目、分配磁盘空间大小、健康状况等等;支持单个或者模糊查询多个索引的状况,后面跟随的s的参数就是可以根据那个列进行排序,可以支持多个列;
master
主节点情况;
nodeattrs
自定义节点的属性,我没有使用过;
nodes
每个节点使用的情况,包括CPU、磁盘空间、内存等等,可以指定想要监控的类型,如下在h后面指定想要监控的类型;
pending_tasks
等待执行任务的列表;
plugins
安装插件的列表;
recovery
查询索引分片恢复的状况,这个当节点出现故障时候才会使用;
repositories
集群中注册的快照的节点;
thread_pool
显示每个节点的线程池统计信息,默认情况下,返回线程池活跃,队列和拒绝统计信息。
shards
显示每个分片详情分布,分片告诉包含那些索引的主和副本、文档、磁盘大小等等信息;
segments
查询每个索引segment的详情,不了解segment的可以去看下前面的文章;
snapshots
查询快照信息;
templates
查询现有版本的信息;
三、使用X-Pack监控
这里我们监控主要监控Elasticsearch和Logstash,具体安装步骤就参考下官方文档X-Pack提供很多工具,Monitoring就是用来监控的,这个插件是免费的,我们安装好以后主要来看下我们需要注意的指标,介绍下这个工具的使用,Linux下的安装我就不给大家多说什么,网上一大把,Windows下给大家一个链接看看,这里强调几点:每个节点都必须安装x-pack;配置xpack.security.enabled : false以后可以进行免登陆,接下来我们来下看搭好以后整个Kibana界面;
整体状况:
节点状况:
这个页面可以查看每个索引的对应状况:
这个页面查看节点更详细内存分布:
这个页面查看每个索引的一些状况
另外还可以对Logstash监控更好的方便我们进行调优,现在还有很多基于Grafana去搞监控,做对比等等的,有机会可以搞一波,其实我也想在公司推广一下,办法很多,随意大家玩;
四、结束
接下来会介绍下Kibana和Beats相关方面的东西