ELK系列(八)、使用Filebeat+Redis+Logstash收集日志数据

ELK+FileBeat日志分析系统 日志分析系统重新构建了一下,选定的技术方案是ELK,也就是ElasticSearch, LogStash,Kibana。另外加了Filebeat和Kafka 2017.06.28 这两天稍微清闲一些,就趁机重新构建了日志分析系统。没有写代码,全部使用成熟的技术方案来做数据采集,至于后期如何使用这些数据,还在考虑中,先收集吧。 整体的解决方案如下图所示: 其中,日志... 阅读详情

前面提到过,logstash占资源很大,filebeat更加轻量,一般都是组合使用,难免会有logstash宕掉的时候,这时候filebeat再往logstash里写数据就写不了了,这期间的日志信息可能就无法采集到了,因此一般都会采用redis或kafka作为一个消息缓冲层,本篇就介绍如何使用Redis作为数据缓冲层,将filebeat的数据落地到Redis中然后由Logstash消费并写入至ES。

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK系列(二)、在Kibana中使用RESTful操作ES库

ELK系列(三)、安装Logstash插件及打包离线安装包

ELK系列(四)、Logstash读取nginx日志写入ES中

ELK系列(五)、Logstash修改@timestamp时间为日志的产生时间

ELK系列(六)、修改Nginx日志为Json格式并使用Logstash导入至ES

ELK系列(七)、Filebeat+Logstash采集多个日志文件并写入不同的ES索引中

-------------------------------使用Filebeat+Redis+Logstash收集日志数据------------------------------

Filebeat配置

首先配置Filebeat的yml文件,这里还使用之前用过的采集nginx的access-json.json日志的配置文件改一改,采集nginx的访问日志并写入到redis中,指定key为"nginx",在db0内,数据类型为list:

vim /opt/app/filebeat-7.7.0-linux-x86_64/filebeat_redis.yml

filebeat.inputs:
- type: log
  enabled: true
  backoff: "1s"
  tail_files: false
  paths:
    - /usr/local/nginx/logs/access-json.log
  fields:
    filetype: log_nginxjson
  fields_under_root: true

output.redis:
  enabled: true
  hosts: ["wykd:6379"]
  password: 123456
  key: nginx
  db: 0
  datatype: list

如果redis没有开启密码的话,这里的password参数可以不写。更加详细的参数配置可参考$FILEBEAT_HOME下的filebeat.reference.yml文件。

Logstash配置

logstash的配置文件也拿之前的读nginx日志文件写到es的配置文件改一改,把input改成从redis取数据,这里的password也是按需配置,key,data_type,db,host,port需要与上面filebeat配置的一致。

vim /opt/app/logstash-7.7.0/config/logstash_nginxlog2es_redis.conf

input {
   # 从文件读取日志信息
   redis {
        host => "wykd"
        port => 6379
        password => "123456"  #如果没有密码不需要写这个参数
        key => "nginx"
        data_type => "list"
        db =>0
    }
 }

filter {
    json {
       source => "message"
       remove_field => ["beat","offset","tags","prospector"] #移除字段,不需要采集
    }
    date {
      match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"] #匹配timestamp字段
      target => "@timestamp"  #将匹配到的数据写到@timestamp字段中
    }
}

output {
       # 输出es
       elasticsearch {
          hosts => ["wykd:9200"]
          index => "redis-%{+YYYY.MM.dd}"
      }

}

启动验证

首先启动logstash,然后启动filebeat:

cd $LS_HOME
bin/logstash -f config/logstash_nginxlog2es_redis.conf

cd $FILEBEAT_HOME
./filebeat -e -c filebeat_redis.yml

进入kibana查看index,可以看到redis-*的index已经创建出来了,并且有14条数据:

访问nginx网页三次进行测试:

curl http://wykd/wyk.html
curl http://wykd/abc.html
curl http://wykd

可以看到这三次访问记录已经进来了,变成了17条记录:

此时我们关闭logstash进程,模拟一下logstash关闭的情况下,如果继续给nginx新增日志的话,filebeat和redis里的数据是什么样的:

1. 关闭logstash
2. 模拟登陆nginx:
    curl http://wykd/111.html
    curl http://wykd/222.html
3. 查看redis数据

可以看到在redis的db0的key=nginx里已经缓存了这两条日志记录, 当我们再次重启logstash的时候,它就会自动从redis中将缓存的日志记录消费到ES中:

