0

我已logstash安排每天在3:00 A.M.. 我想要做的是每当读取索引时,我想调用Python Function我的项目中定义的Django,它将处理索引,然后更新ElasticSearch.

基本上,我每天通过获取所有事务logstash然后想要运行python script,如果获取成功然后处理事务(应用一些机器学习的东西)并将结果保存为另一个索引,Elasticsearch所以我需要帮助:

  • 更新索引时从 Elasticsearch 调用 python 脚本

我正在阅读:python 脚本的 ElasticSearch 文档,但无法像 ES 新手一样获得,也无法了解如何安排它。
虽然我可以让脚本在 Django 中作为单独的线程运行,并处理 ES 数据,但我想每天或每次调用索引时从 ES 调用它。
如果我可以调用多个脚本,那将是很好的补充,因为不同的脚本处理方式不同。
关于 ES 常见问题的问题

更新

也试过:

script_lang => "python"
script_type => "file"  # inline
script => "script.py"

Logstash.conf文件的输出中,似乎没有用。我的脚本保存在此处 的 logstash 文档的输出插件中的config/scripts文件夹Script 标签中

更新 2

还做了:

bin/logstash-plugin install logstash-output-exec

接着:

output {
stdout { codec => json_lines }
exec {
command => "echo hi"  # This works but for each document, hi, hi, hi...
-- If I replace with python path\script.py
}
}

因为没有办法像弹性讨论那样只执行一次 exec

4

0 回答 0