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

NAO V6 开发环境的配置(附所有文件)

NAO V6开发环境配置前言环境Robot SettingsChoregraphe 2.8.5.10python2.7+naoqi2.8+opencv4.1.0putty与FileZilla 前言 学校的机器人摸索了一段时间,之前摸爬滚打探索环境,之前没接触这类机器人可能会非常艰辛,希望能给需要的人一些帮助。Nao与pepper通用 环境 win10(x64)+naoqi2.8 1、Robot S...

wbhhello的博客 3219

Alibaba Java Coding Guidelines,以后我的Java代码规范,就靠它了

前言 对于Java代码规范,业界有统一的标准,不少公司对此都有一定的要求。但是即便如此,庞大的Java使用者由于经验很水平的限制,未必有规范编码的意识,而且即便经验丰富的老Java 程序员也无法做到时刻将规范牢记于心。所以对于代码规范扫描工具,一经问世就广受青睐,阿里巴巴出品的Alibaba Java Coding Guidelines(阿里巴巴Java代码规约扫描,以下简称为AJCG)插件便是其...

java梦工厂 859

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

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

非著名运维的博客 3855

脑电分析中的频谱特征提取 —— 从理论到实践

本文系统介绍了脑电信号(EEG)频谱特征提取方法及其应用。EEG信号通过频谱分析可分为Delta、Theta、Alpha、Beta和Gamma等具有明确生理意义的频段。文章详细讲解了功率谱密度、频带功率、相对功率、频谱熵等关键特征的计算方法,并提供了Python实现示例,包括模拟数据和真实CHB-MIT癫痫数据集的处理流程。这些频谱特征在脑机接口、情绪识别、疲劳监测和癫痫检测等领域具有重要应用价值。文章强调频谱特征结合时域和非线性特征可提升分析效果,为EEG研究提供了实用指导。

qq_32516809的博客 1441

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

C#+Winform+OpenCvSharp实战:5步搞定工业视觉检测框架(附源码下载)

本文详细介绍了如何使用C#、Winform和OpenCvSharp构建工业视觉检测框架,通过5个关键步骤实现高效、稳定的视觉检测系统。内容涵盖环境配置、相机集成、核心算法实现、系统集成与通信,以及部署优化,帮助开发者快速掌握工业视觉检测技术,提升检测精度和效率。附完整源码下载,助力工业数字化转型。

pz89012345的博客 550

kali破解WIFI密码

今天我们来学习一下通过kali和一个好的字典来破解WIFI密码。 声明:此教程仅供学习研究使用,严禁使用此技术进行非法行为 首先我们需要一个具有监听功能的无线网卡(这里我给大家推荐:rt3070) 本章实验通过虚拟机VMware进行: 先通过services.msc来打开VMware USB Arbitration Service 插上监听网卡,连接USB到虚...

#的博客 5810

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

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

Richardlygo的博客 520

药物对接仿真软件:HADDOCK_(16).实践项目:抗体-抗原对接案例

定义分子结构文件。

kkchenjj的博客 579

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

05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针

本篇介绍下m_map中添加指北针(m_northarrow)、比例尺(m_ruler)和进行比例缩放(m_scale)的函数及其用法 。提供了 示例以便参考,罗列了 各函数可设属性。希望对绘图的你有所帮助。

weixin_43339605的博客 1946

Windows10环境下激活虚拟环境报错【source : 无法将“source”项识别为 cmdlet、函数、脚本文件或可运行程序的名称】

在使用Django创建Web程序前,需要创建一个虚拟的工作环境,在使用【source ll_env/bin/activate】命令激活虚拟环境时报错:source : 无法将“source”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1 字符: 2。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

1、ELK介绍

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

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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

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

码农兴哥的技术笔记 2507

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

余额充值