Назад | Перейти на главную страницу

«Отследить» запрос сервера logstash

Предполагая, что у меня есть сервер 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 {}
}