上一篇文章詳細說明了如何在windows下部署ELK,今天我們再詳細說說在Linux下如何部署。
本文中使用的操作系統是Centos7。什么是ELK?為什么使用ELK?在上文中已經說過,這里就不再贅述,有需要的朋友可以查看 windows下部署ELK詳細教程 ,下面我們直接進入今天的主題。本文會從以下幾點進行闡述:
- 安裝JAVA環境
- 安裝Elasticsearch
- 安裝Logstash
- 安裝Kibana
注意:本文中ELK安裝在同一個系統中,如果需要安裝在不同的服務器,請注意端口的防火牆設置!
一、安裝JAVA環境
安裝之前我們先確認下系統中是否安裝過java,通過以下命令進行確認:
rpm -qa | grep java rpm -qa | grep jdk rpm -qa | grep gcj
如果沒有輸入信息表示沒有安裝過,如果安裝過會顯現如下相關信息:
當然,如果安裝過,但是想要卸載當前版本重新安裝的話,可以執行以下命令:
rpm -qa | grep java | xargs rpm -e --nodeps
安裝JAVA步驟如下(我這里以java1.8版本為例):
1.1 查看java1.8版本列表
yum list java-1.8*
1.2 安裝java-1.8.0版本的所有文件
yum install java-1.8.0-openjdk* -y
1.3 檢查java是否安裝成功
java -version
二、安裝Elasticsearch
2.1 下載安裝es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-x86_64.rpm sudo rpm --install elasticsearch-7.12.0-x86_64.rpm
通過以下命令可以查看es的安裝路徑(正常安裝在/usr/share/elasticsearch/)
rpm -ql elasticsearch
2.2 修改ES數據和日志存儲路徑
# 創建目錄,用於存儲elasticsearch數據 mkdir -p /data/elasticsearch/datadir # 修改目錄權限 chown -R elasticsearch:elasticsearch /data/elasticsearch/datadir # 創建日志目錄 mkdir -p /data/elasticsearch/logdir # 修改目錄權限 chown -R elasticsearch:elasticsearch /data/elasticsearch/logdir
2.3 修改ES配置文件
vi /etc/elasticsearch/elasticsearch.yml
修改信息如下:
# 集群名稱,按照自己的需求調整
cluster.name: my-application
# 節點名稱
node.name: node-1
# 設置data存儲目錄 path.data: /data/elasticsearch/datadir # 設置logs日志的目錄 path.logs: /data/elasticsearch/logdir # 設置內存不使用交換分區 bootstrap.memory_lock: false # 設置允許所有ip可以連接該elasticsearch,這里根據項目需求自行修改 network.host: 0.0.0.0 # 開啟監聽的端口,默認為9200 http.port: 9200
discovery.seed_hosts:["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
2.4 啟動ES
# 啟動服務
systemctl start elasticsearch
# 查看運行狀態
systemctl status elasticsearch
# 設置開機啟動
systemctl enable elasticsearch
注意:
問題:如果是通過SSH遠程登錄的服務器,啟動ES服務時會報錯,原因是部署ES時創建的elasticsearch用戶默認是禁止shell登錄的,通過切換用戶命令可以看到提示:this account is currently not avaliable。
解決方案:將elasticsearch用戶的shell從“/sbin /nologin”修改為“/bin/bash”即可。
# 修改shell配置,將elasticsearch用戶的shell從“/sbin/nologin”修改為“/bin/bash”
vi /etc/passwd
修改成功后,再次啟動服務即可成功。
2.5 查看ES運行狀態,出現以下信息說明服務啟動成功
curl http://localhost:9200
三、安裝Logstash
3.1 下載安裝logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-x86_64.rpm sudo rpm --install logstash-7.12.0-x86_64.rpm
3.2 修改logstash數據和日志存儲路徑
# 創建目錄,用於存儲logstash數據 mkdir -p /data/logstash/datadir # 修改目錄權限 chown -R logstash:logstash /data/logstash/datadir # 創建日志目錄 mkdir -p /data/logstash/logdir # 修改目錄權限 chown -R logstash:logstash /data/logstash/logdir
3.3 修改logstash配置文件
vi /etc/logstash/logstash.yml
修改信息如下:
# 設置data存儲目錄 path.data: /data/logstash/datadir # 設置配置文件目錄 path.config: /etc/logstash/conf.d # 設置日志存儲目錄 path.logs: /data/logstash/logdir
3.4 啟動logstash
# 啟動服務
systemctl start logstash
# 查看運行狀態
systemctl status logstash
# 設置開機啟動
systemctl enable logstash
3.5 查看logstash運行狀態
# 創建一個軟連接
ln -s /usr/share/logstash/bin/logstash.lib.sh /bin/
# 執行logstash的命令
logstash -e 'input { stdin { } } output { stdout {} }'
執行完上面命令后會出現等待用戶輸入的提示:“The stdin plugin is now waiting for input:”,這時我們輸入測試內容:Jason
四、安裝Kinaba
4.1 下載安裝kinaba
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-x86_64.rpm
sudo rpm --install kibana-7.12.0-x86_64.rpm
默認安裝路徑:/usr/share/kibana/
4.2 修改kibana配置文件
vi /etc/kibana/kibana.yml
修改信息如下:
# 端口,默認5601 server.port: 5601 # 允許所有ip訪問 server.host: "0.0.0.0" # 配置elasticsearch地址 elasticsearch.url: ["http://localhost:9200"] kibana.index: ".kibana"
4.3 啟動kibana服務
# 啟動服務
systemctl start kibana
# 查看運行狀態
systemctl status kibana
# 設置開機啟動
systemctl enable kibana
4.4 查看kibana運行情況
curl http://localhost:5601
至此,Linux下安裝ELK就完成了,后面會再開一篇博客詳細說明如何使用。