天天看點

kibana從入門到精通-Kibana安裝

作者其他ELK快速入門系列文章

Elasticsearch從入門到精通

logstash快速入門實戰指南

簡介

Kibana 是一款開源的資料分析和可視化平台,它是 Elastic Stack 成員之一,設計用于和 Elasticsearch 協作。您可以使用 Kibana 對 Elasticsearch 索引中的資料進行搜尋、檢視、互動操作。您可以很友善的利用圖表、表格及地圖對資料進行多元化的分析和呈現。

Kibana 可以使大資料通俗易懂。它很簡單,基于浏覽器的界面便于您快速建立和分享動态資料儀表闆來追蹤 Elasticsearch 的實時資料變化。

搭建 Kibana 非常簡單。您可以分分鐘完成 Kibana 的安裝并開始探索 Elasticsearch 的索引資料 — 沒有代碼、不需要額外的基礎設施。

界面

為了給大家一個直覺的感覺,先上個圖讓大家來圍觀一下它靓照:

kibana從入門到精通-Kibana安裝

支援的平台

Kibana 有 Linux、Darwin 和 Windows 版本的安裝包。由于 Kibana 基于 Node.js 運作,我們在這些平台上包含了一些必要的 Node.js 二進制檔案。Kibana 不支援在獨立維護的 Node.js 版本上運作。

Elasticsearch 版本

Kibana 的版本需要和 Elasticsearch 的版本一緻。這是官方支援的配置。

運作不同主版本号的 Kibana 和 Elasticsearch 是不支援的(例如 Kibana 5.x 和 Elasticsearch 2.x),若主版本号相同,運作 Kibana 子版本号比 Elasticsearch 子版本号新的版本也是不支援的(例如 Kibana 5.1 和 Elasticsearch 5.0)。

運作一個 Elasticsearch 子版本号大于 Kibana 的版本基本不會有問題,這種情況一般是便于先将 Elasticsearch 更新(例如 Kibana 5.0 和 Elasticsearch 5.1)。在這種配置下,Kibana 啟動日志中會出現一個警告,是以一般隻是使用于 Kibana 即将要更新到和 Elasticsearch 相同版本的場景。

運作不同的 Kibana 和 Elasticsearch 更新檔版本一般是支援的(例如:Kibana 5.0.0 和 Elasticsearch 5.0.1),盡管我們鼓勵使用者去運作最新的更新檔更新版本。

安裝 Kibana

從6.0.0開始,Kibana 隻支援64位作業系統。

Kibana 提供以下格式的安裝包:

tar.gz/zip

tar.gz 包用來在 Linux 和 Darwin 系統下安裝,也是最友善的一種選擇。

zip 包是唯一支援 Windows 系統的安裝包。

使用 .tar.gz 安裝 Kibana 或者 在 Windows 上安裝 Kibana

deb

deb 包用來在 Debian、Ubuntu 和其他基于 Debian 的系統下安裝,Debian 包可以從 Elastic 官網或者我們的 Debian 倉庫中下載下傳。

使用 Debian 包安裝 Kibana

rpm

rpm 包用來在 Red Hat、Centos、SLES、OpenSuSe 以及其他基于 RPM 的系統下安裝。RPM 包可以從 Elastic 官網或者我們的 RPM 倉庫下載下傳。

使用 RPM 包安裝 Kibana

docker

Elastic Docker 倉庫中有現有的可以運作 Kibana 的 Docker 鏡像,并預裝了 X-Pack 。

Docker 容器中運作 Kibana

使用 .tar.gz 安裝 Kibana

Kibana 為 Linux 和 Darwin 平台提供了 .tar.gz 安裝包。這些類型的包非常容易使用。

Kibana 的最新穩定版本可以在 Kibana 下載下傳頁找到。其它版本可以在 已釋出版本中檢視。

下載下傳安裝 Linux 64 位包

