使用filebeat和logstash集中归档日志

程序员同行者 程序员同行者     2022-10-13     289

关键词:

方 案

  • Filebeat->Logstash->Files
  • Filebeat->Redis->Logstash->Files
  • Nxlog(Rsyslog、Logstash)->Kafka->Flink(Logstash->ES-Kibana)
  • 其他方案(可根据自己需求,选择合适的架构,作者选择了第二种方案)

注释: 由于Logstash无法处理输出到文件乱序的问题,可通过不同的文件使用不同的Logstash;或者直接写入ES(不存在乱序问题)、通过Flink输出到文件

部 署

系统环境
  • Debian8 x64
  • logstash-6.1.1
  • filebeat-6.1.1-amd64
  • Redis-3.2
Filebeat配置
/etc/filebeat/filebeat.yml
 
filebeat.prospectors:
- type: log
paths:
- /home/data/log/*
- /home/data/*.log
scan_frequency: 20s
encoding: utf-8
tail_files: true
harvester_buffer_size: 5485760
fields:
ip_address: 192.168.2.2
env: qa
output.redis:
hosts: ["192.168.1.1:6379"]
password: "geekwolf"
key: "filebeat"
db: 0
timeout: 5
max_retires: 3
worker: 2
bulk_max_size: 4096

 



Logstash配置
 
 
input {
#Filebeat
# beats {
# port => 5044
# }
#Redis
redis {
batch_count => 4096
data_type => "list"
key => "filebeat"
host => "127.0.0.1"
port => 5044
password => "geekwolf"
db => 0
threads => 2
}
}
filter {
ruby {
code => event.set("filename",event.get("source").split("/")[-1])
}
}
output {
 
if [filename] =~ "nohup" {
file {
path => "/data/logs/%{[fields][env]}/%{+YYYY-MM-dd}/%{[fields][ip_address]}/%{filename}"
flush_interval => 3
codec => line { format => "%{message}"}
}
} else {
file {
path => "/data/logs/%{[fields][env]}/%{+YYYY-MM-dd}/%{[fields][ip_address]}/logs/%{filename}"
flush_interval => 3
codec => line { format => "%{message}"}
}
}
#stdout { codec => rubydebug }
 
}

 

生产日志目录

├── prod
│   └── 2018-01-13
│   └── 2.2.2.2
│   ├── logs
│   │   ├── rpg_slow_db_.27075
│   └── nohup_service.log
└── qa
├── 2018-01-12
│   ├── 192.168.3.1
└── 2018-01-13
├── 192.168.3.2

 

使用filebeat采集日志结合logstash过滤出你想要的日志

...ithub.com/deviantony/docker-elk这里对es不做过多描述,主要针对filebeat和logstash讲解。Filebeat是一个轻量级的托运人,用于转发和集中日志数据。Filebeat作为代理安装在服务器上,监视您指定的日志文件或位置,收集日志事件,并将它们... 查看详情

filebeat+kafka+logstash+elasticsearch+kibana日志采集方案(代码片段)

...差不多,都能够与Elasticsearch产生协同作用,而且logstash比filebeat功能更强大一点,2个都使用是因为:Beats是一个轻量级的采集器,支持从边缘机器向Logstash和Elasticsearch发送数据。考虑到Logstash占用系统资源较多,我们采用Filebeat来... 查看详情

filebeat+elk部署文档

...庞大的机器数量依然使用这样的方法难免有点力不从心。Filebeat+ELK是四个开源工具组成,简单解释如下:Filebeat:ELK协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于Logstash-Forwarder源代码开发,是对它的替代。在需要... 查看详情

etl工具之日志采集filebeat+logstash

...志文件,需要进行日志收集并进行可视化展示,一般使用filebeat和logstash组合。Logstash是具有实时收集日志功能,可以动态统一来自不同来源的数据,任何类型的事件都可以通过各种各样的输入,过滤功能和输出插件来丰富和转换... 查看详情

使用 filebeat 和 logstash 将 syslog 转换为 json

】使用filebeat和logstash将syslog转换为json【英文标题】:convertsyslogtojsonwithfilebeatandlogstash【发布时间】:2017-04-1211:39:38【问题描述】:filebeat是否有可能将日志作为syslog接收并将它们作为json输出到logstash,这样我就不需要解析每种... 查看详情

原版filebeat+elk(代码片段)

...日志的处理尤为重要。今天,在这里分享一下自己部署的Filebeat+ELK开源实时日志分析平台的记录过程,有不对的地方还望指出。简单介绍:日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了... 查看详情

filebeat+logstash+elasticsearch收集haproxy日志

filebeat用于是日志收集,感觉和flume相同,但是用go开发,性能比较好在2.4版本中,客户机部署logstash收集匹配日志,传输到kafka,在用logstash从消息队列中抓取日志存储到elasticsearch中。但是在5.5版本中,使用filebeat收集日志,减少... 查看详情

使用docker部署filebeat和logstash(代码片段)

想用filebeat读取项目的日志,然后发送logstash。logstash官网有相关的教程,但是docker部署的教程都太简洁了。自己折腾了半天,走了不少坑,总算是将logstash和filebeat用docker部署好了,这儿简单记录一下 部署logstash1.编写logstash... 查看详情

filebeat日志采集器实例(代码片段)

目录1概述2安装Filebeat2.1配置Filebeat2.2配置Filebeat以使用Logstash3案例3.1流程说明3.2日志环境介绍3.3配置Filebeat3.4配置Logstash3.4.1Logstash输出到控制台3.4.2配置Logstash连接ElasticSearch4Kibana分析业务4.1启动Kibana4.1.1添加到索引库4.1.2创建柱形... 查看详情

filebeat+elasticsearch+logstash+kibana收集系统日志(docker)

参考技术A我们这里用到的是filebeat+elk(elasticsearch+logstash+kibana)来进行系统日志的收集。filebeat安装在各个服务器中,Logstash+ElasticSearch+Kibana安装在一台专门用于基础服务的服务器上。Filebeat是一个轻量级的托运人,用于转发和集中... 查看详情

centos7.3简便搭建efk日志分析(代码片段)

...一套解决方案。EFK是三个开源软件的缩写,Elasticsearch,FileBeat,Kibana。其中ELasticsearch负责日志分析和存储,FileBeat负责日志收集,Kibana负责界面展示。它们之间互相配合使用,完美衔接,高效的满足了很多场合的应用,是目前主... 查看详情

elk使用filebeat替代logstash收集日志(代码片段)

使用beats采集日志之前也介绍过beats是ELK体系中新增的一个工具,它属于一个轻量的日志采集器,以上我们使用的日志采集工具是logstash,但是logstash占用的资源比较大,没有beats轻量,所以官方也推荐使用beats来作为日志采集工具... 查看详情

ELK 堆栈中的 Logstash 和 filebeat

】ELK堆栈中的Logstash和filebeat【英文标题】:LogstashandfilebeatintheELKstack【发布时间】:2019-08-1620:14:04【问题描述】:我们正在服务器上设置elasticsearch、kibana、logstash和filebeat,以分析来自许多应用程序的日志文件。由于原因*,每个... 查看详情

elk原理与介绍

...:Elasticsearch,Logstash,Kibana,它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个 查看详情

elk原理与介绍

...:Elasticsearch,Logstash,Kibana,它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个 查看详情

elk原理与介绍

...:Elasticsearch,Logstash,Kibana,它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个 查看详情

开始使用filebeat(代码片段)

...可以进一步处理和增强数据,然后在Kibana中将其可视化。Filebeat第1步:安装Filebeat第2步:配置Filebeat配置文件:filebeat.yml为了配置Filebeat:1.定义日志文件路径对于最基本的Filebeat配置,你可以使用单个路径。例如:filebeat.inputs:-ty... 查看详情

8、使用多实例filebeat收集日志

参考技术A1、在linux上运行多个filebeat实例,一个直接输出到es,一个输出到logstash2、同时建议es使用专门的负载均衡节点来承受输出,不要直接输出到数据节点灵感来源于https://zh.codepre.com/how-to-19067.html这个问题困扰了我很久,百... 查看详情