Exec 输出插件
编辑Exec 输出插件编辑
- 插件版本: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。
Exec 输出配置选项编辑
此插件支持以下配置选项以及稍后描述的通用选项。
另请参阅通用选项,了解所有输出插件支持的选项列表。