1. 再次启动logstash进程
    bin/logstash -f config/logstash_nginxlog2es_redis.conf 
2. 验证redis数据
3. 验证es中的index记录数

 

线上都是在各应用客户端使用filebeat采集日志,然后推送到redis或kafka集群内,然后由logstash进行消费,此架构可大大提升稳定性。

 

希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!

ELFK集群部署(Filebeat+ELK) 本地收集nginx日志 远程收集多个日志 这个命令将启动logstash并使用file_nginx.conf作为配置文件,–path.data参数指定了logstash的数据目录为/opt/test1。&符号表示在后台运行logstash。这个命令将启动logstash并使用file_nginx.conf作为配置文件,–path.data参数指定了logstash的数据目录为/opt/test2。查看NGINX的日志目录路径格式 给NGINX日志目录授权。编译安装是 /usr/local/nginx/给nginx的日志赋权权限 能够读取日志内容。 阅读详情

相关推荐

解析ELK(filebeat+logstash+elasticsearch+kibana)日志系统原理以及k8s集群日志采集过程

ELK【ES+LogStash+Kibana】日志分析系统以及k8s集群日志采集

小橙子的笔记屋 1689

Linux搭建ELK日志收集系统构建:Filebeat+Redis+Logstash+Elasticse

Linux搭建ELK日志收集系统构建,通过filebeat收集日志,通过redis进行去重,接下来通过logstash下沉到elasticsearch中,elasticsearch中的数据也可以通过kibana进行可视化分析。这里主要介绍如何搭建这样的环境架构。

play_big_knife的博客 2183

【ELK】最新版ELK日志搜集,过滤与展示,手把手教你搭建企业级ELK日志平台

ELFK是一套完整的日志集中处理方案。 E:ElasticSearck ES 分布式索引型非关系数据库 存储logstash输出的日志 全文检索引擎,保存的格式是json格式 L:logstash 基于java语言开发的,数据收集引擎。日志的收集,可以对数据进行过滤,分析,汇总,以标准格式输出 K:Kiabana 是es的可视化工具。对es存储的数据进行可视化展示,分析和检索。 F: FileBeat是一个轻量级日志采集器,Filebeat属于Beats家族的6个成员之一。

景天科技苑 7万+

filebeat收集日志传输到Redis

一、filebeat.yml配置 filebeat.inputs: - type: log enabled: true paths: - /usr/local/nginx/logs/access.log exclude_files: ['.gz$','INFO'] multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' multiline.negate: true multiline.match: after tags: ["ng

******* ▄︻┻┳═一 ******* 3025

深度:善用人工智能推动高等教育学习、教学与治理的深层变革

从学习方式的革新到教学模式的重构,再到治理体系的升级,人工智能已不再仅仅是辅助工具,而是成为重塑高等教育生态的核心驱动力。某高校的创新实践表明,引入AI生成虚拟患者后,医学生在临床沟通训练中的共情能力提升27%,印证了技术工具与人文教育的互补效应。美国卡内基梅隆大学的实践表明,经过系统培训的教师,其课程设计效率提升40%,且能精准定位83%学生的学习难点。当每个学生都掌握提示工程原理,每位教师都能驾驭AI教学工具,每所高校都建立智能治理框架时,教育将真正实现"以人为本"与"技术为用"的有机统一。

IT胶囊 1093

13.5元低成本模拟乘法器AD633JN实测:手把手教你避开那些坑

本文以13.5元低成本模拟乘法器AD633JN为核心,通过实测搭建混沌电路的全过程,手把手教你避开电源灌流、芯片发烫、输入偏置等常见陷阱。文章详细剖析了AD633JN的比例因子、输入阻抗等关键特性,并提供了正确的电源去耦、信号耦合及稳定性布线方案,旨在帮助硬件爱好者与工程师高效利用这款高性价比芯片,节省调试时间与成本。

weixin_28432777的博客 519

容器部署企业级日志分析平台ELK7.10.1(Elasisearch+Filebeat+Redis+Logstash+Kibana)

容器部署企业级日志分析平台ELK7.10.1(Elasisearch+Filebeat+Redis+Logstash+Kibana)

非著名运维的博客 3855

Linux-VMware安装后没有虚拟网卡VMnet1和VMnet8(亲测有效,一步一步跟着绝对成功)

