天天看點

ELK+FileBeat日志分析系統(正式環境nginx日志)

ELK+FileBeat日志分析系統(正式環境nginx日志)

ELK顧名思義就是:

ElasticSearch、Logstash和Kibana

這裡還用到一個插件那就是filebeat進行進行采集日志

添加filebeat插件現在已經是非常提倡的做法

Logstash太耗費cpu 記憶體等資源了,是以可以通過filebeat來取代它

原理就是通過filebeat進行采集日志,發送到logstash主機然後logstash主機收集之後進行過濾發送到es進行分析友善搜尋,最後用kibana進行圖形化展示

實驗環境為正式環境

節點 服務 IP
proxy02 Nginx / Filebeat 192.168.80.3
log2 ElasticSearch / Logstash / Kibana 192.168.80.52

上傳所需要的安裝包,放到對應的節點

ELK+FileBeat日志分析系統(正式環境nginx日志)
ELK+FileBeat日志分析系統(正式環境nginx日志)
ELK+FileBeat日志分析系統(正式環境nginx日志)
ELK+FileBeat日志分析系統(正式環境nginx日志)

實驗步驟

log2需要jdk(java)/es/logstash/kibana

如jdk已經安裝直接跳過

[root@elasticsearch-master ~]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)           

複制

安裝es

tar zxf elasticsearch-6.3.2.tar.gz
mv elasticsearch-6.3.2 /usr/local/es           

複制

調整系統檔案描述符的軟硬限制

vim /etc/security/limits.conf
 末尾添加
 打開檔案的軟限制,ES要求系統檔案描述符大于65535
* soft nofile 655360
 打開檔案的硬限制
* hard nofile 655360
 使用者可用程序數軟限制
* soft nproc 2048
 使用者可用程序數硬限制
* hard nproc 4096
 JVM能夠使用最大線程數
echo "vm.max_map_count=655360" >> /etc/sysctl.conf
sysctl -p            

複制

配置Elasticsearch服務環境

useradd es
mkdir -p /es/{
   data,logs}  # 日志及資料存放目錄
chown -R es:es /usr/local/es /es # 使用es使用者啟動時,權限不對也會報錯           

複制

網絡對時

ntpdate ntp.ntsc.ac.cn           

複制

重新開機log2主機

編輯elasticsearch.yml配置檔案,ES預設就是叢集模式的,是以隻有一個節點也是叢集模式

vim /usr/local/es/config/elasticsearch.yml 
 取消注釋
cluster.name: my-application
node.name: node-1
 添加
node.master: true
node.data: true
 取消注釋并修改
path.data: /es/data
path.logs: /es/logs
network.host: 192.168.80.52   # 改為本機ip
discovery.zen.minimum_master_nodes: 1 # master的最少節點數
 取消注釋
http.port: 9200           

複制

安裝Kibana

tar zxf kibana-6.3.2-linux-x86_64.tar.gz
mv kibana-6.3.2-linux-x86_64 /usr/local/kibana           

複制

修改Kibana配置檔案

vim /usr/local/kibana/config/kibana.yml
 取消注釋
server.port: 5601
server.host: "192.168.80.52"
 用來連接配接es服務
elasticsearch.url: "http://192.168.80.52:9200"           

複制

安裝Logstash

tar zxf logstash-6.3.2.tar.gz 
mv logstash-6.3.2 /usr/local/logstash           

複制

編輯logstash配置檔案

vim /usr/local/logstash/config/logstash.yml 
 取消注釋
path.config: /usr/local/logstash/config/*.conf  # 配置檔案路徑
config.reload.automatic: true  # 開啟自動加載配置檔案
config.reload.interval: 3s   # 自動加載配置檔案時間間隔
http.host: "192.168.80.52"  # 改為本機ip           

複制

proxy02需要Filebeat/Nginx

Nginx已經安裝跳過

安裝Filebeat

tar zxf filebeat-6.3.2-linux-x86_64.tar.gz 
mv filebeat-6.3.2-linux-x86_64 /usr/local/filebeat           

複制

整合環境

修改filebeat配置檔案,将本機的nginx日志檔案打标簽為nginx,友善elasticsearch來建立索引

proxy02

vim /usr/local/filebeat/filebeat.yml
 添加注釋
 filebeat.inputs:
- type: log
 paths:
    - /var/log/*.log
 添加以下内容為inputs配置
filebeat:
  prospectors:
    - type: log
      paths:
        - /usr/local/nginx/logs/access.log
      tags: ["nginx"]
 修改
  enabled: true # 表示以上配置是否生效
 添加注釋
 output.elasticsearch:
  hosts: ["localhost:9200"]
 取消注釋
output.logstash:
  hosts: ["192.168.80.52:5044"]  # 該ip為logstash的主機ip           

複制

log2

建立nginx-logstash.conf檔案,用來比對日志索引

vim /usr/local/logstash/config/nginx-logstash.conf
添加:
input {
   
  beats {
   
    port => 5044  # filebeat端口号
  }
}
 
output {
   
  elasticsearch {
    
    hosts => "192.168.80.52:9200"   # 該ip為elasticsearch的ip和端口
    index => "nginx"  # 資料索引名
  }
}           

複制

進行啟動

log2

啟動es

su es
/usr/local/es/bin/elasticsearch           

複制

proxy02

啟動filebeat

/usr/local/filebeat/filebeat -c /usr/local/filebeat/filebeat.yml           

複制

log2

啟動logstash

/usr/local/logstash/bin/logstash -t /usr/local/logstash/config/nginx-logstash.conf           

複制

log2

啟動kibana

/usr/local/kibana/bin/kibana           

複制

各個服務啟動之後阻塞資訊都是INFO就沒問題,遇到WARN是no route的就關閉防火牆或者放行端口

在通路kibana的ip:5601,http://192.168.80.52:5601

ELK+FileBeat日志分析系統(正式環境nginx日志)

進入管理界面,通過設定索引樣式可以比對出具體索引的資料

ELK+FileBeat日志分析系統(正式環境nginx日志)

設定在這個索引裡使用時間字段來進行過濾資料

ELK+FileBeat日志分析系統(正式環境nginx日志)

建立成功

ELK+FileBeat日志分析系統(正式環境nginx日志)

建立可視化圖表

ELK+FileBeat日志分析系統(正式環境nginx日志)

選擇樣式為條形圖樣式

ELK+FileBeat日志分析系統(正式環境nginx日志)

選擇為剛才建立的索引資料生成圖表

ELK+FileBeat日志分析系統(正式環境nginx日志)

右上方可儲存圖表,自動重新整理間隔,時間次元

ELK+FileBeat日志分析系統(正式環境nginx日志)
ELK+FileBeat日志分析系統(正式環境nginx日志)

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/101945.html原文連結: