Elasticsearch 集群管理工具curator 接口模式使用介绍

安装配置参考文档:
http://blog.51cto.com/michaelkang/2333586

curator 接口模式使用介绍

curator的命令行语法如下:

curator [--config CONFIG.YML] [--dry-run] ACTION_FILE.YML

--config : 之后跟上配置文件

--dry-run :调试参数,测试脚本运行是否正常;

ACTION_FILE.YML :action文件中可以包含一连串的action,curator接口集中式的config和action管理,可以方便我们重用变量,更利于维护和阅读。

环境初始化也可以至通过 curator [--config CONFIG.YML] 直接指定

#### linux 默认查找路径:

~/.curator/curator.yml

环境初始化也可以至通过 curator [--config CONFIG.YML] 直接指定


#### 初始化系统环境

配置 [--config CONFIG.YML]

mkdir -p  ~/.curator/

vim ~/.curator/curator.yml
---
# Remember, leave a key empty if there is no value.  None will be a string,
# not a Python "NoneType"
client:
  hosts:
    - 172.20.11.32     《== 集群节点IP地址,可以写多个
  port: 9200           《== datanode 接口
  url_prefix:
  use_ssl: False
  certificate:
  client_cert:
  client_key:
  ssl_no_validate: False
  http_auth:
  timeout: 30
  master_only: False

logging:
  loglevel: INFO   《== 日志级别
  logfile:  《== 输出日志到文件
  logformat: default
  blacklist: [‘elasticsearch‘, ‘urllib3‘]

重要选项介绍

loglevel 支持 :

CRITICAL will only display critical messages.
ERROR will only display error and critical messages.
WARNING will display error, warning, and critical messages.
INFO will display informational, error, warning, and critical messages.
DEBUG will display debug messages, in addition to all of the above.

logfile 支持:

default, json, logstash 或者留空;

blacklist 支持:
那些关键字开头索引日志不输出,默认即可。

ACTION_FILE.YML 介绍

action
每个action由三部分组成:
- action,具体执行什么操作
- option, 配置哪些可选项
- filter, 过滤条件,哪些index需要执行action

支持的动作如下:

Alias
Allocation
Close
Cluster Routing
Create Index
Delete Indices
Delete Snapshots
forceMerge
Index Settings
Open
Reindex
Replicas
Restore
Rollover
Shrink
Snapshot

option: 选项 ,filter:过滤条件,哪些index需要执行action,详细参考官网;

https://www.elastic.co/guide/en/elasticsearch/client/curator/current/actions.html

实例

实例1 :定期删除旧index

more delete_indices-eslog-ptlog.yml
actions:
  1:
    action: delete_indices
    description: >-
      删除超过20天的索引(基于索引名称),monitoring-*
      前缀索引。如果过滤器没有导致错误,请忽略错误
      可操作的索引列表(ignore_empty_list)并彻底退出.
    options:
      ignore_empty_list: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: regex
      value: ‘^(\.monitoring-(es|kibana|logstash)-).*$‘
    - filtertype: age
      source: name
      direction: older
      timestring: ‘%Y.%m.%d‘
      unit: days
      unit_count: 20
  2:
    action: delete_indices
    description: >-
      删除超过10天的索引(基于索引名称ptlog)
    options:
      ignore_empty_list: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: ptlog
    - filtertype: age
      source: name
      direction: older
      timestring: ‘%Y.%m.%d‘
      unit: days
      unit_count: 10

实例2:reindex每天生成的index文件到月index文件

将所有每天生成的ptlog-dd-trace-prod-app-gateway-2018.11.文件汇总到 ptlog-dd-trace-prod-app-gateway-2018.11 月日志文件,然后删除 ptlog-dd-trace-prod-app-gateway-2018.11. 的日志文件。

用于合并琐碎index文件,减少集群分片数;

awsesbak-reindex.yml
---
actions:
  1:
    description: >-
       Reindex 11月份每天生成的index数据到 ptlog-$name-2018.11
    action: reindex
    options:
      disable_action: False
      wait_interval: 9
      max_wait: -1
      request_body:
        source:
          index: REINDEX_SELECTION
        dest:
          index: ptlog-dd-trace-prod-app-gateway-2018.11
    filters:
    - filtertype: pattern
      kind: prefix
      value: ptlog-dd-trace-prod-app-gateway-2018.11.
  2:
    action: delete_indices
    description: >-
       删除已经完成合并的索引
    options:
      ignore_empty_list: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: ptlog-dd-trace-prod-app-gateway-2018.11.

