【问题标题】:Unable to Run a Simple Python Script on Fluentd无法在 Fluentd 上运行简单的 Python 脚本
【发布时间】:2020-11-16 13:28:07
【问题描述】:

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

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

【问题讨论】:

  • 这个日志(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)表示脚本正在执行。请从命令行或文件资源管理器检查文件夹中的文件更新,以验证文件是否正在更新。观察文件的时间戳。
  • 永远不会创建目录上的文件夹logs。如果我正常运行脚本,它会创建文件夹。 Python 中的脚本在 /home/someuser/Desktop/logs 中创建一个路径,然后将文件保存在那里。
  • 您的fluentd 版本是多少?您以 root 身份运行它。你确定这不是权限问题吗? chmod +x script.py然后直接运行呢?
  • 对。因此,权限/特权问题。不过,我很高兴你明白了。 :)
  • 您好,我在那里打开了一个问题。它是“requests”和“beautifulsoup4”模块。

标签: fluentd


【解决方案1】:

问题已通过为pip install -r requirements.txt 创建另一个@type exec 来解决,它完成了缺失的模块错误,该错误未显示在 fluentd 错误日志中(以超级用户身份运行 fluentd)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    相关资源
    最近更新 更多