x-pack-5.6.10激活教程

x-pack-5.6.10激活教程java

簡介

X-Pack 已經做爲 Elastic 公司單獨的產品線,前身是 Shield, Watcher, Marvel, Graph, 和 reporting,先來講說這幾個是作什麼的吧:
    Shield: 提供對數據的 Password-Protect,以及加密通訊、基於角色的權限控制,IP 過濾,審計,能夠有效地:node

  •         防止未受權的訪問:基於 Password-Protect,基於角色的權限控制,IP過濾;
  •         保證數據的完整性:基於消息認證和 TLS/SSL 加密;
  •         審計跟蹤:能夠知道誰在何時對數據作了什麼;

    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

  1.     open source開源版本
  2.     basic基礎版本
  3.     gold是黃金版
  4.     PLATINUM鉑金版

修改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
  }
}

 x-pack功能開關

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"
}'
相關文章
相關標籤/搜索