什么是Kibana?
Kibana 是一個設計出來用於和 Elasticsearch 一起使用的開源的分析與可視化平台,可以用 kibana 搜索、查看、交互存放在Elasticsearch 索引里的數據,使用各種不同的圖表、表格、地圖等展示高級數據分析與可視化,基於瀏覽器的接口使你能快速創建和分享實時展現Elasticsearch查詢變化的動態儀表盤,讓大量數據變得簡單,容易理解。
Kibana 7.* 安裝條件
(適用windows 10 ,64位)
- 保證安裝了JDK
- 保證安裝node
- 保證安裝了Elasticsearch
JDK的安裝:
點擊JDK官網下載
選擇對應系統的安裝包下載安裝
(window10*64位操作系統)下載的版本如下圖所示:
下載完畢之后雙擊安裝,安裝完畢之后進行環境變量的配置。
右鍵“我的電腦”---“屬性”---“高級系統設置”---“環境變量”,進入環境變量的配置界面:
(2)在系統變量中“新建”環境變量 JAVA_HOME
(3)向PATH(在系統目錄中找到PATH並雙擊)中添加
(4)檢查是否安裝成功,同時按下鍵盤win+R鍵,打開運行窗口。在窗口中輸入“cmd”,按“回車鍵(Enter)”或點擊“確定”,進行測試。
- 輸入java見如下顯示:
則代表成功安裝。
node的安裝:
點擊node官網下載
下載雙擊安裝
確保安裝成功:輸入
node -v
Elasticsearch的安裝:
- 點擊Elasticsearch官網下載
- 注意這個版本號!!!
- 值得注意的是,elasticsearch的版本和kibana的版本必須一致,才可以正確運行。
- 解壓
- 進入bin目錄,雙擊elasticsearch.bat(第一種方式):等待啟動
- 通過cmd的方式進入bin目錄,運行elasticsearch.bat install 安裝服務(第二種方式):打開elasticsearch服務
- 配置文件可以自定義可先用默認啟動,跳過
- 打開http://localhost:9200/,如果發現顯示下圖內容,則啟動成功。
Kibana 的安裝:
- 點擊kibana官網下載
圖為下載的版本7.5.0,kibana的版本和elasticsearch的版本和必須一致。
- 修改配置(可以省略)
-
打開下圖的路徑文件kibana.yml(可以通過記事本方式)
-
設置elasticsearch.url為啟動的elasticsearch(http://localhost:9200/)(其實按照默認可以不用修改配置文件)
-
-
進入kibana的bin目錄,雙擊kibana.bat(第一種方式)
-
通過cmd的方式進入kibana的bin目錄,運行kibana.bat(第二種方式);
-
訪問:http://localhost:5601,出現以下界面即完成安裝。
liunx安裝
過程基本上一致,只記錄下關鍵點
1.1 選擇 liunx包 並解壓縮安裝
https://www.elastic.co/cn/downloads/elasticsearch
tar -xzvf elasticsearch-7.5.0-linux-x86_64.tar.gz
mv elasticsearch-7.5.0 elasticsearch
1.2 修改jvm配置
cd elasticsearch/config
vim jvm.options # 修改為內存的一半 機器為32 我就配置了16
-Xms16g
-Xmx16g
1.3 配置集群設置
vim elasticsearch.yml
cluster.name: es 集群名稱,相同名稱為一個集群 node.name: node_1 節點名稱,集群模式下每個節點名稱唯一 node.master: true 當前節點是否可以被選舉為master節點,是:true、否:false node.data: true 當前節點是否用於存儲數據,是:true、否:false path.data: /data,/data1 索引數據存放的位置 path.logs: /usr/local/elasticsearch/logs 日志文件存放的位置 bootstrap.memory_lock: true 需求鎖住物理內存,是:true、否:false bootstrap.system_call_filter: true SecComp檢測,是:true、否:false network.host: 0.0.0.0 監聽地址,用於訪問該es http.port: 9190 es對外提供的http端口,默認 9200 discovery.seed_hosts: ["x.x.x.x", "x.x.x.x","x.x.x.x"] 寫入候選主節點的設備地址,在開啟服務后可以被選為主節點 cluster.initial_master_nodes: ["x.x.x.x", "x.x.x.x", "x.x.x.x"] 初始化一個新的集群時需要此配置來選舉master 或者寫入節點名字 http.cors.enabled: true 是否支持跨域,是:true,在使用head插件時需要此配置 http.cors.allow-origin: "*" "*" 表示支持所有域名
indices.fielddata.cache.size: 8g
1.4 創建用戶 不能用root啟動es
useradd elasticsearch passwd elasticsearch # 添加權限 chown -R elasticsearch:elasticsearch /usr/local/elasticsearch chown -R elasticsearch:elasticsearch /data chown -R elasticsearch:elasticsearch /data1
1.5 系統優化
etc/security/limits.conf,增加最大線程個數
vim /etc/security/limits.conf
* soft nproc 4096 * hard nproc 4096
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p
1.6 kibana
下載壓縮
tar -xzvf kibana-7.5.0-linux-x86_64.tar.gz mv kibana-7.5.0-linux-x86_64 kibana
配置文件
vim kibana.yml
server.port: 9191 server.host: "0.0.0.0" # es服務器集群鏈接和端口 elasticsearch.hosts: ["http://x.17.75.37:x", "http://x.17.75.38:x", "http://x.17.75.36:x"] # 中文設置 i18n.locale: "zh-CN"
權限設置或者直接用root啟動
chown -R elasticsearch:elasticsearch /usr/local/kibana
nohup ./kibana --allow-root &
集群密碼添加
2.1 創建證書文件
主節點一台操作
cd /usr/local/elasticsearch/
./bin/elasticsearch-certutil ca
兩次回車
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
三次回車
mkdir config/certs # 放置證書位置 mv elastic-*.p12 config/certs/ chown -R elasticsearch:elasticsearch config/certs/
再把證書文件 elastic-certificates.p12 復制到其他master節點並賦予權限。
scp或者ftp等
2.2 修改配置
所有節點配置完后重啟 elasticsearch
vim elasticsearch.yml
xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
2.3 生成客戶端證書
cd /usr/local/elasticsearch
bin/elasticsearch-certutil cert --ca \
config/certs/elastic-stack-ca.p12 \
-name "CN=esuser,OU=dev,DC=weqhealth,DC=com"
回車
client.p12
回車
拆分證書
mv client.p12 config/certs/ cd config/certs/ openssl pkcs12 -in client.p12 -nocerts -nodes > client-key.pem openssl pkcs12 -in client.p12 -clcerts -nokeys > client.crt openssl pkcs12 -in client.p12 -cacerts -nokeys -chain > client-ca.crt chown elasticsearch:elasticsearch client*
2.4 設置默認密碼
主節點一台操作(啟動es的賬戶)
注:如果之前運行的集群,請刪掉elasticsearch.keystore 再啟動后初始化密碼
bin/elasticsearch-setup-passwords interactive
分別設置 elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user賬號的密碼。(密碼設置最好相同)
2.5 kibana中添加配置
修改 kibana.yml 文件
elasticsearch.username: "kibana" elasticsearch.password: "elasticxxxxxxx"
然后用超級管理員賬號 elastic 登入到 kibana。在kibana中設置角色和賬號,也可以修改賬號密碼。
2.6 驗證
head kibana curl 都可驗證
禁止使用虛擬內存設置
3.1 禁止系統虛擬內存
swapoff -a 關閉虛擬內存(釋放) swapon -a 打開虛擬內存 swapon /path/file 開啟
swapoff /path/file 關閉
3.2 添加es配置
bootstrap.memory_lock: true
這個配置的意義:鎖定物理內存地址,防止es內存被交換出去,也就是避免es使用swap交換分區,頻繁的交換,會導致IOPS變高。
3.3 修改系統配置
vim /etc/security/limits.conf
* soft nofile 65536 * hard nofile 65536 * soft nproc 32000 * hard nproc 32000 * hard memlock unlimited * soft memlock unlimited
vim /etc/systemd/system.conf
DefaultLimitNOFILE=65536 DefaultLimitNPROC=32000 DefaultLimitMEMLOCK=infinity
執行命令使其生效
/bin/systemctl daemon-reload