一 Elasticsearch插件介绍
es插件是一种增强Elasticsearch核心功能的途径。它们可以为es添加自定义映射类型、自定义分词器、原生脚本、自伸缩等等扩展功能。
es插件包含JAR文件,也可能包含脚本和配置文件,并且必须在集群中的每个节点上安装。安装之后,需要重启集群中的每个节点才能使插件生效。
es插件包含核心插件和第三方插件两种
二 核心插件
核心插件是elasticsearch项目提供的官方插件,都是开源项目。这些插件会跟着elasticsearch版本升级进行升级,总能匹配到对应版本的elasticsearch,这些插件是有官方团队和社区成员共同开发的。
官方插件地址: https://github.com/elastic/elasticsearch/tree/master/plugins
三 第三方插件
第三方插件是有开发者或者第三方组织自主开发便于扩展elasticsearch功能,它们拥有自己的许可协议,在使用它们之前需要清除插件的使用协议,不一定随着elasticsearch版本升级, 所以使用者自行辨别插件和es的兼容性。
四 插件安装
elasticsearch的插件安装方式还是很方便易用的。
它包含了命令行和离线安装几种方式。
它包含了命令行,url,离线安装三种方式。
核心插件随便选择一种方式安装均可,第三方插件建议使用离线安装方式
第一种:命令行
bin/elasticsearch-plugin install [plugin_name]
# bin/elasticsearch-plugin install analysis-smartcn 安装中文分词器
第二种:url安装
bin/elasticsearch-plugin install [url]
#bin/elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-6.4.0.zip
第三种:离线安装
#https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-6.4.0.zip
#点击下载analysis-smartcn离线包
#将离线包解压到ElasticSearch 安装目录下的 plugins 目录下
#重启es。新装插件必须要重启es
注意:插件的版本要与 ElasticSearch 版本要一致
基础类工具
Head 插件
1)功能概述:
ES集群状态查看、索引数据查看、ES DSL实现(增、删、改、查操作)
比较实用的地方:json串的格式化
Kibana工具
除了支持各种数据的可视化之外,最重要的是:支持Dev Tool进行RESTFUL API增删改查操作。
——比Postman工具和curl都方便很多。
地址:https://www.elastic.co/products/kibana
ElasticHD 工具
强势功能——支持sql转DSL,不要完全依赖,可以借鉴用。
地址:https://github.com/360EntSecGroup-Skylar/ElasticHD
集群监控工具
cerebro 工具
地址:https://github.com/lmenezes/cerebro
Elaticsearch-HQ工具
管理elasticsearch集群以及通过web界面来进行查询操作
地址:https://github.com/royrusso/elasticsearch-HQ
集群迁移工具
Elasticsearch-migration工具
支持多个版本间的数据迁移,使用scroll+bulk
地址:https://github.com/medcl/elasticsearch-migration
Elasticsearch-Exporter
将ES中的数据向其他导出的简单脚本实现。
地址:https://github.com/mallocator/Elasticsearch-Exporter
Elasticsearch-dump**
移动和保存索引的工具。
地址:https://github.com/taskrabbit/elasticsearch-dump
集群数据处理工具
elasticsearch-curator
elasticsearch官方工具,能实现诸如数据只保留前七天的数据的功能。
地址:
https://pypi.python.org/pypi/elasticsearch-curator
另外 ES6.3(还未上线) 有一个 Index LifeCycle Management 可以很方便的管理索引的保存期限。
安全类工具
x-pack工具
search-guard 第三方工具
Search Guard 是 Elasticsearch 的安全插件。它为后端系统(如LDAP或Kerberos)提供身份验证和授权,并向Elasticsearch添加审核日志记录和文档/字段级安全性。
Search Guard所有基本安全功能(非全部)都是免费的,并且内置在Search Guard中。 Search Guard支持OpenSSL并与Kibana和logstash配合使用。
地址:https://github.com/floragunncom/search-guard
可视化类工具
grafana工具
grafana工具与kibana可视化的区别:
- 如果你的业务线数据较少且单一,可以用kibana做出很棒很直观的数据分析。
- 而如果你的数据源很多并且业务线也多,建议使用grafana,可以减少你的工作量
对比:
https://www.zhihu.com/question/54388690
自动化运维工具
elasticsearch免费的自动化运维工具
Ansible
https://github.com/elastic/ansible-elasticsearch
Puppet
https://github.com/elastic/puppet-elasticsearch
Cookbook
https://github.com/elastic/cookbook-elasticsearch
类SQl查询工具
Elasticsearch-sql 工具
sql 一款国人NLP-china团队写的通过类似sql语法进行查询的工具
地址:https://github.com/NLPchina/elasticsearch-sql
ES6.3+以后的新版本会集成sql。
增强类工具
Conveyor 工具
kibna插件——图形化数据导入工具
kibana_markdown_doc_view 工具
Kibana文档查看强化插件,以markdown格式展示文档
indices_view工具
indices_view 是新蛋网开源的一个 kibana APP 插件项目,可以安装在 kibana 中,快速、高效、便捷的查看elasticsearch 中 indices 相关信息
地址:https://gitee.com/newegg/indices_view
dremio 工具
- 支持sql转DSL,
- 支持elasticsearch、mysql、oracle、mongo、csv等多种格式可视化处理;
- 支持ES多表的Join操作
报警类
1、elastalert
ElastAlert 是 Yelp 公司开源的一套用 Python2.6 写的报警框架。属于后来 Elastic.co 公司出品的 Watcher 同类产品。官网地址见:http://elastalert.readthedocs.org/。
使用举例:当我们把ELK搭建好、病顺利的收集到日志,但是日志里发生了什么事,我们并不能第一时间知道日志里到底发生了什么,运维需要第一时间知道日志发生了什么事,所以就有了ElastAlert的邮件报警。
2、sentinl
SENTINL 6扩展了Siren Investigate和Kibana的警报和报告功能,使用标准查询,可编程验证器和各种可配置操作来监控,通知和报告数据系列更改 - 将其视为一个独立的“Watcher” “报告”功能(支持PNG / PDF快照)。
SENTINL还旨在简化在Siren Investigate / Kibana 6.x中通过其本地应用程序界面创建和管理警报和报告的过程,或通过在Kibana 6.x +中使用本地监视工具来创建和管理警报和报告的过程。