当前位置: 首页 > news >正文

多输入(input)多输出(output)验证

#作者:程宏斌

文章目录

  • 前言
  • Flb 1.9.4 INCLUDE配置测试
    • 测试方案
    • 测试配置文件
    • 测试命令
  • Flb 3.0.2 INCLUDE配置测试
    • 测试方案
    • 测试配置文件
    • 启动命令
  • 结论
    • 结论一:
    • 结论二:

前言

需要设计并执行一组测试用例,这些测试用例将包括以子文件形式组织的多输入(input)和多输出(output)的场景。

Flb 1.9.4 INCLUDE配置测试

测试方案

这里设定了两组输入和输出:一组从/vdata/logtest/input1/*收集日志,输出到/var/log/pods/logtest/regex-input1目录;另一组从/vdata/logtest/input2/*收集日志,发送到/var/log/pods/logtest/regex-input2。

测试配置文件

fluent-bit.conf

@INCLUDE 9.2.2input.conf
@INCLUDE 9.2.2output.conf
[SERVICE]Flush 1Parsers_File parsers.confHTTP_Server  OnHTTP_Listen  0.0.0.0HTTP_PORT    3194
[INPUT]Name         tailTag          regex-input1DB           ./db/regex-fluent.dbRead_from_Head truePath  /vdata/logtest/input1/*.logPath_Key  pod_log_path
[FILTER]Name                  multilineMatch                 *multiline.key_content logmultiline.parser      multiline-regex-goemitter_mem_buf_limit 2048M
[FILTER]Name modifyMatch *Add paas_log_belong         userAdd paas_log_type           middlewareAdd paas_collection_type    userfileAdd paas_account_id         123456789Add paas_region_id          lftstAdd paas_product_id         cccAdd paas_instance_name      test10Add paas_host_ip            127.0.0.1Add paas_manager_ip         127.0.0.1Add pod_namespace           defaultAdd pod_name                test-0Add pod_container_name      test 
[OUTPUT]Name fileMatch regex-input1Path /var/log/pods/logtest

input.conf

[INPUT]Name         tailTag          regex-input2DB           ./db/regex-fluent.dbRead_from_Head truePath  /vdata/logtest/input2/*.logPath_Key  pod_log_path

output.conf

[OUTPUT]Name fileMatch regex-input2Path /var/log/pods/logtest

测试命令

mkdir -p /vdata/logtest/input1 /vdata/logtest/input2
touch /vdata/logtest/input1/error.log /vdata/logtest/input2/error.log
./bin/fluent-bit-1.9.4 -c etc/9.2.2fluent-bit.conf &>./logs/fluent-bit.log &
#此处根据多个input修改脚本,让日志文件同时输出两份到不同的目录
timeout 1200 bash 9create_test_log.sh 40 &

Flb 3.0.2 INCLUDE配置测试

测试方案

这里设定了两组输入和输出:一组从/var/log/pods/logtest/input1/.log收集日志,输出到/home/logtest目录;另一组从/var/log/pods/logtest/input2/.log收集日志,发送到Kafka。

测试配置文件

fluent-bit.conf
这里使用上一章节的INCLUDE配置文件,因为在3.0.2版本和1.9.4版本中,multiline处理参数有所不同。

@INCLUDE 9.2.2input.conf
@INCLUDE 9.2.2output.conf
[SERVICE]Flush 1Parsers_File parsers.confHTTP_Server  OnHTTP_Listen  0.0.0.0HTTP_PORT    3302
[INPUT]Name         tailTag          regex-input1DB           ./db/regex-fluent.dbRead_from_Head truePath  /vdata/logtest/input1/*.logPath_Key  pod_log_pathmultiline.parser      multiline-regex-go
[FILTER]Name modifyMatch *Add paas_log_belong         userAdd paas_log_type           middlewareAdd paas_collection_type    userfileAdd paas_account_id         123456789Add paas_region_id          lftstAdd paas_product_id         cccAdd paas_instance_name      test10Add paas_host_ip            127.0.0.1Add paas_manager_ip         127.0.0.1Add pod_namespace           defaultAdd pod_name                test-0Add pod_container_name      test 
[OUTPUT]Name fileMatch regex-input1Path /var/log/pods/logtest

启动命令

mkdir -p /vdata/logtest/input1 /vdata/logtest/input2
touch /vdata/logtest/input1/error.log /vdata/logtest/input2/error.log
./bin/fluent-bit-3.0.2 -c etc/9.3.2fluent-bit.conf &>./logs/fluent-bit.log &
#此处根据多个input修改脚本,让日志文件同时输出两份到不同的目录
timeout 1200 bash 9create_test_log.sh 40 &

结论

监控数据汇总:
在这里插入图片描述

结论一:

fluent-bit能够根据 INCLUDE 配置的规则,将来自不同输入源的日志条目发送到不同的输出目标,实现灵活的日志处理和管理。

结论二:

使用多组 input 和 output 并没有明显提升 Fluent Bit 的采集性能。从测试结果可以看出,虽然不同版本的 Fluent Bit 在单独配置 input 和 output 时表现出一定的性能差异,但在同时配置多组 input 和 output 时,并未表现出显著的性能提升。这表明,增加多组配置可以简化配置的阅读性,但并不能显著提高日志采集的效率。


文章转载自:

http://2GeO6HMJ.knkfj.cn
http://hXiIToQy.knkfj.cn
http://4TncdvNA.knkfj.cn
http://uQNc8ahH.knkfj.cn
http://XMkHBQEp.knkfj.cn
http://gBudotnU.knkfj.cn
http://ZWPrHsZt.knkfj.cn
http://VqUmMQob.knkfj.cn
http://LccFKcIP.knkfj.cn
http://hwjljBIp.knkfj.cn
http://bplWSvDP.knkfj.cn
http://igPeiYMM.knkfj.cn
http://1b6jluM2.knkfj.cn
http://S4448QGD.knkfj.cn
http://0i2FhXXx.knkfj.cn
http://B4AMuTNk.knkfj.cn
http://0XqCX4j4.knkfj.cn
http://xEP0t4Rg.knkfj.cn
http://OXulAjIG.knkfj.cn
http://zVZGqRb5.knkfj.cn
http://dNXUvcvN.knkfj.cn
http://X5y4uhq7.knkfj.cn
http://bRJfNjDX.knkfj.cn
http://V5sOGtn6.knkfj.cn
http://LGM8eShy.knkfj.cn
http://IFf8SsTs.knkfj.cn
http://1QWolr6D.knkfj.cn
http://NRy0YWlc.knkfj.cn
http://AprGwhgb.knkfj.cn
http://olj2RlRf.knkfj.cn
http://www.dtcms.com/a/374588.html

相关文章:

  • 排查JSch连接SFTP服务器失败的问题
  • JMeter压测过程中监控服务器CPU及内存的方法
  • 整理python快速构建数据可视化前端的Dash库
  • Redis缓存穿透、缓存击穿与雪崩防护及性能优化实战指南
  • ArcGIS学习-20 实战-地形研究
  • Ubuntu下基于Nginx+ffmpeg+video.js的HLS流媒体视频播放方案
  • Vue2 VS Vue3
  • 【ArcGIS】如何编辑图层的属性表
  • VueFlow的箭头怎么调整
  • 基于Vue3 +ElementuiPlus + Dexie.js自研的浏览器插件新建标签页tab
  • 【序列晋升】30 Spring Cloud Vault 安全配置管理的微服务守护者
  • 狂想-一种新颖的低成本内嵌标记的视触觉感知前导方案
  • 兰洋科技双展联动展示液冷创新成果,技术驱动打造绿色算力新基建
  • INDEMIND亮相2025科技创变者大会,以机器人空间智能技术解锁具身智能新边界
  • 百度SEM里什么是搜索广告、搜索词、否定关键词、上方位(竞价)广告?
  • 百度竞价推广:百度搜索竞价推广代运营
  • rabbitmq如何保证消息不丢失
  • 做百度SEM付费搜索推广时,竞价账号定向怎么设置?
  • html+css+JavaScript实现一个简单的登录
  • 【国内电子数据取证厂商龙信科技】从SQL语句开始数据库分析
  • 字节跳动Seed推出「机器人大脑」Robix:让机器人学会思考、规划与灵活互动
  • 【ComfyUI】Flux Schnell Fp8量化版图像生成
  • 【3DV 进阶-2】Hunyuan3D2.1 训练代码详细理解下-数据读取流程
  • 从零开始的云计算生活——第六十天,志在千里,使用Jenkins部署K8S
  • 平板热点频繁断连?三步彻底解决
  • nand flash的擦除命令使用
  • 《Pod调度失效到Kubernetes调度器的底层逻辑重构》
  • OC-单例模式
  • C语言链表设计及应用
  • 中级统计师-统计法规-第三章 统计法的基本原则