Elasticsearch--集群管理_时光机&监控
目录
Elasticsearch时光机
强大数据恢复机制
创建快照存储库
快照保存它创建的时间点上所有跟集群相关的数据,包括集群状态和索引的信息。至少在创建第一个快照之前,必须创建一个快照存储库。
每个存储库有名称区分,应该定义如下内容:
- name:存储库的唯一名称
- type:存储库的类型,可能值包括fs(共享文件系统中的存储库)、url(一个通过URL访问的只读存储库)。
settings:不同存储库类型需要的额外信息。
创建一个文件系统存储库,集群中的每个节点都应该能访问这个目录。实例创建命令如下:

前面的命令创建一个backup的库。将备份文件存储在由location属性指定的目录中。与此同时,本地文件系统中新建了backup_folder目录,但是没有任何内容。

创建快照
默认情况下,创建快照时,Elasticsearch取得所有的索引和集群设置。可以创建任意数量的快照,快照仅复制新的信息。这意味着Elasticsearch知道哪些段已经存储在存储库中,不会再保存它们。
创建快照,需要选择一个唯一的名称,命令如下:
curl -XPUT 'localhost:9200/_snapshot/backup/bckp1'
上面定义了一个名为bcp1的新快照,数据保存在定义的backup库中。以上命令成功后,快照就开始创建,如果想被创建以后才得到成功相应,可以添加wait_for_complete参数:
curl -XPUT 'localhost:9200/_snapshot/backup/bckp1?wait_for_complete=true&pretty'
额外参数
- indices:想拍快照的索引名称
- ignore_unavailable:默认是true,设置为false时,意味着如果indices参数指定的不存在的索引,命令将失败。
- include_global_state:默认是true,指集群的状态也被写入快照中。
partial:快照的成功与否取决于所有分片的可能性,任何一个分片不可用,快照都将失败。设置partial为true时,Elasticsearch保存可用分片的信息,忽略丢失的分片。

还原快照
从backup存储库中还原一个名为bckp1的快照,执行下面命令:
curl -XPOST 'localhost:9200/_snapshot/backup/bckp1/_restore'
执行这个命令过程中,如果索引已经存在而且未关闭,命令将失败。这种情况下可以还原某些索引:
curl -XPOST 'localhost:9200/_snapshot/backup/bckp1/_restore?pretty -d {"include":"c*"}'
上述命令只还原以字母c开头的索引,还可以包含下列参数:


清理:删除旧的快照
curl -XDELETE 'localhost:9200/_snapshot/backup/bckp1?pretty'
监控集群状态和健康度
Elasticsearch提供了非常详细的信息,使得能够监控单个节点和集群。
集群健康度API
最基本的健康度API,得到整个集群的信息:
curl 'localhost:9200/_cluster/health?pretty'
返回的响应如下:

集群的状态有green(表示分片和副本都可用)yellow(表示部分副本不可用)red(至少一个主分片没有分配)。
curl 'localhost:9200/_cluster/health/library,map?pretty'
以上命令仅检查两个索引的健康度。
控制信息细节
Elasticsearch允许指定一个特征的level参数,把它指定为cluster(默认)、indices或shards。
额外的参数
- timeout:控制命令执行的最长时间,默认是30s
- wait_for_status:返回响应时,集群应该处于什么状态。可以取:green,yellow和red。如果指定状态是实际不符,响应会超时失败。
- wait_for_nodes:返回响应时需要多少节点可用(或者达到timeout时间)
- wait_for_relocationg_shard:默认不指定,告诉Elasticsearch应该重定位多少分片
索引统计API
Elasticsearch使用_stats端点上的索引统计API,可以得到关于集群中索引的各种信息。可以发送命令得到所有索引的信息(使用纯_stats端点),或得到某特定索引的信息,或者一次得到几个索引的信息。
curl -XPOST 'localhost:9200/library,map/_stats?pretty'