VMware-安装后没有虚拟网卡VMnet1和VMnet8 就这个破东西我昨天弄了一天,网上什么VMware卸载重装,用CCleaner清理注册表什么的操作我全用了,但是昨天就是弄不好,同样的操作我昨天试了无数遍一直觉得可能是 持续更新中… 文章参考学习地址:https://blog.youkuaiyun.com/qq_42445139/article/details/87872130 ...

杨的博客 8849

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

前提:已配置好Redis集群,并设置的有统一的访问密码 架构是filebeat-->redis集群-->logstash->elasticsearch,需要修改filebeat的输出和logstash的输入值 filebeat地址:192.168.80.108 redis集群地址:192.168.80.107 ,采用的是伪集群的方式 1 filebeat配置 fileb...

weixin_30381793的博客 1379

昆仑通态,自由串口通讯

软件默认无该功能,需要问客服索要扩展包。

cfqq1989的博客 1536

25、量子计算:中性原子与约瑟夫森结量子比特

本文详细探讨了中性原子和约瑟夫森结两种量子比特在量子计算中的应用。中性原子量子比特利用光晶格实现量子态的操控,具有长相干时间的优势,但面临可扩展性和多量子比特操作的挑战;而约瑟夫森结量子比特基于超导技术,结合半导体制造工艺,具有低耗散和潜在的高可扩展性,但在参数控制和环境干扰方面存在难题。文章还比较了这两种方案的性能、应用场景及未来发展趋势,展望了它们在量子计算发展中的潜力与突破方向。

ol789012的博客 212

FileBeat+Redis+ELK构建企业级日志分析平台

需求背景: 业务发展越来越庞大,服务器越来越多 各种访问日志、应用日志、错误日志量越来越多,导致运维人员无法很好的去管理日志 开发人员排查问题,需要运维到服务器上查日志,不方便 运营人员需要一些数据,需要我们运维到服务器上分析日志 ELK环境部署 之前做的ELK的环境,只用了logstash作为收集日志的agent,而logstash消耗系统资源很大,在生产环境下将logstash作为a...

Richardlygo的博客 520

泛微系统流程表单获取节点操作者

泛微系统流程表单获取节点操作者 select typename 流程类型, workflowname 流程名称, nodename 节点名称, (case when nodetype=0 then '创建' when nodetype=1 then '审批' when nodetype=2 then '提交' when nodetype=3 then '归档' else '' end) as 节点类型, groupname 节点操作组, (case when type=1 then '部门+安

烧硬盘 4613

ELK系列之四---如何通过Filebeat和Logstash优化K8S集群的日志收集和展示

在ELK Stack组件中,有logstash和filebeat都可以实现日志收集,因为filebeat更轻量化,在K8S集群中通常使用filebeat来收集pod的日志,通过daemonSet控制器在每个K8S每个节点上运行一个filebeat来收集每个节点上的pod日志,filebeat官网图如下,filebeat输出支持对接Elasticsearch、Logstash、Kafka、Redis,本文选择对接Kafka,先缓存filebeat收集的日志,这样可以减少对ES的性能要求。

gjjumin的专栏 2520

【100%通过率】华为OD机试真题 Java&Go 实现【查找单入口空闲区域】【2022.11 Q4 新题】

给定一个 m xn 的矩阵,由若干字符 和0构成,X表示该处已被占据,0"表示该处空闲,请找到最大的单入口空闲区域.解释:空闲区域是由连通的O组成的区域,位于边界的0可以构成入口,单入口空闲区域即有目只有一个位于边界的0作为入口的由连通的'O"组成的区域。 如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

MISAYAONE的博客 2万+

如何用 Claude Code 做代码重构,而不是重写

摘要: 在使用Claude Code进行代码优化时,AI容易“重写”而非“重构”,导致改动过大、review困难。本文提出3个关键约束方法:1)限制修改范围(如仅修改指定函数);2)明确不改变代码行为;3)要求最小必要修改。通过分步骤重构、先获取重构建议再修改、使用标准模板(保持函数签名/输入输出/结构不变)等方式,可使AI输出更符合工程需求的小范围安全重构。对于彻底混乱的代码,才建议直接重写。核心在于通过提示词精准约束AI的修改行为,将其转化为高效的代码重构助手。

sg_knight的专栏 980

1、ELK介绍

