假设我有一个 logstash 服务器,里面塞满了定期加载的日志,有没有一种合理优雅的方法,可以跟踪 logstash 服务器上连续执行查询的结果,并在终端窗口中显示这些结果
例如
some-special-logstash-command.sh | egrep -v "(searchword1|searchword2)"
这个想法是,该命令将内容从 logstash 中传输到我的 grep 查询中,然后进行过滤并显示过滤后的输出。
.. 当然,如果有一个 logstash 命令也可以为我完成 grep 部分,那么它也可以工作 :)
这样做的动机是,假设我的所有遗产事件都被加载到logstash中,那么如果有一个终端窗口,其中有连续发生的有趣事件在屏幕上滚动出现,那就太好了。
-高手
答案1
在您的收集器中包含配置logstash
以执行grep
工作并输出stdout
。这是使用file
输入:
input {
file {
add_field => ... # hash (optional), default: {}
codec => ... # codec (optional), default: "plain"
discover_interval => ... # number (optional), default: 15
exclude => ... # array (optional)
path => ... # array (required)
sincedb_path => ... # string (optional)
sincedb_write_interval => ... # number (optional), default: 15
start_position => ... # string, one of ["beginning", "end"] (optional), default: "end"
stat_interval => ... # number (optional), default: 1
tags => ... # array (optional)
type => ... # string (optional)
}
}
filter {
grep {
add_field => ... # hash (optional), default: {}
add_tag => ... # array (optional), default: []
drop => ... # boolean (optional), default: true
ignore_case => ... # boolean (optional), default: false
match => ... # hash (optional), default: {}
negate => ... # boolean (optional), default: false
remove_field => ... # array (optional), default: []
remove_tag => ... # array (optional), default: []
}
}
output {
stdout {}
}