docs
显示索引文档的信息
"docs":{
"count":4,
"deleted":0
}
count指文档的数目,从索引中删除文档时,并不是立刻删除,而是做标记,等合并过程中删除,被标记的删除文档的数目在deleted属性中。
store
提供了关于存储的信息
"store":{
"size_in_bytes":6003,
"throttle_time_in_millis":0
}
主要信息是关于这个索引的大小。还有调节统计值,在系统有I/O性能问题,段合并过程中内部操作有限制时,这个信息很有用。
indexing, get和search
响应中的indexing,get,search节点提供了数据操纵的相关信息:索引删除操作,实时的get和搜索。

可以看到这些统计具有类似结构:请求花费的总时间,请求数,可以用总时间计算单个查询的平均时间。
额外信息
此外,Elasticsearch提供了下列信息。

状态API
另一个得到关于索引信息的方法,使用_status端点的状态API,返回描述了可用的分片,包含:哪个分片被认为是主分片,它被分配到哪个节点,被重新分配到了哪个节点,分片的状态,事务日志,合并过程以及刷新和清理统计。
节点信息API
请求发送到_nodes端点。
可以获取单个或特定几个节点的信息:

该API还允许使用如下方式一次性获得几个节点的信息:
- 模式: 例如,_nodes/192.168.1.*或_nodes/P*
- 节点枚举:例如_nodes/Pluse,Slab
- 模式与节点枚举:例如,_nodes/P*, S*
默认情况下,对节点API的请求将返回关于节点的基本信息,比如名称、标示符、地址。通过添加额外参数,可以获取其他信息

curl -XPOST 'localhost:9200/_nodes/Pluse/os, jvm, plugins?pretty'
节点统计API
节点信息API提供环境信息,节点统计API告诉我们集群工作时发生过什么。发送命令的端口是/_nodes/stats。

集群状态API
允许获取整个集群的信息,也可以通过在请求中添加local=true,限制返回本地节点信息。
curl -XPOST 'localhost:9200/_cluster/state?pretty'
不过,也可以把提供信息限定为特定的度量,以及特定的索引
curl -XPOST 'localhost:9200/_cluster/state/nodes/map,library?pretty'
可以使用下列度量

挂起任务API

索引段API

cat API
上面API返回的信息都是JSON格式,对人来说不是很友好,Elasticsearch提供了一个友好API:cat API。向_cat REST端点发送一个请求,紧跟着下面的一个选项:
- aliases: 返回有关别名的信息
- allocation:返回分片分配和磁盘使用的信息
- count:为所有索引或单个索引返回文档个数的信息
- health:集群健康度信息
- indices:返回所有索引或单个索引的信息
- master:当前主节点信息
- nodes:集群拓扑相关信息
- pending_tasks:正在等待执行的任务信息
- recovery:还原过程的视图
- thread_pool:返回集群范围内线程池的统计信息
- shards:关于分片的信息
curl -XGET 'localhost:9200/_cat/shards?v'