一、ELK简介 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功...

光明小学王小雨的博客 15万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Logstash、FileBeat、ELK整合详解

2.ELK架构 ELK架构分为两种,一种是经典的ELK,另外一种是加上消息队列(Redis或Kafka或RabbitMQ)和Nginx结构。 2.1 经典的ELK 经典的ELK主要是由Filebeat + Logstash + Elasticsearch + Kibana组成,如下图:(早期的ELK只有Logstash + Elasticsearch + Kibana)

qq_45061342的博客 2093

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

使用ELK(ES+Logstash+Filebeat+Kibana)收集nginx的日志

使用ELK(ES+Logstash+Filebeat+Kibana)收集nginx的日志

码农兴哥的技术笔记 2507

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ELK-logstash和filebeat日志收集的简单案例

文章目录ELK-logstash和filebeat日志收集的简单案例1 对应的镜像版本2 logstash的简单入门2.1 介绍2.2 案例2.2.1 安装logstash2.2.2 读取指定文件-输出到控制台2.2.3 读取指定文件-输出到文件2.2.4 读取指定文件-输出到es3 filebeat的简单入门3.1 介绍3.2 案例3.2.1 安装filebeat3.2.2 重新配置logsta...

我吃包菜 3180

使用 Redis 缓存优化 ELK 日志收集

01 使用 Redis 作为缓存的 ELK 架构 直接使用 Filebeat 在节点上采集日志数据然后直接传输给 Elasticsearch 存储。这种架构有利于日志数据的时效性,但是当日志规模较大时,可能导致 Elasticsearch 存储集群容量不足,或者出现性能瓶颈。 为了解决这一问题,可以使用缓存机制提高 ES 的可靠性和稳定性,即使 ES 集群宕机,在重新恢复之后可以从 Redis 中同步数据。Redis 是一种内存高速缓存数据库,以键值对的方式存储数据,具有可持久化,分布式扩展的特点。 ELK

王清欢的博客 7448

从Filebeat到Logstash再到Elasticsearch,如何搭建ELK 日志平台

本文系作者本人原创,如需转载,请务必写明出处,谢谢! 一,背景 对于分布式系统,特别是基于容器的微服务系统,详细的系统日志和日志数据的实时收集和传输到集中平台是极其有必要的。主要基于两个原因,一是日志数据不能随容器的切换而丢失(当然也可以将日志数据存于持久存储层,但这种架构可能违背微服务自主和自助的设计原则),二是分布式的系统架构分散复杂,更加有必要对任何一个环节进行及时的监控。 目前常用的...

alva_xu的博客 3645

ELK介绍

文章目录1.ELK简介2.ELK架构图3.Filebeat工作原理4.Logstash工作原理 1.ELK简介 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:

959 5万+

filebeat收集日志+ELK架构、ELK监控

filebeat 轻量级日志收集组件,基本不消耗内存 主要工作:在每一台机器内收集日志,将日志同步到 > redis > logstash > Elasticsearch ​ 所以每台机器都要装filebeat,选择对应所需组件进入下载,这里选择filebeat > 选择版本下载 1.下载安装 [root@es-01 ~]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.12.1-x

weixin_46837396的博客 1407

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK是目前最流行的日志分析套件,基于lucence,提供全文检索功能,ES是目前最快的索引型数据库并提供RESTful接口,对开发人员很友好,横向扩展,Logstash提供多种插件,支持各类日志格式的定制和插件并实时将日志内容写入ES或其他目标源,Kibana提供对ES数据的展示功能,多用于日志检索,实时报表。 ...

王义凯 的博客 1万+

Linux搭建ELK日志收集系统:FIlebeat+Redis+Logstash+Elasticse

Linux搭建ELK日志收集系统:FIlebeat+Redis+Logstash+Elasticse 转载至[链接](https://blog.51cto.com/13859393/2156844) Centos7部署ELK日志收集系统 一、ELK概述: E...

hqn笔记分享 957
上一篇: Redis系列(一)、CentOS7下安装Redis6.0.3稳定版
下一篇: ELK系列(九)、配置ES和Kibana的用户密码
王义凯_Rick
王义凯_Rick 领域专家: 大数据技术领域 领域专家: 大数据技术领域
博客等级 码龄14年 858粉丝 162原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王义凯_Rick

遇见即是缘,路过就给个评论吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值