У нас есть агент Logstash, который записывает свои внутренние журналы в файл в фиксированном формате (сообщение, записанное в одну строку, здесь оно отформатировано для удобства чтения):
{
:timestamp => "2015-08-20T18:24:07.458000+0300",
:message => "SIGINT received. Shutting down the pipeline.",
:level => :warn
}
Я должен сделать rsyslog прочитать файл, получить журналы с :level => :error
и отправить куда-нибудь. я использовал imfile модуль для него, вот конфигурация:
module(load="imfile")
input(type="imfile"
file="/path/to/log_file"
tag="logstash:"
statefile="/path/to/state_file"
severity="error"
ruleset="logstash_internal")
ruleset(name="logstash_internal"){
# Some action goes here
...
}
Как мне выбрать из файла журнала только записи об ошибках, а не все?
Я вижу здесь два варианта: