1.安装filebeat:

[root@nginx ~]# vim /usr/local/filebeat/filebeat.yml

[root@nginx ~]# tar xf filebeat-6.2.4-linux-x86_64.tar.gz

[root@nginx ~]# mv filebeat-6.2.4-linux-x86_64 /usr/local/filebeat

[root@nginx ~]# cp /usr/local/filebeat/filebeat.yml{,.default}

2.修改filebeat配置文件:

filebeat.prospectors:

- type: log

  paths:

    - /usr/local/nginx/logs/access.log

    - /usr/local/nginx/logs/error.log

output.logstash:

  hosts: ["192.168.200.133:5044:"]

3.创建新的logstash配置文件:

[root@Logstash ~]# vim /usr/local/logstash/config/web.conf

input {

  beats {

    port => "5044"            #连接filebeat的端口

  }

}

filter {

   if [type] == "apache" {               #判断类型

    grok {

    match => { "message" => "%{COMBINEDAPACHELOG}" }  #是Apache就用Apache日志格式

  }

    date {

    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]

    target => ["datetime"]

  }

    geoip {

    source => "clientip"

  }

 

   }

   else if [type] == "nginx"{

    grok {

    match => { "message" => "%{NGINXACCESS}" }       #是Nginx就用Nginx日志格式

 

  }

  date {

    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]

    target => ["datetime"]

  }

  geoip {

    source => "clientip"

  }

 

}

}  

output {

  elasticsearch {

    hosts => "192.168.200.132:9200"

    index => "access_log"              #日志索引

  }

  stdout { codec => rubydebug }

}

4.因为logstash默认没有Nginx日志格式需要手动创建添加:

[root@Logstash ~]# vim /usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/nginx

#将下面内容添加到文件里即可,下面内容是日志格式,和格式内容:

