多输入(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://www.pswp.cn/web/96351.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

行业学习【电商】:垂直电商如何理解?以专业宠物平台为例

声明:以下部分内容含AI生成 “宠物等爱好者的专业平台”指的是垂直电商的一个具体例子。 “垂直电商” 就是指不卖所有东西,只深耕某一个特定领域(即“垂直”领域)的电商平台。 “宠物爱好者的专业平台”就是这样一个专门为养宠…

GPT(Generative Pre-trained Transformer)模型架构与损失函数介绍

目录 一、核心架构:Transformer Decoder 1. 核心组件:仅解码器(Decoder-Only)的堆叠 2. 输入表示:Token 位置 3. 输出 二、训练过程:两阶段范式 阶段一:预训练(Pre-training&…

GitHub 热榜项目 - 日榜(2025-09-10)

GitHub 热榜项目 - 日榜(2025-09-10) 生成于:2025-09-10 统计摘要 共发现热门项目:15 个 榜单类型:日榜 本期热点趋势总结 本期GitHub热榜呈现三大技术热点:LLM智能体应用爆发(如parlant、AutoAgent)&a…

论文阅读:arxiv 2023 Large Language Models are Not Stable Recommender Systems

总目录 大模型相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 https://arxiv.org/pdf/2312.15746 速览 破解大语言模型在推荐系统中的不稳定性 该论文聚焦于大语言模型(LLMs)在推荐系统中的应用问题,指出…

Linux的使用——FinalShell下载使用及连接云服务器的教程

一、注册免费阿里云服务器 1. 进入阿里云服务器官网 阿里云-计算,为了无法计算的价值https://www.aliyun.com/?spm5176.ecscore_server.console-base_top-nav.dlogo.39144df5uvPLOm 2. 点击免费试用 这里我已经试用过了,大家选择合适的云服务器点击立…

如何清理 Docker 占用的巨大磁盘空间

我相信很多人在使用 Docker 一段时间后,都会遇到一个常见问题:磁盘空间被迅速吃光,尤其是在进行频繁的镜像构建、测试和运行容器时。以我自己为例,在 Ubuntu 24.04设备上,docker system df -v 一看,Docker …

【CMake】缓存变量

目录 一. 缓存变量 二.创建缓存变量 2.1.使用set()来创建缓存变量 2.2.使用FORCE参数来覆盖缓存变量 2.2.1.示例1——不带force的set是不能覆盖已经存在的缓存变量的 2.2.2.示例2——带force的set才能覆盖已经存在的缓存变量 2.2.3.对比示例 2.3.命令行 -D 创建/覆盖缓…

vue2使用若依框架动态新增tab页并存储之前的tab页的操作

1. 应用场景:点击历史记录,要比较两个tab页的内容时,需要做到切换tab页来回看左右对数据对比。2.开发难点若依项目正常是把路由配置到菜单管理里,都是设定好的。不过它也给我们写好了动态新增tab页的方,需要我们自己来…

论文阅读-SelectiveStereo

文章目录1 概述2 模块2.1 SelectiveIGEV和IGEV的差异2.2 上下文空间注意力2.2.1 通道注意力2.2.2 空间注意力2.3 SRU3 效果参考资料1 概述 本文主要结合代码对Selective的创新点进行针对性讲解,相关的背景知识可以参考我写的另两篇文章论文阅读-RaftStereo和论文阅…

深入分析神马 M56S+ 202T 矿机参数与性能特点

引言在比特币(BTC)和比特币现金(BCH)等主流加密货币的挖掘过程中,矿机的选择直接关系到挖矿的效率与收益。神马 M56S 202T矿机是SHA-256算法的矿机,凭借其强大的算力和高效的能效比,成为了矿工们…

36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn

想必看过我很多次博客的同学,都知道了编写驱动的流程! 这里我们还是按照以前的习惯来一步一步讲解! 单总线驱动,在F103和51单片机的裸机开发中是经常见的。 linux驱动代码编写实际上就是,端对端的编程! 就是…

【杂类】应对 MySQL 处理短时间高并发的请求:缓存预热

一、什么是缓存预热?1. 核心概念​​缓存预热(Cache Warm-up)​​ 是指在系统​​正式对外提供服务之前​​,或​​某个高并发场景来临之前​​,​​主动​​将后续极有可能被访问的热点数据从数据库(MySQL…

点评项目(Redis中间件)第三部分短信登录,查询缓存

可以直接看后面Redis实现功能的部分基于session实现短信登录发送短信验证码前端请求样式业务层代码Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {Overridepublic Result sendCode(String phone, HttpSession se…

线性方程求解器的矩阵分裂

大概思路是对的&#xff0c;但是查老师可能会出现幻觉&#xff0c;小心食用 &#x1f603;这段代码是在初始化迭代法求解器&#xff0c;构建迭代矩阵和分裂矩阵。以下是详细解释&#xff1a; if init_from_func or init_from_input:# 1. 存储刚度矩阵self.stiff_p stiff_p# 2.…

【Beetle RP2350】雷达模块 CEM5861G-M11 开发使用指南

一、硬件介绍 1、产品特点 Beetle RP2350【RP2350A_QFN60】是一款基于RP2350微控制器的高性能迷你开发板&#xff0c;双核双架构设计&#xff08;支持 Arm Cortex-M33或Hazard3 RISC-V内核&#xff09;为开发者提供灵活的性能配置。 双核双架构&#xff0c;性能自由切换 采…

高通Android 13 开机黑屏问题深度剖析与解决方案

1. 问题概述 在 Android 13 系统定制化开发过程中&#xff0c;开机流程的调试与优化颇具挑战性。一个典型问题是&#xff1a;当开机动画播放完毕后&#xff0c;设备会先出现数秒黑屏&#xff0c;然后才进入锁屏界面。本文基于开机日志分析&#xff0c;结合实际项目经验&#x…

腾讯推出AI CLI工具CodeBuddy,国内首家同时支持插件、IDE和CLI三种形态的AI编程工具厂商

2025年9月9日&#xff0c;腾讯正式推出自研AI CLI工具CodeBuddy code&#xff0c;成为国内首家同时支持插件、IDE和CLI三种形态的AI编程工具厂商。这一创新不仅填补了国内市场在全形态AI编程工具领域的空白&#xff0c;更以编码时间缩短40%、AI生成代码占比超50%的硬核数据&…

零基础学习QT的第二天-组件基础知识

组件声明以及设置属性 所有的组件的基类为&#xff1a;QtObject&#xff0c;在c中名称为&#xff1a;QObject。 在qml和c名称有所区别&#xff0c;例如在Qml中QtObject&#xff0c;在C会省略一个t(QObject) 声明组件的方式&#xff1a; 组件名 {属性名:值}在实际应用中&#xf…

像素图生成小程序开发全解析:从图片上传到Excel图纸

像素图生成小程序开发全解析&#xff1a;从图片上传到Excel图纸 前言 在数字化创作和工艺设计领域&#xff0c;像素图生成工具具有广泛的应用价值&#xff0c;无论是十字绣设计、LED灯阵布置还是复古游戏美术创作。本文将详细解析一个功能完整的像素图生成小程序的开发过程&…

mac-intel操作系统go-stock项目(股票分析工具)安装与配置指南

1. 项目基础介绍 go-stock 是一个基于Wails和NaiveUI开发的AI赋能股票分析工具。旨在为用户提供自选股行情获取、成本盈亏展示、涨跌报警推送等功能。它支持A股、港股、美股等市场&#xff0c;能够进行市场整体或个股的情绪分析、K线技术指标分析等功能。所有数据均保存在本地…