Предполагая, что у меня есть сервер logstash, забитый регулярно загружаемыми журналами, есть ли достаточно элегантный способ, которым я могу отслеживать результаты непрерывно выполняемого запроса на сервере logstash и показывать это в окне терминала
например
some-special-logstash-command.sh | egrep -v "(searchword1|searchword2)"
идея состоит в том, что команда передает материал из logstash и в мой запрос grep, который фильтрует и показывает мне отфильтрованный вывод для.
.. конечно, если есть команда logstash, которая может сделать и для меня часть grep, то это тоже работает :)
мотивация для этого заключается в том, что если предположить, что все мои события из моего состояния загружаются в logstash, тогда было бы неплохо иметь окно терминала с непрерывным хвостом интересных событий, которые происходят при прокрутке мимо экрана.
-Ace
Включите конфигурацию в свой 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 {}
}