URIPARM1 [A-Za-z0-9$.+!*'|(){},~@#%&/=:;_?\-\[\]]*

URIPATH1 (?:/[A-Za-z0-9$.+!*'(){},~:;=@#%&_\- ]*)+

URI1 (%{URIPROTO}://)?(?:%{USER}(?::[^@]*)?@)?(?:%{URIHOST})?(?:%{URIPATHPARAM})?

NGINXACCESS %{IPORHOST:remote_addr} - (%{USERNAME:user}|-) \[%{HTTPDATE:log_timestamp}\] %{HOSTNAME:http_host} %{WORD:request_method} \"%{URIPATH1:uri}\" \"%{URIPARM1:param}\" %{BASE10NUM:http_status} (?:%{BASE10NUM:body_bytes_sent}|-) \"(?:%{URI1:http_referrer}|-)\" (%{BASE10NUM:upstream_status}|-) (?:%{HOSTPORT:upstream_addr}|-) (%{BASE16FLOAT:upstream_response_time}|-) (%{BASE16FLOAT:request_time}|-) (?:%{QUOTEDSTRING:user_agent}|-) \"(%{IPV4:client_ip}|-)\" \"(%{WORD:x_forword_for}|-)\"

注:日志默认路径/usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/

5.先启动logstash再启动filebeat:

[root@Logstash logstash]# bin/logstash -f config/apache.conf

[root@nginx filebeat]# ./filebeat -e -c filebeat.yml

6.logstash输出日志信息:

"request" => "/",

     "@timestamp" => 2018-05-18T00:02:37.561Z,

           "tags" => [

        [0] "beats_input_codec_plain_applied",

        [1] "_geoip_lookup_failure"

    ],

           "host" => "nginx",

       "@version" => "1",

           "beat" => {

            "name" => "nginx",

        "hostname" => "nginx",

         "version" => "6.2.4"

    },

           "verb" => "GET",

    "httpversion" => "1.1",

       "clientip" => "192.168.200.2",

         "offset" => 3983,

       "response" => "200",

          "ident" => "-",

           "auth" => "-",

      "timestamp" => "18/May/2018:07:29:25 +0800",

          "agent" => "\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36\"",

     "prospector" => {

        "type" => "log"

    },

7.访问kibana查看Nginx日志:

.Nginx安装filebeat收集日志:的更多相关文章

  1. ELK之在windows安装filebeat收集日志

    登录官方网站下载filebeat的windows客户端 https://www.elastic.co/downloads/beats 下载压缩包,无需解压 修改配置文件filebeat.yml 其余设 ...

  2. filebeat收集日志到elsticsearch中并使用ingest node的pipeline处理

    filebeat收集日志到elsticsearch中 一.需求 二.实现 1.filebeat.yml 配置文件的编写 2.创建自定义的索引模板 3.加密连接到es用户的密码 1.创建keystore ...

  3. 第十一章·Filebeat-使用Filebeat收集日志

    Filebeat介绍及部署 Filebeat介绍 Filebeat附带预构建的模块,这些模块包含收集.解析.充实和可视化各种日志文件格式数据所需的配置,每个Filebeat模块由一个或多个文件集组成, ...

  4. 使用filebeat收集日志传输到redis的各种效果展示

    0 环境 Linux主机,cengtos7系统 安装有openresty软件,用来访问生成日志信息 1.15.8版本 安装有filebeat软件,用来收集openresty的日志 7.3版本 安装有r ...

  5. ELK日志方案--使用Filebeat收集日志并输出到Kafka

    1,Filebeat简介 Filebeat是一个使用Go语言实现的轻量型日志采集器.在微服务体系中他与微服务部署在一起收集微服务产生的日志并推送到ELK. 在我们的架构设计中Kafka负责微服务和EL ...

  6. elk-日志方案--使用Filebeat收集日志并输出到Kafka

      1,Filebeat简介 Filebeat是一个使用Go语言实现的轻量型日志采集器.在微服务体系中他与微服务部署在一起收集微服务产生的日志并推送到ELK. 在我们的架构设计中Kafka负责微服务和 ...

  7. filebeat收集日志传输到Redis集群,logstash从Redis集群中拉取数据

    前提:已配置好Redis集群,并设置的有统一的访问密码 架构是filebeat-->redis集群-->logstash->elasticsearch,需要修改filebeat的输出 ...

  8. ELK学习实验016:filebeat收集tomcat日志

    filebeat收集tomcat日志 1 安装tomcat [root@node4 ~]# yum -y install tomcat tomcat-webapps tomcat-admin-weba ...

  9. ELK+filebeat+redis 日志分析平台

    一.简介 ELK Stack是软件集合Elasticsearch.Logstash.Kibana的简称,由这三个软件及其相关的组件可以打造大规模日志实时处理系统. 其中,Elasticsearch 是 ...

随机推荐

  1. 1、1通过maven建立spring boot项目(不用联网)

    1.把以前spring boot项目的pom.xml导入进来 2.修改pom.xml  里面项目名改成自己项目名 3.复制配置文件 spring: datasource: url: jdbc:mysq ...

  2. [转帖]CentOS 8 正式发布

    CentOS 8 正式发布   终于发布了.. https://news.cnblogs.com/n/640416/ 前几天刚弄完centos7.7 的环境. CentOS 8 官方正式发布了!!!C ...

  3. java积累的细节问题

    一.将几个数字进行拼接,拼接成字符串 一定要将""放到几个数字之前,否则就会把数字相加之后的数转化成字符串 如你需要拼接年份,月份,和日 如果:2018+12+13+"& ...

  4. Office 2016、2019 与 Office 365 的区别

    点开观看更清晰:

  5. linux破解navicat for mysql

    第一次执行start_navicat时,会在用户主目录下生成一个名为.navicat64的隐藏文件夹. cd ~/.navicat64 此文件夹下有一个system.reg文件 rm system.r ...

  6. Python之数字的四舍五入(round(value, ndigits) 函数)

    round(value, ndigits) 函数 print(round(1.23)) # 1 print(round(1.27)) # 1 print(round(1.23,1)) # 1.2 第二 ...

  7. centOS 7单机安装 kong

    kong 网关 单机部署 环境:centOS 7:依赖:jdk1.8 安装内容:postgresql数据库, kong 网关,nodeJs和npm,kong Dashboard (可视化管理界面) 版 ...

  8. python实现tcp代理

    1.代理流程图 2.实现代码 #! usr/bin/python2 import sys import socket import thread #handle local buffer def re ...

  9. 三、eureka服务端获取服务列表

    所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 eureka服务端维护了一个服务信息的列表,服务端节点之间相互复制服务信息.而作为eur ...

  10. Servlet实现图片读取显示

    1.导入jar包:commons-io-1.4.jar 2.index.jsp: <%@ page language="java" import="java.uti ...