x-pack-5.6.10激活教程java
X-Pack 已经做为 Elastic 公司单独的产品线,前身是 Shield, Watcher, Marvel, Graph, 和 reporting,先来讲说这几个是作什么的吧:
Shield: 提供对数据的 Password-Protect,以及加密通讯、基于角色的权限控制,IP 过滤,审计,能够有效地:node
Watcher: 提供对数据操做的变动的监控和报警。
Marvel: 基于 Kibana 的插件,主要用于监控 ES 集群。能够看到集群的健康情况、实时的性能指标,分析历史集群、索引、节点的指标等。
Graph: 用于分析数据间的关系。
Reporting: 用于快速生成 Kibana Visualization 和 Dashboard 的报表,能够对生成的时间定制计划,而且能够由某些特定条件触发。
X-Pack 是个大合集,便于安装、不用为版本兼容性犯愁,能够灵活 disable / enable 其中的各个组件。他还多干了一件事儿,能够监控 Logstash。linux
下载对应版本的x-pack,注意必定必定必定要对应,不然装不了,我这里是5.6.10的版本。
下载地址:https://download.csdn.net/download/qq_42986261/10607939数据库
一、elasticsearch安装x-pack,提示[y/N]选择y下一步便可 [elasticsearch@elk-node1 ~]$ cd /usr/local/elasticsearch-5.6.10/bin/ [elasticsearch@elk-node1 bin]$ ./elasticsearch-plugin install file::///usr/local/application/x-pack-5.6.10.zip 二、kibana安装x-pack,因为要刷入缓存文件时间会久点。 [root@elk-node1 ~]# cd /usr/local/kibana-5.6.10-linux-x86_64/bin/ [root@elk-node1 bin]# ./kibana-plugin install file::///usr/local/application/x-pack-5.6.10.zip 三、logstash安装x-pack [root@elk-node1 bin]# cd /usr/local/logstash-5.6.10/bin [root@elk-node1 bin]# ./logstash-plugin file::///usr/local/application/x-pack-5.6.10.zip
注意:安装完x-pack插件以后logstash的xxx.conf读取日志文件须要添加密码。默认密码:elstic/changemeapache
一、执行这边命令咱们看到license有效期"expiry_date"为30天json
[root@localhost bin]# curl -XGET -u elastic:changeme 'http://localhost:9200/_xpack/license' { "license" : { "status" : "active", "uid" : "45c0eea9-b813-4895-86f5-e7bd824a8e36", "type" : "trial", "issue_date" : "2018-08-10T09:42:45.745Z", "issue_date_in_millis" : 1533894165745, "expiry_date" : "2018-09-09T09:42:45.745Z", "expiry_date_in_millis" : 1536486165745, "max_nodes" : 1000, "issued_to" : "elasticsearch", "issuer" : "elasticsearch", "start_date_in_millis" : -1 } }
二、任意目录下建立LicenseVerifier.java 文件缓存
[root@elk-node1 local]# cat LicenseVerifier.java package org.elasticsearch.license; import java.nio.*; import java.util.*; import java.security.*; import org.elasticsearch.common.xcontent.*; import org.apache.lucene.util.*; import org.elasticsearch.common.io.*; import java.io.*; public class LicenseVerifier { public static boolean verifyLicense(final License license, final byte[] encryptedPublicKeyData) { return true; } public static boolean verifyLicense(final License license) { return true; } }
三、编译class文件安全
$ javac -cp "/usr/local/elasticsearch-5.6.10/lib/elasticsearch-5.6.10.jar:/usr/local/elasticsearch-5.6.10/lib/lucene-core-6.6.1.jar:/usr/local/elasticsearch-5.6.10/plugins/x-pack/x-pack-5.6.10.jar" LicenseVerifier.java $ ls License* LicenseVerifier.class LicenseVerifier.java # 进入x-pack目录 $ cd /usr/local/elasticsearch-5.6.10/plugins/x-pack $ mkdir test $ mv x-pack-5.6.10.jar test/ # 备份文件 $ cp x-pack-5.6.10.jar /tmp # 解压文件 $ jar xvf x-pack-5.6.10.jar # 替换 class $ cp /usr/local/LicenseVerifier.class org/elasticsearch/license # 删除旧的x-pack-5.6.10.jar $ rm -fr x-pack-5.6.10.jar # 打包 $ jar cvf x-pack-5.6.10.jar . # 打包好的文件放回x-pack目录下 $ cp x-pack-5.6.10.jar /usr/local/elasticsearch-5.6.0/plugins/x-pack/
四、申请license
申请地址 https://license.elastic.co/registration,申请完成后很快会发送到邮箱,然后修改license文件。
它分有不一样的版本,版本有不一样的权限,以下:bash
修改license邮箱中有个连接,点击下载文件。
主要修改:type改成platinum表示可使用全部功能 ; expiry_date_in_millis表示使用期限,能够根据转换的时间戳填入注意后面的999也加上。
五、重命名为license.json放在本身喜欢的目录下,到该目录下执行更新
[root@localhost local]# curl -XPUT -u elastic:changeme 'http://192.168.1.105:9200/_xpack/license' -d @license.json
{"acknowledged":true,"license_status":"valid"}You have new mail in /var/spool/mail/root
六、重启elasticsearch咱们看到license有效期已经为50年了。app
[root@localhost local]# curl -XGET -u elastic:changeme 'http://localhost:9200/_xpack/license' { "license" : { "status" : "active", "uid" : "0788f97d-621c-4317-9ceb-97fe85c69aad", "type" : "platinum", "issue_date" : "2018-08-11T00:00:00.000Z", "issue_date_in_millis" : 1533945600000, "expiry_date" : "2068-08-11T14:37:59.999Z", "expiry_date_in_millis" : 3111921479999, "max_nodes" : 100, "issued_to" : "he jianlai (alibaba)", "issuer" : "Web Form", "start_date_in_millis" : 1533945600000 } }
Setting Description
xpack.security.enabled 设置为 false 能够关闭 X-Pack security 功能。须要在 elasticsearch.yml 和 kibana.yml 同时配置。
xpack.monitoring.enabled 设置为 false 能够关闭 X-Pack monitoring 功能。 须要在elasticsearch.yml 和 kibana.yml 同时配置。
xpack.graph.enabled 设置为 false 能够关闭 X-Pack graph 功能。 须要在elasticsearch.yml 和 kibana.yml 同时配置。
xpack.watcher.enabled 设置为 false 能够关闭 Watcher 功能。 只须要在 elasticsearch.yml 配置。
xpack.reporting.enabled 设置为 false 能够关闭 reporting 功能。 只须要在 kibana.yml 配置。
登陆kibana,也能够看到相关信息:
参数介绍
集群级别:
Uptime : 集群运行时间;
节点级别:
Disk Available:可用磁盘;
JVM Heap: JVM 使用状况;
索引级别:
Indices:索引数量,至关于数据库数;
Documents:文档数量,至关于记录数;
Disk Usage:磁盘使用状况;
Primary Shards:分片数;
Replica Shards:冗余分片数;
Overview
相较于集群健康视图,这里的指标更多:
Serach Rate (/s):近1小时的查询速率,QPS;
Search Latency (ms):近1小时的查询延迟;
Index Rate (/s):近1小时的索引速率,IPS;
Index Latency (ms):近1小时的索引延迟;
Shard Activity:对于 Shard 的操做历史;
Indices
索引视角的监控视图,包含如下指标:
Document Count:文档数;
Data:数据量;
Index Rate:索引速率;
Search Rate:查询速率;
Unassigned Shards:未分配的分片数;
点击 Index Name 能够进入查看对于索引的详细基础监控:
Index Memory (KB):索引内存使用,分为 Lucene、Term、Points;
Index Size (MB):索引大小;
Search Rate (/s):查询速率;
Indexing Rate (/s):索引速率;
Segment Count:段数;
Document Count:文档数;
Shard Legend:分片状态图谱,分为 Primary, Replica,Relocating,Initializing,Unassigned Primary,Unassigned Replica 多个状态。
点击 Advanced 能够看到高级监控页面,请读者本身去感觉下。
Nodes
节点监控,首先看到的是概述指标:
CPU Usage: CPU 使用率;
Load Average:CPU 平均负载;
JVM Memory:JVM 使用状况;
Disk Free Space:磁盘空闲空间;
Shards:分片数;
点击某个节点咱们能够看到详细基础监控:
JVM Heap (GB):JVM 使用状况;
Index Memory (KB):索引占用内存;
CPU Utilization (%):CPU 使用率;
System Load:系统负载;
Latency (ms):延迟,分为索引和查询;
Segment Count:段数量;
Shard Legend:分片状态图谱, Primary, Replica,Relocating,Initializing多个状态。
基于角色的权限控制
该功能的入口在 Management -> Users/Roles。Users 能够方便的管理用户而且对其赋予角色,角色和权限挂钩。Roles 能够方便的管理角色,对其进行赋权。Role 是 Permission 的集合,Permission 是 Privilege 的集合,下面来讲说权限:
集群权限(Cluster Privilege);
Run As Privileges:可使得新建角色拥有所选用户集的权限;
索引权限(Index Privilege):
Indices:指定在哪些索引上赋权;
Privileges:指定赋予哪些权限;
Granted Documents Query(可选):指定在哪些 Query 上赋权;
Granted Fields(可选):指定在哪些 fields 上赋权;
其中,集群权限和索引权限的详细细分权限以下:
Cluster Privileges
权限类型 权限描述
all 全部群集管理操做,如快照,节点关闭/从新启动,设置更新,从新路由或管理用户和角色。
monitor 全部集群只读操做,如集群健康状态,热线程,节点信息,节点和集群统计信息,快照/恢复状态,挂起集群任务。
manage 构建在监视器上,并添加可更改集群中值的集群操做。这包括快照,已检查的设置和从新路由。此权限不包括管理安全性的能力。
manage_security 全部与安全性相关的操做,如对用户和角色的CRUD操做以及缓存清除。
manage_index_templates 对索引模板的全部操做。
manage_pipeline 对管道的全部操做。
transport_client 传输客户端链接所需的全部权限。
Indices Privileges
权限类型 权限描述
all 全部索引操做权限。
monitor 监控(恢复,细分信息,索引统计信息和状态)所需的全部操做。
manage 全部监视器权限和索引管理( aliases, analyze, cache clear, close, delete, exists, flush, mapping, open, force merge, refresh, settings, search shards, templates, validate
view_index_metadata 只读访问索引元数据(aliases, aliases exists, get index, exists, field mappings, mappings, search shards, type exists, validate, warmers, settings)。此权限主要供Kibana用户使用。
read 只读访问操做(count, explain, get, mget, get indexed scripts, more like this, multi percolate/search/termvector, percolate, scroll, clear_scroll, search, suggest, tv)。还授予对更新映射操做的访问权限。
index 索引和更新文档的权限。还授予对更新映射操做的访问权限。
create 索引文档的权限。还授予对更新映射操做的访问权限。
delete 删除文档的权限。
write 对文档执行全部写操做的权限,包括对文档进行索引,更新和删除以及执行批量操做的权限。还授予对更新映射操做的访问权限。
delete_index 删除索引的权限。
create_index 建立索引的权限。建立索引请求可能包含在建立后添加到索引的别名。在这种状况下,请求还要求在索引和别名名称上具备manage特权。
kibana添加roles受权相关索引。
[root@localhost ~]# curl -XPOST -u elastic 'localhost:9200/_xpack/security/role/test_user' -H "Content-Type: application/json" -d ' > { > "indices" : [ > { > "names" : [ "test_resource" ], > "privileges" : [ "all" ] > }, > { > "names" : [ ".kibana*" ], > "privileges" : [ "manage", "read", "index" ] > } > ] > }' Enter host password for user 'elastic': {"role":{"created":true}}You have new mail in /var/spool/mail/root
修改用户密码语句
curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/logstash_system/_password' -d '{ "password" : "123456" }'