1. 程式人生 > >centos7 部署 ELK 日誌系統

centos7 部署 ELK 日誌系統

stash 修改配置 ali 分享 install .cn data entos 生產環境

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

2017/12/17_第1次修改 ccb_warlock

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

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環境

2.1 部署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.tar.gz”;

技術分享圖片

將下載的jdk-8u151-linux-x64.tar.gz上傳到/root目錄下。

# 解壓到/usr/local/下

cd
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/

2.2 設置java環境變量

# 修改profile文件

vim /etc/profile

在最後添加下面的內容,wq保存。

export JAVA_HOME=/usr/local/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME
/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH

# 讓profile文件立即生效

source /etc/profile

# 可以用下面的命令查看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/logstash/logstash-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不會被監聽,原因不明

#設置監聽的網絡地址為0.0.0.0
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

休息了,明天再寫。。

centos7 部署 ELK 日誌系統