前言
最近用到了ELK的集群,想想還是用使用官方的x-pack的monitor功能對其進行監控,這里先上圖看看:

環境如下:
操作系統: window 2012 R2
ELK : elasticsearch 5.6.0 , Logstash 5.6.0 , Kibana 5.6.0
x-pack安裝
因為國內通告網咯安裝有點卡,這里大家可以先下載 x-pack 5.6.0的離線安裝包,這里我下載的目錄為G:\uploadsoftware\x-pack-5.6.0.zip。
ElasticSearch 安裝x-pack
安裝命令行:
elasticsearch-plugin.bat install file:///G:\uploadsoftware\x-pack-5.6.0.zip
-> Downloading file:///G:\uploadsoftware\x-pack-5.6.0.zip
[=================================================] 100%??
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.io.FilePermission \\.\pipe\* read,write
* java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.RuntimePermission setFactory
* java.security.SecurityPermission createPolicy.JavaPolicy
* java.security.SecurityPermission getPolicy
* java.security.SecurityPermission putProviderProperty.BC
* java.security.SecurityPermission setPolicy
* java.util.PropertyPermission * read,write
* java.util.PropertyPermission sun.nio.ch.bugLevel write
* javax.net.ssl.SSLPermission setHostnameVerifier
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N]y
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin forks a native controller @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
This plugin launches a native controller that is not subject to the Java
security manager nor to system call filters.
Continue with installation? [y/N]y
-> Installed x-pack
安裝過程中會有提示,按照提示輸入y即可,而且因為是集群,每一台elasticsearch都需要安裝
安裝之后x-pack的很多選項都默認開啟,因為basic license只能使用監控,這里我們需要修改elasticsearch.yml配置,將其他的關閉:
xpack.ml.enabled: false xpack.security.enabled: false xpack.monitoring.enabled: true xpack.graph.enabled: false xpack.watcher.enabled: false
elasticsearch 5.6.2之前的版本在window環境下其x-pack 的machine learn組件會一直占用系統內存一直到100%,此為官方的bug,建議升級到5.6.2之后的版本,之前的版本可以通告以下修復:
1. xpack.ml.enabled: false 通過此配置關閉machine learn
2. 刪除 elasticsearch-5.6.0\plugins\x-pack\platform\windows-x86_64\bin 目錄下的Controller.exe文件
Logstash 安裝x-pack
logstash的安裝命令行和elasticsearch一致:
logstash-plugin.bat install file:///G:\uploadsoftware\x-pack-5.6.0.zip
和elasticsearch一樣,這里也需要配置對應的logstash.yml文件:
xpack.monitoring.enabled: true
Kibana 安裝x-pack
安裝命令行:
kibana-plugin.bat install file:///G:/uploadsoftware/x-pack-5.6.0.zip
Found previous install attempt. Deleting...
Attempting to transfer from file:///G:\uploadsoftware\x-pack-5.6.0.zip
Transferring 160240950 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
Plugin installation complete
kibana的安裝會生成緩存文件,時間比較長在,這里需要等待一會
kibana.yml配置文件如下:
xpack.ml.enabled: false xpack.security.enabled: false xpack.monitoring.enabled: true
獲取x-pack basic license
到這里為止,ELK的x-pack安裝完畢,但license只有一個月,因為我們需要去官網申請一個免費的license


點擊Get Basic然后去官網注冊下,然后會將下載地址到注冊的郵箱中,最后通告下載的地址下載一個json的授權文件。
因為為window環境,這里用 PowerShell將此json文件post到elasticsearch中,因為是集群,每個elasticsearch都需要post以下:
gc .\license.json | Invoke-WebRequest -uri http://<host>:<port>/_xpack/license -Credential elastic -Method Put

最后就是享受x-pack的監控之路了:

