一,软件介绍

  Filebeat是一个轻量级日志传输Agent,可以将指定日志转发到Logstash、Elasticsearch、Kafka、Redis等中。Filebeat占用资源少,而且安装配置也比较简单,Filebeat附带了内部模块(auditd、Apache、Nginx、System和MySQL),这些模块简化了普通日志格式的聚集、解析和可视化。结合使用基于操作系统的自动默认设置,使用Elasticsearch Ingest Node的管道定义,以及Kibana仪表盘来实现这一点。

二,部署安装

  本机测试环境

    存在  redis 数据库,减轻压力

    nginx web服务器 

   下载filebeat 

  1. wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.-linux-x86_64.tar.gz
  2.  
  3.     tar zxvf filebeat-6.6.-linux-x86_64.tar.gz
  4.  
  5.     ln -s filebeat-6.6.-linux-x86_64 filebeat

  启动命令filebeat

三,配置文件

   编写配置文件

  1. filebeat.inputs:
  2. - type: log
  3. enabled: true
  4. paths:
  5. - /var/log/*.log
  6. - /var/log/messages #配置收集的日志路径
      - /application/nginx/logs/*.log

  7. exclude_lines: ['^DBG',"^$"] ##排除的内容,正则排除
  8. document_type: filesystem-log-5612 #设置类型
  9. filebeat.config.modules:
  10. path: ${path.config}/modules.d/*.yml
  11. reload.enabled: false
  12. setup.template.settings:
  13. index.number_of_shards:
  14. setup.kibana:
  15. output.file:
  16. path: "/tmp"
  17. filename: "text.txt"

    测试启动服务

  1. ./filebeat -e -c filebeat.yml -d "Publish"

   测试连接logstash连接

  

  已经存在日志文件了

    后台启动:

    

  1. nohup ./filebeat -e -c filebeat.yml >/dev/null >& &

    启动后立刻查看日志

  1. tail -f /tmp/text.txt

    再终端输入:

  1. echo "666666666666666" >> /var/log/messages

    

  数据已经记录了

四,连接redis  

  配置前保证redis局域网能够连接!!

    

  结束进程:  kill 对应的pid即可    

   配置文件重新配置:  

  1. filebeat.inputs:
  2. - type: log
  3. enabled: true
  4. paths:
  5. - /var/log/*.log
  6. - /var/log/messages
  7. - /application/nginx/logs/*.log
  8. exclude_lines: ['^DBG',"^$"]
  9. document_type: filesystem-log-
  10. filebeat.config.modules:
  11. path: ${path.config}/modules.d/*.yml
  12. reload.enabled: false
  13. setup.template.settings:
  14. index.number_of_shards:
  15. setup.kibana:
  16. output.redis:
  17. hosts: "10.0.0.7"
  18. db: "1"
  19. port: "6379"
  20. password: "123"
  21. key: "filesystem-log-5612"

    启动

  1. nohup ./filebeat -e -c filebeat.yml > /dev/null >&

    再redis上查看数据

   

  1. [root@elk-master config]# redis-cli -h 10.0.0.7 -p 6379 -a 123
  2. 10.0.0.7:> keys *
  3. (empty list or set)
  4. 10.0.0.7:> keys *
  5. (empty list or set)
  6. 10.0.0.7:> select
  7. OK
  8. 10.0.0.7:[]> KEYS * 查看内容
  9. ) "filesystem-log-5612"
  10. 10.0.0.7:[]> llen filesystem-log-5612 里面文件长度
  11. (integer)
  12. 10.0.0.7:[]> llen filesystem-log-
  13. (integer)
  14. 10.0.0.7:[]> llen filesystem-log-
  15. (integer)
  16. 10.0.0.7:[]> llen filesystem-log-
  17. (integer)
  18. 10.0.0.7:[]> llen filesystem-log-
  19. (integer)
  20. 10.0.0.7:[]> KEYS *
  21. ) "filesystem-log-5612"
  22. 10.0.0.7:[]>

五, logstash节点拉取数据

     logstash配置文件:

    

  1. input {
  2. redis {
  3. data_type => "list"
  4. host => "10.0.0.7"
  5. db => "1"
  6. port => "6379"
  7. password => "123"
  8. key => "filesystem-log-5612"
  9.  
  10. }
  11. }
  12.  
  13. output {
  14. elasticsearch {
  15. hosts => ["10.0.0.223:9200"]
  16. index => "filesystem-log-5612-%{+YYYY.MM.dd}"
  17. }
  18. }

   语法检测:

  1. /elk/logstash/bin/logstash -f /elk/logstash/config/logstash.conf -t

  

没问题.启动logstash 

  1. /elk/logstash/bin/logstash -f /elk/logstash/config/logstash.conf &

成功  

六,head查看

  

七, >>>>>>>

  

  1. 为了监控Redis的队列长度,可以写一个监控脚本对redis进行监控,并增加zabbix报警
  2.  
  3. [root@elk-master ~]# vim redis-test.py
  4. #!/usr/bin/env python
  5. import redis
  6. def redis_conn():
  7. pool=redis.ConnectionPool(host="10.0.0.7",port=,db=,password=)
  8. conn = redis.Redis(connection_pool=pool)
  9. data = conn.llen('filesystem-log-5612')
  10. print(data)
  11. redis_conn()
  12. [root@elk-master ~]# python redis-test.py #当前redis队列长度为0

         

 

日志收集之filebeat的更多相关文章

  1. 快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana)

    快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana) 概要说明 需求场景,系统环境是CentOS,多个应用部署在多台服务器上,平时查看应用日志及排查问题十 ...

  2. 日志分析平台ELK之日志收集器filebeat

    前面我们了解了elk集群中的logstash的用法,使用logstash处理日志挺好的,但是有一个缺陷,就是太慢了:当然logstash慢的原因是它依赖jruby虚拟机,jruby虚拟机就是用java ...

  3. 日志收集之filebeat使用介绍

    此系列文章一共分为三部分,分为filebeat部分,logstash部分,es部分.这里会按照每天几百亿条的数据量来考虑,去设计.部署.优化这个日志系统,来最大限度的利用资源,并达到一个最优的性能.本 ...

  4. MySQL日志收集之Filebeat和Logstsh的一键安装配置(ELK架构)

    关于ELK是什么.做什么用,我们不在此讨论.本文重点在如何实现快速方便地安装logstash和filebeat组件,特别是在近千台DB Server的环境下(为了安全保守,公司DB Server 目前 ...

  5. elk 日志收集 filebeat 集群搭建 php业务服务日志 nginx日志 json 7.12版本 ELK 解决方案

    难的不是技术,难的是业务.熟悉业务流程才是最难的. 其实搜索进来的每一个人的需求不一样,希望你能从我的这篇文章里面收获到. 建议还是看官方文档,更全面一些. 一.背景 1,收集nginx  acces ...

  6. ELK之生产日志收集构架(filebeat-logstash-redis-logstash-elasticsearch-kibana)

    本次构架图如下 说明: 1,前端服务器只启动轻量级日志收集工具filebeat(不需要JDK环境) 2,收集的日志不进过处理直接发送到redis消息队列 3,redis消息队列只是暂时存储日志数据,不 ...

  7. 轻松上手Fluentd,结合 Rainbond 插件市场,日志收集更快捷

    以往有篇文章介绍 EFK(Kibana + ElasticSearch + Filebeat)的插件日志收集.Filebeat 插件用于转发和集中日志数据,并将它们转发到 Elasticsearch ...

  8. FILEBEAT+ELK日志收集平台搭建流程

    filebeat+elk日志收集平台搭建流程 1.         整体简介: 模式:单机 平台:Linux - centos - 7 ELK:elasticsearch.logstash.kiban ...

  9. 日志实时收集之FileBeat+Kafka

    之前,我们的某一个业务用于实时日志收集处理的架构大概是这样的:   在日志的产生端(LogServer服务器),都部署了FlumeAgent,实时监控产生的日志,然后发送至Kafka.经过观察,每一个 ...

随机推荐

  1. Java Java7处理异常新特性

  2. Java读写配置文件prop.properties

    Java读写配置文件prop.properties @Test public void fun() throws IOException{ Properties prop=new Properties ...

  3. 20165219 学习基础与C语言基础调查

    学习基础与C语言基础调查 你有什么技能比大多数人要好? 因为不知道其他人的具体情况,我只能说,我比较擅长钢琴,素描,国画,这也是小时候掌握的比较好的技能. 针对这个技能的获取有什么成功的经验 小时候学 ...

  4. lower_bound下确界

    //lower_bound用于找到首个大于等于某个值的元素 #include<algorithm> #include<iostream> using namespace std ...

  5. CSS3 transition 属性——逐渐变慢/匀速/加速/减速/加速然后减速

    ease: 1.ease:(逐渐变慢)默认值 2.linear:(匀速) 3.ease-in:(加速) 4.ease-out:(减速) 5.ease-in-out:(加速然后减速) 6.cubic-b ...

  6. 串的模式之kmp算法实践题

    给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出.如果找不到,则输出“Not ...

  7. 【转】C#中的combobox里DropDownStyle

    源地址:https://blog.csdn.net/cf643487053/article/details/54016822 C#中的combobox控件里DropDownStyle有三种选项 Sim ...

  8. Django 使用第三方服务发送电子邮件

    在 Django 网站中使用 mailgun 的邮件收发服务. 1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收发邮件的服务,对我来说已经完全够用了),注册完成后界面如图 ...

  9. 【离散数学】 SDUT OJ 哪款赛车最佳?

    哪款赛车最佳? Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 四名专家对四款赛车进行 ...

  10. Hive内置函数和自定义函数的使用

    一.内置函数的使用 查看当前hive版本支持的所有内置函数 show function; 查看某个函数的使用方法及作用,比如查看upper函数 desc function upper; 查看upper ...