限制返回信息
- aliases: 请求中添加别名,限定获取特定的别名
- count:添加感兴趣的索引名字,限定获取特定索引的信息
- indices:同count一样,特定索引
- shards:同count一样,特定索引
Elasticsearch--集群管理_时光机&监控的更多相关文章
- Elasticsearch集群 管理
第7章 深入Elasticsearch集群 启动一个Elasticsearch节点时,该节点会开始寻找具有相同集群名字并且可见的主节点.如 果找到主节点,该节点加入一个已经组成了的集群:如果没有找到, ...
- elasticsearch 集群管理(集群规划、集群搭建、集群管理)
一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...
- elasticsearch集群管理工具head插件(转)
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es 插件安装方法1: 1.elasticsearc ...
- Elasticsearch集群管理工具head插件安装
Elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es.或直接下载源码,在本地打开index.html ...
- Kubernetes容器集群管理环境 - Prometheus监控篇
一.Prometheus介绍之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana.Prometheus(普罗米修斯)是一 ...
- 大规模Elasticsearch集群管理心得
转载:http://elasticsearch.cn/article/110 ElasticSearch目前在互联网公司主要用于两种应用场景,其一是用于构建业务的搜索功能模块且多是垂直领域的搜索,数据 ...
- 050.集群管理-Prometheus+Grafana监控方案
一 Prometheus概述 1.1 Prometheus简介 Prometheus是由SoundCloud公司开发的开源监控系统,是继Kubernetes之后CNCF第2个毕业的项目,在容器和微服务 ...
- Elasticsearch集群管理
ES通过设置[节点的名字]和[集群的名字],就能自动的组织相同集群名字的节点加入到集群中,并使很多的技术对用户透明化. 如果用户想要管理查看集群的状态,可以通过一些REST API来实现. 其他的ES ...
- Elasticsearch集群管理之添加、删除节点
1.问题抛出 1.1 新增节点问题 我的群集具有黄色运行状况,因为它只有一个节点,因此副本保持未分配状态,我想要添加一个节点,该怎么弄? 1.2 删除节点问题 假设集群中有5个节点,我必须在运行时删除 ...
随机推荐
- Eclipse中jvm执行库的Access restriction问题的解决方法
今天在写代码的时候遇到了jre system libraries的訪问限制问题,该库是jvm执行的依赖库rt.jar,解决方式例如以下: 步骤: (1)项目右击.出现Build Path.点击进入Ja ...
- css中vertical-align和line-height的用法
css中vertical-align和line-height的用法 1.先来看一种现象: (1).将一个图片放入一个div块中,div块背景颜色设置为aquamarine.将会发现图片与div块下边沿 ...
- 提高 Linux 上 socket 性能 加速网络应用程序的 4 种方法
使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信.与其他 API 一样,您可以通过一些方法使用 Soc ...
- bzoj1835: [ZJOI2010]base 基站选址
新的一年新的开始.结果第一题就用了几乎一周.而且感觉很不好. 先检讨自己.最近写的各种数据结构模板基本没打过出来,各种细节崩盘,这题线段树都居然被lazy标记没清零卡挂. DP还是博大精深,这东西感觉 ...
- 我的第一篇博文,Python+scrapy框架安装。
自己用Python脚本写爬虫有一段时日了,也抓了不少网页,有的网页信息两多,一个脚本用exe跑了两个多月,数据还在进行中.但是总觉得这样抓效率有点低,问题也是多多的,很早就知道了这个框架好用,今天终于 ...
- 字符设备驱动另一种写法—mmap方法操作LED
最近在看韦老师的视频,讲解了很多种字符设备的驱动写法.经过自己的研究之后,我发现还有另外一种写法,直接在应用层操作,省去了内核中的地址映射部分,使得用户可以在应用层直接操作LED. mm ...
- C#6.0的新特性之内插字符串
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/interpolated-strings C# 6 ...
- 比Android更深远的改变世界——谷歌开源人工智能系统TensorFlow文档中文版
OpenStack中国社区编者按:开源无处不在,特别在基础创新领域,未来系统软件都会是开源为主流:2015年11月9日,Google于开源了其第二代人工智能系统Tensorflow,如同6年前同样开源 ...
- Linux 常用命令十三 kill
一.kill命令 kill命令用来删除执行中的程序或工作.kill可将指定的信息送至程序.预设的信息为SIGTERM(15),可将指定程序终止.若仍无法终止该程序,可使用SIGKILL(9)信息尝试强 ...
- Veeam对于新病毒防御的建议
Veeam对于新病毒防御的建议 前言 勒索软件GandCrab 上周末,在我们大家晒娃和欢度六一的时候.勒索软件分发平台 GandCrab 宣布将在一个月内关闭其RaaS(勒索软件即服务)业务平台.据 ...
