Имеется сервер linux, в crontab которого запланирована задача: выполнение скрипта (допустим скрипт отправляет команду df -h), результат(лог) выполнения данного скрипта сохраняется в отдельный файл cron.log
crontab -e:
*/5 * * * * /script/df.sh > /etc/logs/cron.log
В cron.log появляется соответствующая информация.
/dev/sdb1 1t
/dev/sda1 2t и т.д
Информация с этого файла отправляется через filebeat прямиком на 5044 порт Logstash`a:
Далее logstash принимает этот файл и отправляет его в elasticsearch.
В кибане получается так, что каждая строка парсится в отдельный message,
а нужно, чтобы в одном message содержалась ВСЯ информация из лога
Конфиг logstash`a:
input {
beats {
port => 5044
}
}
filter{
}
}
output {
else if [type] == "serv1" {
elasticsearch {
hosts => "https://es:9200"
index => "log-%{+YYYY.MM.dd}"
user => "elastic"
password => "pass"
ssl => true
ssl_certificate_verification => false
}
}
}