文章目錄
- 1 Filebeat簡介
-
- 1.1 工作流程
- 2. Filebeat配置
-
- 2.1 下載下傳使用
- 2.2 配置修改
- 2.3 nginx配置修改
1 Filebeat簡介
Filebeat是一個日志檔案轉發工具,在伺服器上安裝後,filebeat會監控日志目錄或者指定的日志檔案,追蹤讀取這些檔案并轉發這些資訊到elasticsearch或者logstarsh中存放。
1.1 工作流程
當你開啟filebeat程式的時候,它會啟動一個或多個探測器(prospectors)去檢測你指定的日志目錄或檔案,對于探測器找出的每一個日志檔案,filebeat啟動收割程序(harvester),每一個收割程序讀取一個日志檔案的新内容,并發送這些新的日志資料到處理程式(spooler),處理程式會集合這些事件,最後filebeat會發送集合的資料到你指定的地點。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSPNR0T0EEVPdXQU90MRRVT4hnMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzgTO0IDNzUTMyAzMwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
2. Filebeat配置
2.1 下載下傳使用
根據系統來下載下傳安裝filebeat。
https://www.elastic.co/downloads/past-releases/
2.2 配置修改
修改配置檔案
filebeat.yml
filebeat.prospectors:
- input_type: log
paths:
- /usr/local/nginx/logs/access_ods.log #日志檔案,可以使用通配符*
- /usr/local/nginx/logs/access_gateway.log
encoding: utf-8
tail_files: true #tail讀取檔案模式
tags: ["nginx","access"] #額外添加的标簽
output.logstash:
hosts: ["10.253.128.4:5044"] #logstash beats位址及端口
compression_level: 3
loadbalance: true
2.3 nginx配置修改
修改nginx配置檔案
conf/nginx.conf
,增加或修改為如下配置
#日志輸出格式
log_format xxxx '{"@timestamp":"$time_iso8601",'
'"host":"$server_addr",'
'"clientip":"$remote_addr",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"upstreamtime":"$upstream_response_time",'
'"upstreamhost":"$upstream_addr",'
'"http_host":"$host",'
'"url":"$uri",'
'"type":"xxxx",' #代理的項目名,根據項目定義
'"referer":"$http_referer",'
'"agent":"$http_user_agent",'
'"status":"$status"}';
location /xxxx {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log logs/access_xxxx.log xxxx; #日志輸出并指定上面自定義的輸出格式
}