Kibana v6.0.0 的 Linux 檔案可以按照如下方式下載下傳和安裝:

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-linux-x86_64.tar.gz

sha1sum kibana-6.0.0-linux-x86_64.tar.gz

tar -xzf kibana-6.0.0-linux-x86_64.tar.gz

cd kibana/

比較 sha1sum 或 shasum 産生的 SHA 跟 釋出 SHA是否一緻。
該目錄是 $KIBANA_HOME 。

下載下傳安裝 Darwin 包

Kibana v6.0.0 的 Darwin 檔案可以按照如下方式下載下傳和安裝:

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-darwin-x86_64.tar.gz

shasum kibana-6.0.0-darwin-x86_64.tar.gz

tar -xzf kibana-6.0.0-darwin-x86_64.tar.gz

比較 sha1sum 或 shasum 産生的SHA 跟 釋出的 SHA是否一緻。

從指令行啟動 Kibana

Kibana 可以從指令行啟動,指令如下:

./bin/kibana

預設 Kibana 在前台啟動,列印日志到标準輸出 (stdout),可以通過 Ctrl-C 指令終止運作。

通過配置檔案配置 Kibana

Kibana 預設情況下從 $KIBANA_HOME/config/kibana.yml 加載配置檔案。該配置檔案的格式在 配置 Kibana 中做了說明。

.tar.gz 檔案目錄

.tar.gz 整個包是獨立的。預設情況下,所有的檔案和目錄都在 $KIBANA_HOME — 解壓包時建立的目錄下。這樣非常友善,因為您不需要建立任何目錄來使用 Kibana,解除安裝 Kibana 就是簡單地删除 $KIBANA_HOME 目錄。但還是建議修改一下配置檔案和資料目錄,這樣就不會删除重要資料。

類型 描述 預設位置 設定
home Kibana home 目錄或 $KIBANA_HOME 。 解壓包時建立的目錄
bin 二進制腳本,包括 kibana 啟動 Kibana 服務和 kibana-plugin 安裝插件。 $KIBANA_HOME\bin
config 配置檔案,包括 kibana.yml 。 $KIBANA_HOME\config
data Kibana 和其插件寫入磁盤的資料檔案位置。 $KIBANA_HOME\data
optimize 編譯過的源碼。某些管理操作(如,插件安裝)導緻運作時重新編譯源碼。 $KIBANA_HOME\optimize
plugins 插件檔案位置。每一個插件都有一個單獨的二級目錄。 $KIBANA_HOME\plugins

在 Windows 上安裝 Kibana

在 Windows 中安裝 Kibana 使用 .zip 包。

最新穩定版 Kibana 可以從 Kibana 下載下傳頁獲得。其他版本可以在 已釋出版本中檢視。

下載下傳安裝 .zip 包

下載下傳 Kibana v6.0.0 的 .zip windows 檔案: https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-windows-x86_64.zip

用您喜歡的解壓工具解壓下載下傳的 zip 包。會建立一個檔案夾叫 kibana-6.0.0-windows-x86_64,也就是我們指的 $KIBANA_HOME 。在一個終端視窗中, CD 到 $KIBANA_HOME 目錄,例如:

CD c:\kibana-6.0.0-windows-x86_64

Kibana 可以從指令行啟動,如下:

.\bin\kibana

預設情況下,Kibana 在前台啟動,輸出 log 到 STDOUT ,可以通過 Ctrl-C 停止 Kibana。

.zip 檔案目錄

.zip 整個包是獨立的。預設情況下,所有的檔案和目錄都在 $KIBANA_HOME — 解壓包時建立的目錄下。這是非常友善的,因為您不需要建立任何目錄來使用 Kibana,解除安裝 Kibana 隻需要簡單的删除 $KIBANA_HOME目錄。但還是建議修改一下配置檔案和資料目錄,這樣就不會删除重要資料。

配置檔案包括 kibana.yml 。
插件檔案位置。每一個插件都一個單獨的二級目錄。

