centos7 部署 ELK 日志系統


===============================================

 2018/9/21_第5次修改                       ccb_warlock

 

 更新說明:

 2018/9/21:修改了3.1 es獲取rpm包地址錯誤的問題

 2017/12/24:補全部署內容;

 2017/12/25:修改部署存在的問題,修改描述不合理的內容;

 2017/5/7:修改4.2描述錯誤的內容;

===============================================

 

 ELK(elasticsearch、logstash、kibana)可以作為日志收集及分析的一整套系統,通過阿里的普及也有越來越多的公司在使用,使用下來功能還可以,這里整理記錄一個部署手冊。

 為了方便,將ELK都部署在一台os里。 

 


一、環境准備

 操作系統:centos7(CentOS-7-x86_64-Minimal-1708)

 CPU:1核

 內存:4G

 

 可以在你的windows上安裝Bitvise SSH Client遠程執行命令行和傳輸文件。

 

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-8u151-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

 

 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM