一、環境準備
1.1 安裝vim、wget
yum install -y vim wget
二、安裝Java環境
根據官方的描述,
Elasticsearch要求是java8以上。
Logstash要求是Java 8,不支持Java 9。
官網:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
進入後,選擇“Accept License Agreement”, 在自己電腦下載“jdk-8u201-linux-x64.rpm”,通過Bitvise SSH Client上傳到/root目錄下。
安裝
cd
rpm -ivh jdk-8u151-linux-x64.rpm
可以用下面的命令查看java的環境變量是否生效
java -version
出現下面的內容就說明java的jdk已經部署完成。
2.3 刪除/root下的安裝包(非必要,用於生產環境建議刪除)
rm -rf /root/jdk-8u151-linux-x64.tar.gz
三、部署elasticsearch
3.1 yum安裝elasticsearch
獲取rpm包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.0.rpm
安裝
rpm -ivh elasticsearch-6.1.0.rpm
#查找安裝路徑
rpm -ql elasticsearch
一般是裝在/usr/share/elasticsearch/下。
3.2 設置data的目錄
創建/data/es-data目錄,用於elasticsearch數據的存放
mkdir -p /data/es-data
修改該目錄的擁有者爲elasticsearch
chown -R elasticsearch:elasticsearch /data/es-data
3.3 設置log的目錄
創建/data/es-log目錄,用於elasticsearch日誌的存放
mkdir -p /log/es-log
修改該目錄的擁有者爲elasticsearch
chown -R elasticsearch:elasticsearch /log/es-log
3.4 修改配置文件elasticsearch.yml
vim /etc/elasticsearch/elasticsearch.yml
根據下面的內容進行修改,wq保存。
複製代碼
#設置data存放的路徑爲/data/es-data
path.data: /data/es-data
#設置logs日誌的路徑爲/log/es-log
path.logs: /log/es-log
#設置內存不使用交換分區
bootstrap.memory_lock: false
#配置了bootstrap.memory_lock爲true時反而會引發9200不會被監聽,原因不明
#設置允許所有ip可以連接該elasticsearch
network.host: 0.0.0.0
#開啓監聽的端口爲9200
http.port: 9200
#增加新的參數,爲了讓elasticsearch-head插件可以訪問es (5.x版本,如果沒有可以自己手動加)
http.cors.enabled: true
http.cors.allow-origin: "*"
複製代碼
3.5 啓動elasticsearch
啓動
systemctl start elasticsearch
查看狀態
systemctl status elasticsearch
設置開機啓動
systemctl enable elasticsearch
3.6 開啓9200端口
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --reload
3.7 測試安裝是否成功
安裝net-tools
yum install -y net-tools
檢查9200是否有監聽
netstat -antp |grep 9200
curl http://127.0.0.1:9200
有下面類似的內容才說明elasticsearch正常啓動。
四、部署logstash
4.1 yum安裝logstash
獲取rpm包
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.1.0.rpm
安裝
rpm -ivh logstash-6.1.0.rpm
4.2 設置data的目錄
創建/data/ls-data目錄,用於logstash數據的存放
mkdir -p /data/ls-data
修改該目錄的擁有者爲logstash
chown -R logstash:logstash /data/ls-data
4.3 設置log的目錄
創建/data/ls-log目錄,用於logstash日誌的存放
mkdir -p /log/ls-log
修改該目錄的擁有者爲logstash
chown -R logstash:logstash /log/ls-log
4.4 修改配置文件logstash.yml
vim /etc/logstash/logstash.yml
根據下面的內容進行修改,wq保存。
複製代碼
設置數據的存儲路徑爲/data/ls-data
path.data: /data/ls-data
設置管道配置文件路徑爲/etc/logstash/conf.d
path.config: /etc/logstash/conf.d
設置日誌文件的存儲路徑爲/log/ls-log
path.logs: /log/ls-log
複製代碼
sudo /usr/share/logstash/bin/system-install /etc/logstash/startup.options systemd
4.5 啓動logstash
啓動
systemctl start logstash
查看狀態
systemctl status logstash
設置開機啓動
systemctl enable logstash
4.6 測試安裝是否成功
查看下logstash的安裝目錄
rpm -ql logstash
創建一個軟連接,每次執行命令的時候不用在寫安裝路徑(yum安裝是在/usr/share下)
ln -s /usr/share/logstash/bin/logstash /bin/
執行logstash的命令
logstash -e 'input { stdin { } } output { stdout {} }'
等待片刻後出現“The stdin plugin is now waiting for input:”,輸入“abc”回車,有返回的輸出。
ctrl+c退出。
如果標準輸出還有elasticsearch中都需要保留,看下面
192.168.12.16是試驗elk的ip
/usr/share/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["192.168.12.16:9200"] } stdout { codec => rubydebug }}'
等待片刻後出現“The stdin plugin is now waiting for input:”,輸入“test”回車,返回下面標準的輸出。
五、部署kibana
5.1 yum安裝kibana
獲取安裝包
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.0-x86_64.rpm
安裝
rpm -ivh kibana-6.1.0-x86_64.rpm
5.2 修改kibana.yml
搜索rpm包
rpm -ql kibana
默認是裝在/usr/share/kibana/下。
修改kibana的配置文件
vim /etc/kibana/kibana.yml
修改kibana.xml下面的內容,wq保存。
複製代碼
#kibana頁面映射在5601端口
server.port: 5601
#允許所有ip訪問5601端口
server.host: "0.0.0.0"
#elasticsearch所在的ip及監聽的地址
elasticsearch.url: "http://localhost:9200"
kibana.index: ".kibana"
複製代碼
5.3 啓動kibana
啓動
systemctl start kibana
查看狀態
systemctl status kibana
設置開機啓動
systemctl enable kibana
5.4 開放端口5601
設置防火牆
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --reload
curl:http:// ip:5601