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

电气比例阀采用外置传感器和PID控制器实现化学机械抛光(CMP)的超高精度压力控制

摘要:为大幅度提高现有CMP工艺设备中压力控制的稳定性,在现有电气比例阀这种单回路PID压力调节技术的基础上,本文提出了升级改造方案,即采用串级控制法(双回路PID控制,也称级联控制),通过在现有电气比例阀回路中增加更高精度的压力传感器和PID控制器,可以将研磨抛光压力的稳定性提高一个数量级,从1~2%的稳定性提升到0.1~0.2%。

Shanghai_Eyoung的博客 1291

2024秋招,腾讯测试与质量管理工程师一面

家人们,秋招都开奖了吗,拿到自己心仪的offer了吗,还是在准备明年的春招呢?今天我记录一下,之前面试腾讯测开的一面过程面试官人非常好,我回答中有问题的地方,及时帮我指正同时耐心回答我的反问只可惜我当时的能力不足以达到鹅厂的标准,遗憾错过。

chowley的博客 1056

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

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

非著名运维的博客 3856

GPlates——【将化石点标记在古地理图上时,改变标记点的大小和形状】

GPlates在还原古地理图和计算古坐标点上功能十分卓越,最近在使用它标注某个类群的化石坐标点时,这些点在地图上显示得非常小,让人不易察觉。作为一款优秀的GUI应用,应该具备更改标记点外观的功能,然而在查阅了官方手册,pygplates API后,表明不管是桌面应用还是python接口,都无法简便地修改标记点的外观。在之前GPlates学习和最近的pygplates学习中,印象里有可以改变标记点外观的东西,叫做。当然,这又诱使我翻了一遍资料,然而又没有直接关于symbol的资料。

whitedrogen的博客 2542

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

【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(3):Agent请求和响应

CangjieMagic框架:使用华为仓颉编程语言编写,专门用于开发AI Agent,支持鸿蒙、Windows、macOS、Linux等系统。这篇文章剖析一下 CangjieMagic 框架中的 AgentRequest 和 AgentResponse。

九丘教育官方博客 1475

LVDS高速ADC接口, xilinx fpga实现

FPGA实现lvds高速ADC数据接口,窗口对齐算法,Verilog源码

kuangxin的博客 6万+

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

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

Richardlygo的博客 520

大模型系列——Ollama简明教程

在这篇文章中,我们将了解如何使用 Ollama、如何在 Ollama 中创建自己的模型 以及如何使用 Ollama 构建聊天机器人。这是深入研究 Ollama 的第一部分,以及我所学到的有关本地 LLM 的知识以及如何将它们用于基于推理的应用程序。在这篇文章中,你将了解——

2401_84052244的博客 1万+

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

深度学习实战87-高中数学自适应测试系统研究与应用研发,前后台页面设计

大家好,我是微学AI ,今天给大家介绍一下深度学习实战87-高中数学自适应测试系统研究与应用研发,前后台页面设计。高中数学自适应测试系统旨在通过精准评估学生能力,用最少的题目发现其薄弱环节,并提供定制化的学习计划,帮助学生快速提升成绩。同时,系统结合了AI大模型实现自动判卷、生成报告,减轻教师负担,并支持个性化作业布置,使教学更加高效。学生可以清晰了解自身学习状态,教师也能获得精准的学生画像,实现差异化教学。

微学AI的博客 444

在 Eclipse 中接入 DeepSeek:开启 Java 开发新效率

DeepSeek 能够根据自然语言描述,精准生成高质量的 Java 代码片段。无论是简单的方法编写,比如 “编写一个 Java 方法,用于计算两个整数的乘积”,还是复杂的类和功能模块创建,例如 “创建一个 Java 类,实现文件的读写操作,并包含异常处理机制”,它都能快速给出合理且可运行的代码示例。DeepSeek 生成的代码不仅实现了基本功能,还遵循 Java 的编码规范,添加了必要的注释,让代码更易于理解和维护,大大节省了开发者从头编写代码的时间和精力。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4068

1、ELK介绍

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

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

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

OV9734 DATASHEET,完整规格书

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

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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、付费专栏及课程。

余额充值