flume 使用source interceptors拦截器切分body,自定义字段发送数据至es,es并未预期切分显示
agent.sources = tail
agent.channels = memoryChannel
agent.sinks = elasticsearch
agent.channels.memoryChannel.type = memory
agent.channels.memoryChannel.capacity = 10000
agent.channels.c1.transactionCapacity = 100
agent.sources.tail.channels = memoryChannel
agent.sources.tail.type = syslogudp
agent.sources.tail.port = 44445
agent.sources.tail.host = 10.121.12.59
agent.sources.tail.interceptors=i1 i2 i3
agent.sources.tail.interceptors.i1.type=REGEX_EXTRACTOR
agent.sources.tail.interceptors.i1.regex = (^<.*>)([A-Za-z]{0,5})\\s([0-9]{1,2})\\s(\\d{2}:\\d{2}:\\d{2})\\s(\\d{4}):(.*)
agent.sources.tail.interceptors.i1.serializers = s1 s2 s3 s4 s5 s6
agent.sources.tail.interceptors.i1.serializers.s1.name = t1
agent.sources.tail.interceptors.i1.serializers.s2.name = t2
agent.sources.tail.interceptors.i1.serializers.s3.name = t3
agent.sources.tail.interceptors.i1.serializers.s4.name = t4
agent.sources.tail.interceptors.i1.serializers.s5.name = t5
agent.sources.tail.interceptors.i1.serializers.s6.name = t6
#add here up
agent.sources.tail.interceptors.i2.type=org.apache.flume.interceptor.TimestampInterceptor$Builder
agent.sources.tail.interceptors.i3.type=org.apache.flume.interceptor.HostInterceptor$Builder
agent.sources.tail.interceptors.i3.hostHeader = host
agent.sinks.elasticsearch.channel = memoryChannel
agent.sinks.elasticsearch.type=org.apache.flume.sink.elasticsearch.ElasticSearchSink
agent.sinks.elasticsearch.batchSize=100
agent.sinks.elasticsearch.hostNames=10.121.12.59:9300
#agent.sinks.k1.indexType = bar_type
agent.sinks.elasticsearch.indexName=logstash5
agent.sinks.elasticsearch.clusterName=elasticsearch
agent.sinks.elasticsearch.serializer=org.apache.flume.sink.elasticsearch.ElasticSearchLogStashEventSerializer
正则表达式
agent.sources.tail.interceptors.i1.regex = (^<.*>)([A-Za-z]{0,5})\\s([0-9]{1,2})\\s(\\d{2}:\\d{2}:\\d{2})\\s(\\d{4}):(.*)
发送数据
echo "<96>Apr 19 11:30:46 2016:TEST" | nc -u 10.121.12.59 44445
es可以正确解析,t1-t6正确显示,并且数据对应
正则表达式
agent.sources.tail.interceptors.i1.regex = (^<.*>)([A-Za-z]{0,5})\\s([0-9]{1,2})\\s(\\d{2}:\\d{2}:\\d{2})\\s(\\d{4})\\s(.*)
发送数据
echo "<96>Apr 19 11:30:46 2016 TEST" | nc -u 10.121.12.59 44445
es不可以正确解析,而es收到的数据message中就只有TEST了,t1-t6也没有
猜测:
经过反复测试,猜测是es内部在解析<96>Apr_19_11:30:46_2016_ (为了显示效果,下划线代表空格),这样的格式时,通过其他内部方式解析了。。
求解答,本人对java不熟,如果需要更改flume源代码,请详细告知在哪里更改,谢谢,
相关推荐
Flume【使用篇】04:Flume的高级组件之Source Interceptors
Flume的高级组件之Source Interceptors
Flume【理论篇】02:Flume高级组件之Source Interceptors、Channel Selectors、Sink Processors
Flume高级组件之Source Interceptors、Channel Selectors、Sink Processors
Flume Event核心概念与实战应用解析
Flume Event是Apache Flume数据采集框架中的基本数据单元,由Header和Body两部分组成,类似于物流系统中的标准集装箱。Header存储元数据,用于路由决策、优先级控制和数据血缘追踪;Body承载实际数据内容,需注意编码规范、大小控制和压缩技巧。在数据处理领域,合理设计Event结构能显著提升系统性能和可靠性。本文通过电商、金融等典型场景,深入解析Flume Event的核心原理与工程实践,涵盖创建、传输、持久化全流程,并分享性能调优和异常处理经验。掌握这些技术要点,可有效应对大数据
基于线性车辆三自由度动力学+无迹卡尔曼滤波UKF估计模型(横摆角速度+质心侧偏角+车速)联合仿真
内容概要:通过构建基于线性车辆三自由度动力学模型与无迹卡尔曼滤波(UKF)的联合仿真系统,实现对车辆关键状态参数的高精度估计,重点包括横摆角速度、质心侧偏角和车速。该方法利用车辆动力学模型描述其横向、纵向及横摆运动行为,结合UKF这一适用于非线性系统的先进状态估计算法,有效处理传感器噪声和模型不确定性,从而在缺乏直接测量手段的情况下,实现对难以获取状态量的可靠估计。整个仿真框架通常在MATLAB/Simulink环境中搭建,能够模拟真实驾驶工况,验证算法的有效性和鲁棒性,为车辆稳定性控制、自动驾驶感知与决策等高级功能提供重要的状态信息支撑。; 适合人群:具备车辆动力学、现代控制理论和MATLAB/Simulink仿真基础,从事汽车工程、自动驾驶或状态估计相关研究的研发人员与研究生。; 使用场景及目标:① 深入理解并掌握非线性系统状态估计的核心方法,特别是UKF的原理与实现;② 学习如何将理论化的车辆动力学模型转化为可用于仿真的模块;③ 实践并验证车辆关键状态(如质心侧偏角)的间接估计技术,服务于车辆动态控制系统的设计与测试。; 阅读建议:此资源以开发仿真模型为核心,不仅关注代码和模型的实现,更强调对车辆动力学机理和滤波算法设计思路的理解。学习者应结合理论知识,动手搭建并调试仿真模型,通过改变工况和参数来观察估计效果,从而深刻领会系统辨识与状态估计在实际工程中的应用价值。
基于PID控制的ABS汽车防抱死制动系统、车轮滑移率+最优滑移率Carsim和Simulink联合仿真(带参考文献)
内容概要:本文档主要围绕基于PID控制的汽车防抱死制动系统(ABS)开展研究,重点聚焦于车轮滑移率与最优滑移率的精确控制。通过Carsim与Simulink联合仿真平台,构建整车动力学模型与ABS控制器,利用PID算法实时调节制动压力,使实际滑移率逼近理论最优值,从而最大化轮胎与路面间的纵向附着力并保障横向稳定性,有效提升紧急制动工况下的制动效能与操控安全性。研究涵盖了从车辆建模、滑移率特性分析、PID控制器设计到联合仿真验证的全过程,并提供了完整的仿真模型、MATLAB/Simulink代码及参考文献,为相关领域的科研与工程实践提供了详实的技术参考。; 适合人群:具备车辆工程、自动化或控制理论基础知识,从事汽车电控系统开发、自动驾驶或车辆动力学仿真的研究生、工程师及科研人员。; 使用场景及目标:① 实现ABS系统的核心控制逻辑,掌握滑移率控制的关键技术;② 学习Carsim与Simulink联合仿真的搭建方法,进行车辆动力学与控制算法的协同仿真;③ 基于PID控制策略优化制动性能,完成相关学术研究或工程项目。; 阅读建议:在学习过程中,应结合所提供的完整仿真模型和代码,深入理解车辆动力学与ABS控制的交互机制,重点分析不同路面附着系数下最优滑移率的设定及PID参数的整定过程,以达到最佳的仿真效果和理论认知。


