flume 使用 exec 采集容器日志,转储磁盘

flume 使用 exec 采集容器日志,转储磁盘

在该场景下,docker 服务为superset,flume 的sources 选择 exec , sinks选择 file roll 。

任务配置

具体配置文件如下:

#simple.conf: A single-node Flume configuration# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1# Describe/configure the source
a1.sources.r1.type = exec
# exec source 监控命令是tail -f ,日志文件可随意指定,这里选择的是容器服务的日志文件
a1.sources.r1.command = tail -F /data/docker/containers/e511e3e4b3445efeb38fe822ac086dfc5ebb8bdc4a725dc6e2969ef2092c78ec/e511e3e4b3445efeb38fe822ac086dfc5ebb8bdc4a725dc6e2969ef2092c78ec-json.log# Describe the sink
a1.sinks.k1.type = file_roll
#指定文件转存储目录,可自建
a1.sinks.k1.sink.directory = /home/test/log
# one day roll once 一天滚动一次,为了防止转储日志文件过大,按天进行文件滚动
a1.sinks.k1.sink.rollInterval = 86400
#a1.sinks.k1.sink.pathManager = superset
# 定义日志文件后缀
a1.sinks.k1.sink.pathManager.extension = log
# 定义日志文件前缀
a1.sinks.k1.sink.pathManager.prefix = superset-# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

其中,关键配置已注释,其中file_roll sinks 中 type、sink.directory是必配,其他都是选配,可参考官网文档
https://flume.apache.org/releases/content/1.8.0/FlumeUserGuide.html
在这里插入图片描述

配置文件中exec source监测的日志文件,可以使用如下命令获取(前提是docker环境已部署,且有应用在运行)

docker inspect --format='{{.LogPath}}' <容器id>

任务执行

bin/flume-ng agent -c conf -f ./job/exec-memory-logger.conf -n a1//使用nohup &后台运行,不占用终端,但会生成nohup.out日志文件
nohup  bin/flume-ng agent -c conf -f ./job/exec-memory-logger.conf -n a1 &

到转储目录下查看,

在这里插入图片描述

superset- 是配置前缀,log是配置后缀,中间是时间戳(框架默认创建时间)

之所以有多个,是因为多次启停了flume agent任务。

实时性观察

tail -f 容器服务日志文件

同时tail -f 转储后的日志文件

发现两边有一个大概10S内的时差,容器服务日志产生后,大概5-6s才会在转储文件tail -f 到

经验总结

1 该方式转储日志文件基本能保证实时,时差大概5-6s(本机测试,未考虑网络时延,仅供参考)

2 flume 停止后在启动,会生成新的转储文件

3 exec source 不支持断点续传,停止后再启动,停止时间段数据不会处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/53082.shtml

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

相关文章

随笔(1)将 CSV 文件导入 MySQL 时出现中文乱码问题解决方案

将 CSV 文件导入 MySQL 时出现中文乱码问题解决方案 一、检查 CSV 文件编码 确认 CSV 文件的编码格式。常见的编码有 UTF-8、GBK 等。你可以使用文本编辑器&#xff08;如 Notepad&#xff09;打开 CSV 文件&#xff0c;查看其编码格式。如果编码格式不是 UTF-8&#xff0c;可…

GPT-4o mini轻量级大模型颠覆AI的未来

GPT-4o mini发布&#xff0c;轻量级大模型如何颠覆AI的未来&#xff1f; 引言 随着人工智能技术的飞速发展&#xff0c;大型AI模型的发布已成常态。然而&#xff0c;庞大的计算资源和存储空间限制了它们在广泛场景中的应用。为满足市场需求&#xff0c;轻量级大模型应运而生&a…

TOMATO靶机漏洞复现

步骤一&#xff0c;我们来到tomato页面 什么也弄不了只有一番茄图片 弱口令不行&#xff0c;xxs也不行&#xff0c;xxe还是不行 我们来使用kali来操作... 步骤二&#xff0c;使用dirb再扫一下, dirb http://172.16.1.133 1.发现这个文件可以访问.我们来访问一下 /antibot_i…

【课程学习】信号检测与估计

文章目录 3.7-CRB延展到向量的形式3.8-参数变换形式的CRB CRB for transformation, pp45-463.9-高斯分布 CRLB for the General Gaussian Case3.7-CRB延展到向量的形式 0904 向量和变换形式的CRLB形式 估计参数真实值 θ \theta θ,估计值 θ ^ \hat \theta θ^ 与信号与系统…

C# NX二次开发-获取对象名称

UG软件是所有带标签对象都能设置名称和属性&#xff1a; 代码&#xff1a; theUf.Obj.AskName(body.Tag,out string name);name.NxListing(); 免责声明&#xff1a; 只用于参考&#xff0c;如果有什么问题不要找我呀。

NewStringUTF和GetStringUTFChars 的差别

NewStringUTF 和 GetStringUTFChars 是 JNI&#xff08;Java Native Interface&#xff09;提供的两个函数&#xff0c;它们都用于在 JNI 代码中处理字符串&#xff0c;但用途和行为有所不同&#xff1a; NewStringUTF 功能&#xff1a;NewStringUTF 用于在 JNI 代码中创建一个…

【JAVA入门】Day27 - 单列集合体系结构综述

【JAVA入门】Day27 - 单列集合体系结构 文章目录 【JAVA入门】Day27 - 单列集合体系结构1.1 Collection 集合的基本方法1.2 Collection 集合的遍历方式1.2.1 迭代器遍历1.2.2 增强 for 遍历1.2.3 利用 Lambda 表达式进行遍历 1.3 List 集合的基本方法1.4 List 集合的遍历方式 J…

