作者其他ELK快速入門系列文章
Elasticsearch從入門到精通
logstash快速入門實戰指南
簡介
Kibana 是一款開源的資料分析和可視化平台,它是 Elastic Stack 成員之一,設計用于和 Elasticsearch 協作。您可以使用 Kibana 對 Elasticsearch 索引中的資料進行搜尋、檢視、互動操作。您可以很友善的利用圖表、表格及地圖對資料進行多元化的分析和呈現。
Kibana 可以使大資料通俗易懂。它很簡單,基于浏覽器的界面便于您快速建立和分享動态資料儀表闆來追蹤 Elasticsearch 的實時資料變化。
搭建 Kibana 非常簡單。您可以分分鐘完成 Kibana 的安裝并開始探索 Elasticsearch 的索引資料 — 沒有代碼、不需要額外的基礎設施。
界面
為了給大家一個直覺的感覺,先上個圖讓大家來圍觀一下它靓照:

支援的平台
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
,詳見之前界面章節展現靓照。