Kibana Debian 安裝包可以在官網下載下傳或者從APT 倉庫下載下傳。它可以用來在任何基于 Debian 的系統,如 Debian 和 Ubuntu 上安裝 Kibana。

Kibana 最新穩定版本可以在官方 Kibana 下載下傳頁找到。其他版本可以在 官方已釋出版本中檢視。

導入 Elastic PGP 密鑰

我們所有部署包的簽名使用的是 Elastic Signing Key (PGP key D88E42B4, 從 https://pgp.mit.edu 可以獲得),指紋為:

4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4

下載下傳并安裝簽名公鑰:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

從 APT 倉庫安裝

在開始之前,您需要在 Debian 系統上安裝 apt-transport-https 包:

sudo apt-get install apt-transport-https

儲存倉庫的定義到 /etc/apt/sources.list.d/elastic-6.x.list:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

請不要用 add-apt-repository 因為它需要添加 deb-src 入口,但是我們沒有提供包源。如果您已經添加了 deb-src 入口,您将會遇到如下錯誤:

Unable to find expected entry 'main/source/Sources' in Release file

(Wrong sources.list entry or malformed file)

從 /etc/apt/sources.list 檔案中删除 deb-src 入口,便可以正常安裝。

使用以下指令安裝 Kibana Debian 包:

sudo apt-get update && sudo apt-get install kibana

如果在倉庫中有兩條相同的 Kibana 入口,執行 apt-get update 指令時您将會遇到如下錯誤:

Duplicate sources.list entry https://artifacts.elastic.co/packages/6.x/apt/ ...`

檢查這些檔案中是否有重複記錄: /etc/apt/sources.list.d/kibana-6.x.list 、 /etc/apt/sources.list.d/ 和 /etc/apt/sources.list 。

手動下載下傳安裝 Debian 包

Kibana v6.0.0 的 Debian 包可以使用如下指令從網站下載下傳安裝:

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-amd64.deb

sha1sum kibana-6.0.0-amd64.deb

sudo dpkg -i kibana-6.0.0-amd64.deb

比較 sha1sum 或 shasum 産生的 SHA跟 釋出的 SHA。

SysV init 和 systemd 對比

Kibana 安裝後不會自動啟動。如何啟動和停止 Kibana,依賴與您的作業系統。使用 SysV init 還是 systemd (新的發行版使用),可以通過以下指令來顯示使用的是哪種:

ps -p 1

使用 SysV init 運作 Kibana

使用 update-rc.d 指令配置 Kibana 開機自動啟動:

sudo update-rc.d kibana defaults 95 10

Kibana 可以使用 service 指令來啟動和停止:

sudo -i service kibana start

sudo -i service kibana stop

不管什麼原因,如果 Kibana 啟動失敗,它會輸出失敗原因到 STDOUT。日志檔案在 /var/log/kibana/ 目錄下面。

使用 systemd 運作 Kibana

配置 Kibana 開機自動啟動,執行以下指令:

sudo /bin/systemctl daemon-reload

sudo /bin/systemctl enable kibana.service

Kibana 啟動和停止指令如下:

sudo systemctl start kibana.service

sudo systemctl stop kibana.service

這些指令不會提供任何關于 Kibana 是否成功啟動的回報資訊。而是将這些資訊寫入日志檔案中,日志檔案的位置在 /var/log/kibana/ 。

Kibana 預設情況下從 $KIBANA_HOME/config/kibana.yml 加載配置檔案。該配置檔案的格式在 配置 Kibana 中有相關說明。

Debian 包目錄

在 Debian 包結構中,Debian 會把配置檔案、日志和資料目錄放在如下位置:

/usr/share/kibana
二進制腳本,包括 kibana 啟動 Kibana server 和 kibana-plugin 安裝插件。 /usr/share/kibana/bin
/etc/kibana
/var/lib/kibana
編譯過的源碼。某些管理操作 (如,插件安裝) 導緻運作時重新編譯源碼。 /usr/share/kibana/optimize
/usr/share/kibana/plugins

Kibana RPM 包可以從官方網站下載下傳或者從官方推薦的 RPM 倉庫下載下傳。RPM 包可以用來安裝 Kibana 在任何基于 RPM 包管理的系統上,如 OpenSuSE 、SLES、Centos、Red Hat 和 Oracle 企業版等系統上。

RPM 安裝不支援舊的系統版本,例如 SLES 11 和 CentOS 5。詳情請參考 使用 .tar.gz 安裝 Kibana 。

Kibana 的最新穩定版本可以在官方網站 Kibana 下載下傳頁找到。其它版本可以在 已釋出版本中檢視。

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

從 RPM 倉庫安裝

對于 RedHat 的發行版,在 /etc/yum.repos.d/ 目錄下建立一個 kibana.repo 檔案,對于 OpenSuSE 的發行版,在 /etc/zypp/repos.d/ 目錄下建立一個 kibana.repo 檔案,包含如下内容:

[kibana-6.x]

name=Kibana repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

您的倉庫已經準備好了。現在您可以用下面的指令來安裝 Kibana:

sudo yum install kibana

sudo dnf install kibana

sudo zypper install kibana

在 CentOS 和基于較低版本的 Red Hat 發行版上使用 yum 。
在 Fedora 和較高版本的 Red Hat 發行版上使用 dnf 。
在基于 OpenSUSE 的發行版上使用 zypper 。

手動下載下傳安裝 RPM

Kibana v6.0.0 的 RPM 包可以使用如下指令從網站下載下傳安裝 :

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm

sha1sum kibana-6.0.0-x86_64.rpm

sudo rpm --install kibana-6.0.0-x86_64.rpm

比較 sha1sum 或 shasum 産生的 SHA 跟 釋出的 SHA。

SysV init 運作 Kibana

使用 chkconfig 指令配置 Kibana 開機自動啟動:

sudo chkconfig --add kibana

Kibana 可以用 service 指令來啟動和停止:

任何原因導緻的 Kibana 啟動失敗,都會輸出失敗原因到 STDOUT。日志檔案在 /var/log/kibana/ 目錄下面。

RPM 檔案目錄

在 RPM 包中,會把配置檔案、日志和資料目錄放在如下位置:

Kibana 的 Docker 鏡像可以從 Elastic 官網上的 Docker 鏡像倉庫擷取。該鏡像是随 X-Pack 一起打包的。

X-Pack 在這個 image 中是預裝好的。安裝了 X-Pack,Kibana 會去連接配接同樣帶有 X-Pack 的 Elasticsearch 叢集。

擷取鏡像

向 Elastic Docker 倉庫發送一條 docker pull 指令就可以擷取 Kibana Docker 鏡像。

指令如下:

docker pull docker.elastic.co/kibana/kibana:6.0.0

配置 Docker 中的 Kibana

Docker 鏡像提供了幾種方法來配置 Kibana。傳統的方法是給出一個 配置 Kibana 中描述的配置檔案 kibana.yml ,也可以使用環境變量來定義設定項。

綁定配置

一種配置 Docker 中 Kibana 的方法是通過綁定配置檔案 kibana.yml 。使用 docker-compose 工具,向下面這樣綁定:

services:

  kibana:

    image: docker.elastic.co/kibana/kibana:6.0.0

    volumes:

      - ./kibana.yml:/usr/share/kibana/config/kibana.yml

環境變量設定

在 Docker 中,Kibana 可以通過環境變量的方法設定。環境變量如下:

表 1. Docker 環境變量

Environment Variable Kibana Setting
ELASTICSEARCH_CUSTOMHEADERS elasticsearch.customHeaders
ELASTICSEARCH_PASSWORD elasticsearch.password
ELASTICSEARCH_PINGTIMEOUT elasticsearch.pingTimeout
ELASTICSEARCH_PRESERVEHOST elasticsearch.preserveHost
ELASTICSEARCH_REQUESTHEADERSWHITELIST elasticsearch.requestHeadersWhitelist
ELASTICSEARCH_REQUESTTIMEOUT elasticsearch.requestTimeout
ELASTICSEARCH_SHARDTIMEOUT elasticsearch.shardTimeout
ELASTICSEARCH_SSL_CA elasticsearch.ssl.ca
ELASTICSEARCH_SSL_CERT elasticsearch.ssl.cert
ELASTICSEARCH_SSL_KEY elasticsearch.ssl.key
ELASTICSEARCH_SSL_VERIFY elasticsearch.ssl.verify
ELASTICSEARCH_STARTUPTIMEOUT elasticsearch.startupTimeout
ELASTICSEARCH_URL elasticsearch.url
ELASTICSEARCH_USERNAME elasticsearch.username
KIBANA_DEFAULTAPPID kibana.defaultAppId
KIBANA_INDEX kibana.index
LOGGING_DEST logging.dest
LOGGING_QUIET logging.quiet
LOGGING_SILENT logging.silent
LOGGING_VERBOSE logging.verbose
OPS_INTERVAL ops.interval
PID_FILE pid.file
SERVER_BASEPATH server.basePath
SERVER_HOST server.host
SERVER_MAXPAYLOADBYTES server.maxPayloadBytes
SERVER_NAME server.name
SERVER_PORT server.port
SERVER_SSL_CERT server.ssl.cert
SERVER_SSL_KEY server.ssl.key
XPACK_MONITORING_ELASTICSEARCH_URL xpack.monitoring.elasticsearch.url
XPACK_MONITORING_ELASTICSEARCH_USERNAME xpack.monitoring.elasticsearch.username
XPACK_MONITORING_ELASTICSEARCH_PASSWORD xpack.monitoring.elasticsearch.password
XPACK_MONITORING_ENABLED xpack.monitoring.enabled
XPACK_MONITORING_MAX_BUCKET_SIZE xpack.monitoring.max_bucket_size
XPACK_MONITORING_MIN_INTERVAL_SECONDS xpack.monitoring.min_interval_seconds
XPACK_MONITORING_NODE_RESOLVER xpack.monitoring.node_resolver
XPACK_MONITORING_REPORT_STATS xpack.monitoring.report_stats
XPACK_MONITORING_KIBANA_COLLECTION_ENABLED xpack.monitoring.kibana.collection.enabled
XPACK_MONITORING_KIBANA_COLLECTION_INTERVAL xpack.monitoring.kibana.collection.interval
XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED xpack.monitoring.ui.container.elasticsearch.enabled
XPACK_SECURITY_ENABLED xpack.security.enabled
XPACK_SECURITY_COOKIENAME xpack.security.cookieName
XPACK_SECURITY_ENCRYPTIONKEY xpack.security.encryptionKey
XPACK_SECURITY_SECURECOOKIES xpack.security.secureCookies
XPACK_SECURITY_SESSIONTIMEOUT xpack.security.sessionTimeout

這些變量可以像下面這樣,用 docker-compose 設定:

    environment:

      SERVER_NAME: kibana.example.org

      ELASTICSEARCH_URL: http://elasticsearch.example.org

優先使用環境變量,然後是配置檔案 kibana.yml 中的配置項。

Docker 預設值

使用 Docker 時,下面的配置項有不同的預設值 :

"0"
http://elasticsearch:9200
elastic
changeme
true

這些配置項的預設值在 kibana.yml 中設定。可以通過 自定義 kibana.yml 或者 環境變量覆寫這些預設值。

通路 Kibana

Kibana 是一個 web 應用,可以通過5601端口通路。隻需要在浏覽器中指定 Kibana 運作的機器,然後指定端口号即可。例如, 

localhost:5601

 或者 

http://YOURDOMAIN.com:5601

 ,詳見之前界面章節展現靓照。

繼續閱讀