WordPress自适应美图网站整站打包源码

直接服务器整站源码数据库打包了&#xff0c;恢复一下就可以直接投入使用。保证好用易用&#xff0c;无需独立服务器就可以使用。 强调一下&#xff0c;我这个和其他地方的不一样、不一样、不一样。具体的看下面的说明。 现在网络上同样的资源包都是用的加密带后门的主题&…

年化收益37.7%的A股小市值策略,小市值和动量因子长期有效(附具体逻辑)

“ 原创内容第640篇&#xff0c;专注量化投资、个人成长与财富自由” 股票的“小市值”策略&#xff0c;就像ETF的趋势动量一样&#xff0c;长期有效。 这是一个很神奇的异象。 年化37.07%&#xff0c;夏普0.89。 这里我做了一些特殊的处理&#xff1a; 1、包括排除了科创板…

LeetCode 2860.让所有学生保持开心的分组方法数:排序+遍历

【LetMeFly】2860.让所有学生保持开心的分组方法数&#xff1a;排序遍历 力扣题目链接&#xff1a;https://leetcode.cn/problems/happy-students/ 给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;其中 n 是班级中学生的总数。班主任希望能够在让所有学生保持…

Pencils Protocol生态新进展,即将上线 Vault 产品

“极高的盈利预期、通证的持续回购与销毁&#xff0c;Vault产品的推出正在成为Pencils Protocol生态发展的重磅利好。” Pencils Protocol是目前Scroll生态TVL最高的DeFi平台 &#xff0c;即便是行情整体较为平淡&#xff0c;其仍旧能够保持在3亿美元左右的锁仓价值&#xff0c…

JS中【普通函数中的this】vs【箭头函数中的this】

在 JavaScript 中&#xff0c;this 关键字是一个非常重要的概念&#xff0c;它通常指向函数执行时的上下文对象。然而&#xff0c;箭头函数&#xff08;arrow functions&#xff09;中的 this 行为与普通函数不同&#xff0c;它的 this 是在函数定义时绑定的&#xff0c;并且无…

day35-测试之性能测试JMeter的测试报告、并发数计算和性能监控

目录 一、JMeter的测试报告 1.1.聚合报告 1.2.html报告 二、JMeter的并发数计算 2.1.性能测试时的TPS&#xff0c;大都是根据用户真实的业务数据&#xff08;运营数据&#xff09;来计算的 2.2.运营数据 2.3.普通计算方法 2.4.二八原则计算方法 2.5.计算稳定性测试并发量 2.6…

【数学建模】国赛论文模型的建立与求解写作指南

一、内容含义 1、模型的建立 模型的建立是将问题抽象成数学语言的表达式&#xff0c;它一定是在先前的问题分析和模型假设的基础上得来的。因为比赛时间很紧&#xff0c;大多数时候我们都是使用别人已经建立好的模型。这一部分需要将题目问的问题和模型紧密结合起来切记随意套…

Mybatis链路分析:JDK动态代理和责任链模式的应用

背景 此前写过关于代理模式的文章&#xff0c;参考&#xff1a;代理模式 动态代理功能&#xff1a;生成一个Proxy代理类&#xff0c;Proxy代理类实现了业务接口&#xff0c;而通过调用Proxy代理类实现的业务接口&#xff0c;实际上会触发代理类的invoke增强处理方法。 责任链功…

Mac 安装Hadoop教程(HomeBrew安装)

1. 引言 本教程旨在介绍在Mac 电脑上安装Hadoop&#xff0c;便于编程开发人员对大数据技术的熟悉和掌握。 2.前提条件 2.1 安装JDK 想要在你的Mac电脑上安装Hadoop&#xff0c;你必须首先安装JDK。具体安装步骤这里就不详细描述了。你可参考Mac 安装JDK8。 2.2 配置ssh环境…

【conda】导出和重建 Conda 环境

目录 1. 导出 Conda 环境1.1 激活环境1.2 导出环境配置1.3 检查和编辑环境配置文件&#xff08;可选&#xff09;1.4 共享或重建环境 2. 常见问题及解决方案2.1 导出环境时出现 “PackagesNotFoundError”2.2 导出的 environment.yml 文件在其他系统上无法使用2.3 导出的环境文…

【时时三省】c语言例题----华为机试题<求最大连续bit数>。

目录 1,题目 描述 输入描述: 输出描述: 示例1 2,代码 3,官方案例 山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 1,题目 HJ86 求最大连续bit数 描述 求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个…

Docker入门学习-01

Docker 官方文档 1. Docker 基础知识 1.1 什么是 Docker&#xff1f; Docker 是一个开源的平台&#xff0c;用于开发、交付和运行应用程序。它使用容器技术&#xff0c;将应用程序及其依赖打包在一个轻量级的可移植容器中。 1.2 Docker 的主要组件 镜像&#xff08;Image&a…

【计算机视觉前沿研究 热点 顶会】ECCV 2024中目标检测有关的论文

整值训练和尖峰驱动推理尖峰神经网络用于高性能和节能的目标检测 与人工神经网络(ANN)相比&#xff0c;脑激励的脉冲神经网络(SNN)具有生物合理性和低功耗的优势。由于 SNN 的性能较差&#xff0c;目前的应用仅限于简单的分类任务。在这项工作中&#xff0c;我们专注于弥合人工…