2
Service:ElasticSearch
Jeffery edited this page 2026-06-11 10:03:47 +08:00

簡介

Elasticsearch 是分散式搜尋與分析引擎,Kibana 則是它的視覺化前端。本文記錄兩種在 Ubuntu 上部署兩者的方式:方法一使用官方壓縮檔手動安裝,方法二使用官方 APT 套件庫安裝。


方法一:使用壓縮檔安裝

下載 Elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.16.0-linux-x86_64.tar.gz --no-check-certificate

驗證壓縮檔

下載官方提供的 SHA512 校驗檔。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.16.0-linux-x86_64.tar.gz.sha512 --no-check-certificate

比對壓縮檔雜湊值,確認檔案完整未被竄改。

shasum -a 512 -c elasticsearch-8.16.0-linux-x86_64.tar.gz.sha512

解壓縮

tar -xzf elasticsearch-8.16.0-linux-x86_64.tar.gz

設定 Elasticsearch

先啟動一次服務,讓系統自動產生完整的預設設定檔。

elasticsearch

編輯設定檔。

nano elasticsearch-8.16.0/config/elasticsearch.yml

修改以下內容(開放各網路介面連線、停用 HTTPS 改走 HTTP):

# 在全部網路介面啟動服務
network.host: 0.0.0.0

# 改走 http 協定
xpack.security.http.ssl:
  enabled: false

# 允許所有介面的網路連線
http.host: 0.0.0.0

# 允許所有介面的叢集連線
transport.host: 0.0.0.0

Elasticsearch 常用指令

啟動服務

elasticsearch

關閉服務

以背景模式啟動並記錄 PID。

elasticsearch -d -p pid

依 PID 關閉服務。

pkill -F pid

重設 elastic 帳號密碼

elasticsearch-reset-password -i -u elastic

產生 Kibana 服務金鑰

供 Kibana 連線 Elasticsearch 使用。

elasticsearch-create-enrollment-token -s kibana

輸出範例:

eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTkyLjE2OC4zMC4xMDQ6OTIwMCJdLCJmZ3IiOiIzYTEyMWIwZTk4N2M0YzE5ODczMzdmNmU0OTk1Y2E3M2RmNmMzZmE5YzlkNzU4ZGYxN2M4YmNlOThjNjBiMjAxIiwia2V5IjoidWpEaVFwTUJDcmJ4NjlvajVsRm86SkpTUmQzdFdRTWVsUlIyUGxHbGg2ZyJ9

下載 Kibana

wget https://artifacts.elastic.co/downloads/kibana/kibana-8.16.0-linux-x86_64.tar.gz --no-check-certificate

驗證 Kibana 壓縮檔

wget https://artifacts.elastic.co/downloads/kibana/kibana-8.16.0-linux-x86_64.tar.gz.sha512 --no-check-certificate
shasum -a 512 -c kibana-8.16.0-linux-x86_64.tar.gz.sha512

解壓縮 Kibana

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

設定 Kibana

sudo nano kibana-8.16.0/config/kibana.yml

調整以下內容(開放外部連線、指向 Elasticsearch 並填入前面產生的服務金鑰):

# 在所有網路介面啟動服務
server.host: "0.0.0.0"

# 設定 elasticsearch 服務位置
elasticsearch.hosts: ["http://0.0.0.0:9200"]

# 設定 elasticsearch 存取金鑰
elasticsearch.serviceAccountToken: "eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTkyLjE2OC4zMC4xMDQ6OTIwMCJdLCJmZ3IiOiIzYTEyMWIwZTk4N2M0YzE5ODczMzdmNmU0OTk1Y2E3M2RmNmMzZmE5YzlkNzU4ZGYxN2M4YmNlOThjNjBiMjAxIiwia2V5IjoidWpEaVFwTUJDcmJ4NjlvajVsRm86SkpTUmQzdFdRTWVsUlIyUGxHbGg2ZyJ9"

啟動 Kibana

kibana

方法二:使用 APT 套件庫安裝

安裝相依套件

sudo apt install -y apt-transport-https

加入套件庫並安裝

加入官方 8.x APT 套件庫。

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

更新套件清單並安裝 Elasticsearch 與 Kibana。

sudo apt update && sudo apt upgrade -y && sudo apt install -y elasticsearch kibana

建立 Elasticsearch 服務

建立 systemd 服務設定檔。

sudo nano /etc/systemd/system/elasticsearch.service

服務檔內容如下:

[Unit]
Description=elasticsearch

[Service]
Type=simple
User=shuochen
WorkingDirectory=/home/shuochen/elasticsearch-8.16.0
ExecStart=/home/shuochen/elasticsearch-8.16.0/bin/elasticsearch
Restart=always

[Install]
WantedBy=multi-user.target

啟動 Elasticsearch 服務

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

建立 Kibana 服務

建立 systemd 服務設定檔。

sudo nano /etc/systemd/system/kibana.service

服務檔內容如下:

[Unit]
Description=kibana

[Service]
Type=simple
User=shuochen
WorkingDirectory=/home/shuochen/kibana-8.16.0
ExecStart=/home/shuochen/kibana-8.16.0/bin/kibana --allow-root
Restart=always

[Install]
WantedBy=multi-user.target

啟動 Kibana 服務

sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana