一,软件介绍

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

二,部署安装

  本机测试环境

    存在  redis 数据库,减轻压力

    nginx web服务器 

   下载filebeat 

 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.-linux-x86_64.tar.gz

     tar zxvf filebeat-6.6.-linux-x86_64.tar.gz

     ln -s filebeat-6.6.-linux-x86_64 filebeat

  启动命令filebeat

三,配置文件

   编写配置文件

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

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

    测试启动服务

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

   测试连接logstash连接

  

  已经存在日志文件了

    后台启动:

    

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

    启动后立刻查看日志

 tail -f /tmp/text.txt

    再终端输入:

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

    

  数据已经记录了

四,连接redis  

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

    

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

   配置文件重新配置:  

filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- /var/log/messages
- /application/nginx/logs/*.log
exclude_lines: ['^DBG',"^$"]
document_type: filesystem-log-
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards:
setup.kibana:
output.redis:
hosts: "10.0.0.7"
db: "1"
port: "6379"
password: "123"
key: "filesystem-log-5612"

    启动

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

    再redis上查看数据

   

[root@elk-master config]# redis-cli -h 10.0.0.7 -p 6379 -a 123
10.0.0.7:> keys *
(empty list or set)
10.0.0.7:> keys *
(empty list or set)
10.0.0.7:> select
OK
10.0.0.7:[]> KEYS * 查看内容
) "filesystem-log-5612"
10.0.0.7:[]> llen filesystem-log-5612 里面文件长度
(integer)
10.0.0.7:[]> llen filesystem-log-
(integer)
10.0.0.7:[]> llen filesystem-log-
(integer)
10.0.0.7:[]> llen filesystem-log-
(integer)
10.0.0.7:[]> llen filesystem-log-
(integer)
10.0.0.7:[]> KEYS *
) "filesystem-log-5612"
10.0.0.7:[]>

五, logstash节点拉取数据

     logstash配置文件:

    

input {
redis {
data_type => "list"
host => "10.0.0.7"
db => "1"
port => "6379"
password => "123"
key => "filesystem-log-5612" }
} output {
elasticsearch {
hosts => ["10.0.0.223:9200"]
index => "filesystem-log-5612-%{+YYYY.MM.dd}"
}
}

   语法检测:

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

  

没问题.启动logstash 

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

成功  

六,head查看

  

七, >>>>>>>

  

为了监控Redis的队列长度,可以写一个监控脚本对redis进行监控,并增加zabbix报警

[root@elk-master ~]# vim redis-test.py
#!/usr/bin/env python
import redis
def redis_conn():
pool=redis.ConnectionPool(host="10.0.0.7",port=,db=,password=)
conn = redis.Redis(connection_pool=pool)
data = conn.llen('filesystem-log-5612')
print(data)
redis_conn()
[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. css总结4:input 去掉外边框,placeholder的字体颜色、字号

    1 input 标签去除外边框: 在进行webAPP开发时,input外边框非常影响美观,去除外边框方法如下: <input style="border: 0px;outline:no ...

  2. AutoLayout自动布局,NSLayoutConstraint 视图约束使用

    一.方法 NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:<#(id)#> attribut ...

  3. Android sutdio单元测试 简单使用步骤

    1.简介 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.比如一个函数,一个方法等 2.添加依赖 dependencies { testCompile 'junit: ...

  4. 使用JMeter测试基于WebSocket协议的服务

    使用JMeter测试基于WebSocket协议的服务 :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba( ...

  5. android 多点触控

    多点触控 1.多点触控从字面意思讲就是你用大于等于2根的手指触摸子啊手机屏幕上. Android中监听触摸事件是onTouchEvent方法,它的参数为MotionEvent,下面列举MotionEv ...

  6. CentOS Vi编辑器

    vim:通过vim a.cfg进入文档 i:编辑状态 ESC:返回不可编辑状态 dd:在不可编辑状态下,dd可删除光标所在的行,2dd删除两行,以此类推 u:在不可编辑状态下,u可恢复删除的行 yy: ...

  7. Android系列一: 环境搭建

      相关软件 JAVA  JDKAndroid StudioHAXM JDK的安装和Java环境变量的设置 1.JDK下载地址: http://www.oracle.com/technetwork/j ...

  8. 「POJ 2182」 Lost Cows

    题目链接 戳这 题目大意 \(N(2 <= N <= 8,000)\)头奶牛有\(1..N\)范围内的独特品牌.对于每头排队的牛,知道排在那头牛之前的并比那头牛的品牌小的奶牛数目.根据这些 ...

  9. 洛谷P3711 仓鼠的数学题(伯努利数+多项式求逆)

    题面 传送门 题解 如果您不知道伯努利数是什么可以去看看这篇文章 首先我们把自然数幂和化成伯努利数的形式 \[\sum_{i=1}^{n-1}i^k={1\over k+1}\sum_{i=0}^k{ ...

  10. [BZOJ2879][Noi2012]美食节(费用流)

    题目描述 CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节.作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴.他很快就尝遍了美食节所有的美食.然而,尝鲜的欲望是难以满足的.尽管所有的菜品都 ...