无法 运行 Fluentd 上的简单 Python 脚本

Unable to Run a Simple Python Script on Fluentd

我有一个名为 script.py 的 python 脚本。当我 运行 此脚本时,它会在桌面上创建一个日志文件夹,并从网站下载所有必要的日志,并将它们作为 .log 文件写入此日志文件夹中。我希望 Fluentd 每 5 分钟 运行 这个脚本并且什么都不做。我在配置文件中的下一个 source 完成了将此日志数据发送到另一个地方的真正工作。如果桌面上已有日志文件夹,则此日志文件会正确上传到下一个目的地。但是脚本永远不会 运行s。如果我在本地删除我的日志文件夹,这就是 fluentd 给出的输出:

2020-07-27 10:20:42 +0200 [trace]: #0 plugin/buffer.rb:350:enqueue_all: enqueueing all chunks in buffer instance=47448563172440
2020-07-27 10:21:09 +0200 [trace]: #0 plugin/buffer.rb:350:enqueue_all: enqueueing all chunks in buffer instance=47448563172440
2020-07-27 10:21:36 +0200 [debug]: #0 plugin_helper/child_process.rb:255:child_process_execute_once: Executing command title=:exec_input spawn=[{}, "python /home/zohair/Desktop/script.py"] mode=[:read] stderr=:discard

如果 运行 在本地,如 python script.py

,这不会在我的桌面上提供日志文件夹,脚本通常会输出该文件夹

如果我已经有了日志文件夹,我可以正常地在标准输出上看到日志。这是我的配置文件:

<source>
@type exec
command python /home/someuser/Desktop/script.py
run_interval 5m
<parse>
@type none
keys none
</parse>
<extract> 
tag_key none
</extract>
</source>
 
 
<source>
@type tail
read_from_head true
path /home/someuser/Desktop/logs/*
tag sensor_1.log-raw-data
refresh_interval 5m
<parse>
@type none
</parse>
</source>
 
<match sensor_1.log-raw-data>
@type stdout
</match>
 

我只需要精通 运行 脚本,什么都不做,让其他来源获取此数据并将其发送到其他地方。有什么解决办法吗?

通过为 pip install -r requirements.txt 创建另一个 @type exec 解决了问题,该执行解决了 fluentd 错误日志中未显示的丢失模块错误(运行 fluentd 作为超级用户)。