gpt4 book ai didi

ruby - [Fluentd]如何在fluentd中解压文件

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:42 29 4
gpt4 key购买 nike

我正在尝试使用 cat_sweep 插件在 fluentd 中处理扩展名为 .gz 的日志文件,但我的尝试失败了。如下面的配置所示,我正在尝试处理 /opt/logfiles/* 位置下的所有文件。但是,当文件格式为.gz 时,cat_sweep 无法处理文件,并开始删除文件,但如果我手动将文件解压缩到/opt/logfiles/ 位置,cat_sweep 能够进程, 文件.

<source>
@type cat_sweep
file_path_with_glob /opt/logfiles/*
format none
tag raw.log
waiting_seconds 0
remove_after_processing true
processing_file_suffix .processing
error_file_suffix .error
run_interval 5
</source>

所以现在我需要一些可以解压缩给定文件的插件。我尝试搜索可以解压缩压缩文件的插件。当我发现这个插件时,我接近了,它就像一个终端,我可以在其中使用类似 gzip -d file_path

的东西

插件链接:

http://docs.fluentd.org/v0.12/articles/in_exec

但我在这里看到的问题是,我无法在运行时发送要解压缩的文件的路径。

谁能帮我指点一下?

最佳答案

看你的要求,你还是可以用in_exec模块来实现,您需要做的是,简单地创建一个 shell 脚本,该脚本接受查找 .gz 文件的路径和匹配文件名的通配符模式。在 shell 脚本中,您可以将文件解压缩到使用给定通配符模式传递的 folder_path 中。基本上你的 shell 执行应该是这样的:

sh unzip.sh <folder_path_to_monitor> <wildcard_to_files>

并在您的配置中的 in_exec 标签中使用上述命令。您的配置将如下所示:

<source>
@type exec
format json
tag unzip.sh
command sh unzip.sh <folder_path_to_monitor> <wildcard_to_files>
run_interval 10s
</source>

关于ruby - [Fluentd]如何在fluentd中解压文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42811837/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com