“跟踪”logstash 服务器查询

“跟踪”logstash 服务器查询

假设我有一个 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 {}
}

相关内容