原文地址:http://blog.51cto.com/michaelkang/2333607

时间: 2024-12-12 06:10:07

Elasticsearch 集群管理工具curator 接口模式使用介绍的相关文章

Elasticsearch集群管理工具head插件安装

Elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es.或直接下载源码,在本地打开index.html运行它.该工具的git地址是: https://github.com/Aconex/elasticsearch-head 插件安装方法: 1.elasticsearch/bin/plugin -install Aconex/elasticsearch-head 2.运行ES 3.打开http://l

大规模集群管理工具Borg

Google的大规模集群管理工具Borg 概述 Google的Borg系统是一个集群管理工具,在它上面运行着成千上万的job,这些job来自许许多多不同的应用,并且跨越多个集群,而每个集群又由大量的机器构成. Borg通过组合准入控制,高效的任务打包,超额负载以及基于进程级别性能隔离的机器共享从而实现高利用率.它支持那些高可用的应用,它们的运行时特性能够最小化错误恢复时间,它们的调度策略降低了相关错误发生的可能性.为了简化用户的使用,Borg提供了一个声明工作规范语言,名称服务一体化机制,实时j

ELK 实验(七)Elasticsearch 集群管理

Head 插件 head插件是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序. Github: https://github.com/mobz/elasticsearch-head git clone https://github.com/mobz/elasticsearch-head.git 安装 ./elasticsearch plugin -install /usr/elasticsearch-head 新版本不支持plugin 直接安装 安装node

第131讲:Hadoop集群管理工具均衡器Balancer 实战详解学习笔记

第131讲:Hadoop集群管理工具均衡器Balancer 实战详解学习笔记 为什么需要均衡器呢? 随着集群运行,具体hdfs各个数据存储节点上的block可能分布得越来越不均衡,会导致运行作业时降低mapreduce的本地性. 分布式计算中精髓性的一名话:数据不动代码动.降低本地性对性能的影响是致使的,而且不能充分利用集群的资源,因为导致任务计算会集中在部分datanode上,更易导致故障. balancer是hadoop的一个守护进程.会将block从忙的datanode移动到闲的datan

第130讲:Hadoop集群管理工具DataBlockScanner 实战详解学习笔记

第130讲:Hadoop集群管理工具DataBlockScanner 实战详解学习笔记 DataBlockScanner在datanode上运行的block扫描器,定期检测当前datanode节点上所有的block,从而在客户端读到有问题的块前及时检测和修复有问题的块. 它有所有维护的块的列表,通过对块的列表依次的扫描,查看是否有校验问题或错误问题,它还有截流机制. 什么叫截流机制?DataBlockScanner扫描时会消耗大量的磁盘带宽,如果占用磁盘带宽太大,会有性能问题.所以它会只占用一小

Kafka集群管理工具kafka-manager的安装使用

一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发) 运行首选副本选举 使用选项生成分区分配以选择要使用的代理 运行分区重新分配(基于生成的分配) 使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置) 删除主题(仅支持0.8.2+并记住在代理配??置中设置delete.

Kafka集群管理工具kafka-manager安装使用

(一).简介kafka-manager是最受欢迎的kafka集群管理工具,有如下功能: 管理多个集群 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发) 运行首选副本选举 使用选项生成分区分配以选择要使用的代理 运行分区重新分配(基于生成的分配) 使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置) 删除主题(仅支持0.8.2+并记住在代理配??置中设置delete.topic.enable = true) 主题列表现在指示标记为删除的主题(仅支持0.8.2+)

Kafka 0.11客户端集群管理工具AdminClient

很多用户都有直接使用程序API操作Kafka集群的需求.在0.11版本之前,kafka的服务器端代码(即添加kafka_2.**依赖)提供了AdminClient和AdminUtils可以提供部分的集群管理操作,但社区官网主页并没有给出这两个类的使用文档.用户只能自行查看源代码和测试用例才能了解具体的使用方法.倘若使用客户端API的话(即添加kafka_clients依赖),用户必须构造特定的请求并自觉编写代码向指定broker创建Socket连接并发送请求,同样是十分繁琐.故Kafka 0.1

redis cluster集群管理工具redis-trib.rb功能小结

redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单.便捷.实用的操作工具.redis-trib.rb是redis作者用ruby完成的.所以要执行redis-trib.rb命令,需要Ruby,具体可参考:http://www.cnblogs.com/kevingrace/p/7846324.html [[email protected] ~]# /data/redis-4.0.6/src/redis