执行输出插件
编辑执行输出插件
编辑- 插件版本:v3.1.4
- 发布于:2018-04-06
- 更新日志
对于其他版本,请参阅版本化插件文档。
获取帮助
编辑有关插件的问题,请在讨论论坛中开设主题。对于错误或功能请求,请在Github中打开一个问题。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
描述
编辑exec 输出将为接收到的每个事件运行一个命令。将使用 Ruby 的 system()
函数,即命令字符串将传递给 shell。您可以使用 %{name}
和命令中的其他动态字符串,将事件中的选定字段传递给子进程。例如:
output { if [type] == "abuse" { exec { command => "iptables -A INPUT -s %{clientip} -j DROP" } } }
如果你想要非阻塞模式,你应该使用 &
或 dtach
或其他类似的技术。正在运行的命令没有超时时间,因此行为不端的命令可能会无限期地阻止 Logstash 管道。
请格外小心使用 %{name}
字段占位符。字段的内容将逐字包含,不进行任何清理,即来自字段值的任何 shell 元字符将直接传递到 shell。