前幾天同僚對公司的實時日志分析平台感興趣,讨論了實作的方案,感覺不過瘾于是搞一波。
“ELK”是三個開源項目的首字母縮寫,這三個項目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一個搜尋和分析引擎。Logstash 是伺服器端資料處理管道,能夠同時從多個來源采集資料,轉換資料,然後将資料發送到諸如 Elasticsearch 等“存儲庫”中。Kibana 則可以讓使用者在 Elasticsearch 中使用圖形和圖表對資料進行可視化。
安裝環境
- CentOS 7.8
- Elasticsearch、Logstash、Kibana 7.14.0
安裝 Elasticsearch
通過 rpm 安裝并啟動 elasticsearch 服務
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-x86_64.rpm
sudo rpm -i elasticsearch-7.14.0-x86_64.rpm
# 啟動 elasticsearch
sudo systemctl start elasticsearch
# 設定開機自啟動
sudo systemctl enable elasticsearch.service
檢視服務狀态
systemctl status elasticsearch
curl http://127.0.0.1:9200
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iZkFzMykzY3QDN4AzM1IWYzMDZ0QGO3YjY3QzY1MTNi9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
修改配置檔案,記得養成先備份再修改的好習慣喔
vim /etc/elasticsearch/elasticsearch.yml
# 打開外網通路
network.host: 0.0.0.0
# 叢集中節點位址清單
discovery.seed_hosts: ["127.0.0.1"]
# 預設主節點
cluster.initial_master_nodes: ["node-1"]
儲存
systemctl restart elasticsearch
, 重新開機 elasticsearch
安裝 Kibana
同樣也是通過 rpm 安裝并啟動
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.14.0-x86_64.rpm
sudo rpm --install kibana-7.14.0-x86_64.rpm
# 開啟外網通路
echo "server.host: \"0.0.0.0\"" >> /etc/kibana/kibana.yml
# 啟動服務
systemctl start kibana
在浏覽器中通路
http://ip:5601
,若出現以下界面,則表示 Kibana 安裝成功。
安裝 Logstash
通過 yum 安裝
sudo cat > /etc/yum.repos.d/logstash.repo << EOF
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
sudo yum install -y logstash
啟動服務
sudo systemctl start logstash.service
OK,至此安裝完畢。
Tips
上面 rpm 源如果安裝速度比較慢可以選擇一些國内的源,這裡 Elasticsearch 選擇的就是華為雲的源:
參考:
https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html