elk7.2+filebeat

ELK (Elasticsearch + Logstash + Kibana),是一個開源的日誌收集平臺,用於收集各類客戶端日誌文件在同一個平臺上面作數據分析。

ELK組件:

  • Elasticsearch:負責日誌檢索和儲存
  • Logstash:負責日誌的收集和分析、處理
  • Kibana:負責日誌的可視化
  • 這三款軟件都是開源軟件,一般是配合使用,並且又前後歸於Elastic.co公司名下,故被簡稱爲ELK

ELK安裝:

一:環境java

 

 

 

說明:安裝包版本均使用7.2.0,同時客戶端使用Firebeat採集日誌數據,建議提早下好安裝包上傳至服務器node

若是是壓縮包安裝需添加elk用戶,Elasticsearch用root啓動會報錯nginx

groupadd  elk
useradd -g elk elk 
passwd elk

 

安裝java8:vim

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

 

二:安裝 Elasticsearch:  這裏使用rpm包安裝服務器

 

rpm -ivh elasticsearch-7.2.0-x86_64.rpm
rpm -ivh kibana-7.2.0-x86_64.rpm
rpm -ivh logstash-7.2.0.rpm

 rpm 安裝後會自東生成system服務app

啓動  systemctl start elasticearchcurl

啓動後默認監聽端口elasticsearch

修改配置文件工具

vim /etc/elasticsearch/elasticsearch.yml測試

cluster.name: my-application
node.name: es1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: "0.0.0.0"
http.port: 9200
cluster.initial_master_nodes: ["es1"]

驗證  curl  127.0.0.1:9200 (備註:單機默認配置無需修改,如需配置network-host等配置,必須設置

cluster.initial_master_nodes: ["es1"],否者啓動會報錯)

 

rpm安裝的安裝包配置文件默認均在/etc/相關目錄下

三: kibana配置(rpm包上面已經安裝,直接修改配置文件)

vim  /etc/kibana/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
server.name: "es1"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
kibana.index: ".kibana"

 

systemctl start kibana

修改yml文件注意格式,key和vlaue必須有空格

kibana默認監聽5601端口

訪問http://192.168.18.144:5601

 四:logstash配置

vim /etc/logstash/logstash.yml

path.data: /var/lib/logstash
path.config: "/etc/logtash/conf.d"
path.logs: /var/log/logstash

 

 這裏加入了一個include的目錄

同時連接到軟件目錄下方便後面修改

 ln -s /etc/logstash /usr/share/logstash/config

編輯一個測試文件

vim /usr/share/logstash/config/conf.d/test.conf

input{
  file{
    path => ["/var/log/elasticsearch"]
    type => "elasticsearch-log"
    start_position => "beginning"
  }
}

filter{

}

output{
  elasticsearch{
    hosts => ["127.0.0.1:9200"]
    index => "system-log-%{+YYYY.MM.dd}"
  }
}

 

關閉system啓動方式

system disabled logstash

啓動:/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/conf.d/test.conf

啓動後就能夠在kibana上看到信息了(這種啓動方式當你關閉終端,或者ctrl+c時logstash就會退出。建議使用supervisord守護進程,詳細會在後續文章放出)

建立以後就能夠在儀表盤看到日誌信息了

 五:安裝filebeat

Filebeat是一個日誌文件託運工具,在你的服務器上安裝客戶端後,filebeat會監控日誌目錄或者指定的日誌文件,追蹤讀取這些文件(追蹤文件的變化,不停的讀),而且轉發這些信息到elasticsearch或者logstarsh中存放

rpm -ivh filebeat-7.2.0-x86_64.rpm

 更改配置文件(備份原來的配置文件新建一份)

    vim /etc/filebeat/filebeat.yml  (7.2版本   filebeat.prospectors參數廢棄)

filebeat.inputs:
- input_type: log
enabeld: true
paths:
- /var/log/elasticsearch/*.log

output.logstash:
hosts: ["127.0.0.1:5044"]

日誌輸出到logstash,因此對應要修改logstash的啓動配置文件,設置logstash監聽在5044端口

input{
  beats{
    port => "5044"    
  }
}
 
filter{
 }
 
output{
  elasticsearch{
    hosts => ["127.0.0.1:9200"]
    index => "system-log-%{+YYYY.MM.dd}"
  }
}

  啓動 systemctl  start  filebeat

六:nginx反向代理kibana並設置登陸驗證

Kibana的登陸驗證插件是收費功能,這裏咱們使用nginx來反向代理並設置登陸驗證。
用來安裝nginx的服務器IP是192.168.18.154
nginx安裝過程不在贅述
須要安裝httpd的密碼文件工具
yum -y install httpd-tools
htpasswd -c -b /etc/nginx/passwd/kibana.passwd kibana kibana123(注意建立目錄)

 

 編輯nginx配置文件

vim /etc/nginx/conf.d/kibana.conf

server
{
 listen 80;
   server_name kibana.shiji.com;
   access_log /var/log/nginx/kibana/kinaba_access.log main;
   error_log /var/log/nginx/kibana/kinaba_error.log;

   auth_basic "Kibana Auth";
   auth_basic_user_file /etc/nginx/passwd/kibana.passwd;

 location / {
    proxy_pass http://192.168.18.144:5601;
    proxy_redirect off;
   }

}

 

 最後效果

 

本站公眾號
   歡迎關注本站公眾號,獲取更多信息