centos7 部署 ELK 日誌系統

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保存。 

#設置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
cluster.name: "docker-cluster"
network.host: 0.0.0.0

# custom config
node.name: "node-1"
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
cluster.initial_master_nodes: ["node-1"]

#開啓監聽的端口爲9200
http.port: 9200

#增長新的參數,爲了讓elasticsearch-head插件能夠訪問es (5.x版本,若是沒有能夠本身手動加)
# 開啓跨域訪問支持,默認爲false
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正常啓動。

   


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保存。

# 設置數據的存儲路徑爲/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」回車,返回下面標準的輸出。

  


 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保存。

#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
相關文章
相關標籤/搜索