ELK(elasticsearch、logstash、kibana)能夠做爲日誌收集及分析的一整套系統,經過阿里的普及也有愈來愈多的公司在使用,使用下來功能還能夠,這裏整理記錄一個部署手冊。 爲了方便,將ELK都部署在一臺os裏。java
1、環境準備node
操做系統:centos7(CentOS-7-x86_64-Minimal-1708)python
CPU:1核docker
內存:4Gbootstrap
能夠在你的windows上安裝CRT遠程執行命令行和傳輸文件。vim
1.1 安裝vim、wgetwindows
yum install -y vim wgecentos
2、安裝Java環境跨域
根據官方的描述,ruby
Elasticsearch要求是java8以上。
Logstash要求是Java 8,不支持Java 9。
yum -y install epel* java
# 能夠用下面的命令查看java的環境變量是否生效出現下面的內容就說明java的jdk已經部署完。
jjava -version
3、部署elasticsearch
3.1 yum安裝elasticsearch
# 獲取rpm包
wget https:
/
/
artifacts.elastic.co
/
downloads
/
elasticsearch
/
elasticsearch
-
7.1
.
1
-
x86_64.rpm
# 安裝
rpm
-
ivh elasticsearch
-
7.1
.
1
-
x86_64.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保存。
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正常啓動。
4、部署logstash
4.1 yum安裝logstash
# 獲取rpm包
wget https:
/
/
artifacts.elastic.co
/
downloads
/
logstash
/
logstash
-
7.1
.
1.rpm
# 安裝
rpm
-
vih logstash
-
7.1
.
1.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保存。
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」回車,返回下面標準的輸出。
5、部署kibana
5.1 yum安裝kibana
# 獲取安裝包
wget https:
/
/
artifacts.elastic.co
/
downloads
/
kibana
/
kibana
-
7.1
.
1
-
x86_64.rpm
# 安裝
rpm
-
ivh kibana
-
7.1
.
1
-
x86_64.rpm
5.2 修改kibana.yml
# 搜索rpm包
rpm -ql kibana
默認是裝在/usr/share/kibana/下。
# 修改kibana的配置文件
vim /etc/kibana/kibana.yml
# 修改kibana.xml下面的內容,wq保存。
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