前言

Elkfilebeat搜集日志工具logstash相同

Filebeat是一个轻量级日志收集工具,所使用的资源比logstash部署启动时使用的资源更小

Filebeat可以运行在非Java环境,他可以代理logstash在非Java环境收集日志

Filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一块使用

Filebeat收集的数据可以发往多个主机远程收集

核心图:

本地采集

实验环境

elk的基础上新加一台虚拟机安装filebeat

安装filebeat

修改默认路径

时间同步

yum install ntpdatey

ntpdate ntp.aliyun.com

安装Nginxhttpd

验证

如何直接收集nginx日志

配置filebeat:

路径

注释elasticsearch outputs

取消注释打开logsttash output

创建目录

一个脚本

为了实验效果添加一个标准输出

开始收集,发送

Nohup表示后台记录执行命令过程

./filebeat运行文件

-e使用标准输出的同时进行syslog文件输出

c指定配置文件

执行过程输出filebeat.out这个文件当中。&表示后台运行

查看是否报错successful表示成功

开启logstash收集,接收

访问测试(多刷几遍,以防收集不到,404也多刷几遍)访问错误日志,以便观察

Logstash收集日志的过程

Input(从哪里收集)

Filebeat(过滤)

Output发送ES实例

远程收集,远程收集多个日志

打开数据库的日志功能

表中插入一些数据(便于实验效果查看)

安装一个nginx和一个http

加一访问内容访问测试

开始收集日志准备

多余的注释信息全部删掉

Nginx模块

filebeat.inputs:

type: log

  enabled: true

  paths:

    – /var/log/nginx/access.log

    – /var/log/nginx/error.log

  tags: [“nginx_54″]

  fields:

    service_name: 20.0.0.54_nginx

    log_type: nginx

    from: 20.0.0.54

http模块

type: log

  enabled: true

  paths:

    – /etc/httpd/logs/access_log

    – /etc/httpd/logs/error_log

  tags: [“httpd_54″]

  fields:

    service_name: 20.0.0.54_httpd

    log_type: httpd

    from: 20.0.0.54

Mysql模块

type: log

   enabled: true

   paths:

     – /usr/local/mysql/data/mysql_general.log

   tags: [“mysql_54″]

   fields:

     service_name: 20.0.0.54_mysqld

     log_type: mysql

     from: 20.0.0.54

注意:把这个三个的tags改一下(tags做一下区分)

总览图:

格式对齐,要一模一样,一个符号都不能差

取消注释

回到elk收日志,便于查看是否命中,可以加上方框那一行可以不加

input {

   beats { port => “5045” }

}

output {

    if “nginx_54″ in [tags] {

    elasticsearch {

        hosts => [“20.0.0.52:9200″,”20.0.0.53:9200”]

        index =>”%{[fields][service_name]}-%{+YYYY.MM.dd}”

    }

   }

   if “httpd_54″ in [tags] {

    elasticsearch {

        hosts => [“20.0.0.52:9200″,”20.0.0.53:9200”]

        index =>”%{[fields][service_name]}-%{+YYYY.MM.dd}”

    }

   }

   if “mysql_54″ in [tags] {

    elasticsearch {

        hosts => [“20.0.0.52:9200″,”20.0.0.53:9200”]

        index =>”%{[fields][service_name]}-%{+YYYY.MM.dd}”

    }

   }

   stdout {

    codec => rubydebug

  }

}

启动后台运行,开始传送

nohup ./filebeat -e –c filebeat.yml > filebeat.out &

打开filebeat日志,便于观察

Logstash启动运行,收集日志

logstash -f nginx_54.confpath.data /opt/test12&

涉及改端口问题

Logstash可以使用任意端口,只要没被在占用,都可以使用,推荐从1024之后开始使用

5044

5045

5046

端口

ES查看        

如何对logstash性能上的优化(小优化):

Logstash启动是在Jam虚拟当中启动,启动一次至少要占500M内存

Pipeline.workers:2

Logstash工作线程默认就是CPU数,4 2 8 4给一半即可,2核,2个

一次性可以处理检索事件大小125条数,200

查询更新延时,50毫秒,也可以自行调整,生产中一般都是15 10毫秒

原文地址:https://blog.csdn.net/wutong0824/article/details/134767316

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_36024.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注