1. 程式人生 > >Elasticsearch 集群管理工具curator 接口模式使用介紹

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

什麽 集中 cto lose default ber 測試 days mes

安裝配置參考文檔:
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.

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