ELK系列(一)、安裝ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK是目前最流行的日誌分析套件,基於lucence,提供全文檢索功能,ES是目前最快的索引型數據庫並提供RESTful接口,對開發人員很友好,橫向擴展,Logstash提供多種插件,支持各類日誌格式的定製和插件並實時將日誌內容寫入ES或其他目標源,Kibana提供對ES數據的展示功能,多用於日誌檢索,實時報表。

已經是大名鼎鼎的產品了,不多廢話,直接上乾貨,這裏就使用目前最新的7.7.0版本。

下載

全部下載: https://www.elastic.co/cn/downloads

ES: https://www.elastic.co/cn/downloads/elasticsearch

Kibana: https://www.elastic.co/cn/downloads/kibana

Logstash: https://www.elastic.co/cn/downloads/logstash

Filebeat: https://www.elastic.co/cn/downloads/beats/filebeat

這裏下載tar.gz版。

-------------------------------------安裝----------------------------------

JDK

ES是基於JVM的,所以需要安裝1.8的JDK。

rpm -ivh jdk-8u192-linux-x64.rpm

vi /etc/profile
export JAVA_HOME=/usr/java/latest

vi .bash_profile
export PATH=$JAVA_HOME/bin:$PATH

查看java版本:
java -version

ElasticSearch

解壓tar包

tar zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz -C /opt/app/

創建data和logs目錄

mkdir /opt/app/elasticsearch-7.7.0/data
mkdir /opt/app/elasticsearch-7.7.0/logs

配置文件

vim /opt/app/elasticsearch-7.7.0/config/elasticsearch.yml

cluster.name: MyES  #集羣名稱
node.name: node01    #本節點名稱
path.data: /opt/app/elasticsearch-7.7.0/data    #數據存儲目錄
path.logs: /opt/app/elasticsearch-7.7.0/logs    #日誌存儲目錄
network.host: 0.0.0.0     #所有機器都可監聽
http.port: 9200        #默認端口
cluster.initial_master_nodes: ["node01"]  #主節點名稱,與上面配置的保持一致

JVM配置

因爲ES是基於Java開發的,所以依賴於JVM,有需求可以修改JVM屬性:

vim /opt/app/elasticsearch-7.7.0/config/jvm.options

-Xms4g
-Xmx4g

創建elk用戶

ES不允許使用root用戶啓動,所以我們創建一個elk用戶:

useradd elk

chown -R elk:elk elasticsearch-7.7.0

啓動:

su elk

$ES_HOME/bin/elasticsearch

報錯:

ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /opt/app/elasticsearch-7.7.0/logs/MyES.log

查看機器限制:

ulimit -Sn
ulimit -Hn

修改限制:

vim /etc/security/limits.conf

*       soft    nproc           65535
*       hard    nproc           65535
elk       soft    nproc           4096
elk       hard    nproc           4096

vim /etc/sysctl.conf

vm.swappiness = 0
vm.max_map_count=262144

執行命令sysctl -p另其生效:

切換elk用戶再次啓動ES,在瀏覽器中輸入node01:9200驗證,出現下面的結果說明已正常安裝並啓動:

編寫啓停腳本 start-es.sh以及stop-es.sh

start-es.sh

sudo -u elk nohup $ES_HOME/bin/elasticsearch >> $ES_HOME/output.log 2>&1 &

stop-es.sh

#!/bin/bash
PROCESS=`ps -ef | grep 'elasticsearch-7.7.0' |grep -v grep | grep -v PPID | awk '{ print $2}'`
echo $PROCESS
for i in $PROCESS
do
  echo "Kill the elasticsearch process [ $i ]"
  kill -9 $i
done

Logstash

解壓

tar -zxvf /home/wyk/logstash-7.7.0.tar.gz -C /opt/app/

解壓即是安裝結束,下面是個小例子:

新增一個配置文件: 讀取日誌文件打印到窗口中

vim $LS_HOME/config/logstash-csdn.yml

input {
  # 從文件讀取日誌信息
 file {
      path => "/var/log/messages"
      type => "system"
      start_position => "beginning"
      }
}
filter {

}
output {
  # 標準輸出
  stdout {}
}

執行配置文件:

cd $LS_HOME
bin/logstash -f config/logstash-csdn.yml

 

 

Kibana

解壓

tar -zxvf /home/wyk/kibana-7.7.0-linux-x86_64.tar.gz -C /opt/app/

 配置

vim config/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"] #ES所在的ip
#elasticsearch.username: "kibana"  #如果ES有配置用戶則這裏需要配置用戶密碼
#elasticsearch.password: "123456"

chown -R elk:elk /opt/app/kibana-7.7.0-linux-x86_64

啓動:

$KB_HOME/bin/kibana

瀏覽器登錄node01:5601 ,出現下面的界面即成功

編寫啓停腳本start-kb.sh 和stop-kb.sh

start-kb.sh

#!/bin/bash
sudo -u elk  nohup $KB_HOME/bin/kibana > $KB_HOME/output.log 2>&1 &

stop-kb.sh

#!/bin/bash
PROCESS=`ps -ef | grep 'kibana' |grep -v grep | grep -v PPID | awk '{ print $2}'`
echo $PROCESS
for i in $PROCESS
do
  echo "Kill the kibana process [ $i ]"
  kill -9 $i
done

 

如果對你有幫助請點個贊~~謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章