Я пытаюсь создать способ навигации по моим файлам журнала, и основные функции, которые мне нужны:
- искать строки внутри файла журнала (и возвращать строку вхождений).
- пагинация от строки
x
до строкиy
.
Теперь я проверял Logstash, и он отлично подходил для моей первой функции (поиск), но не очень для второй. У меня была идея, что я могу каким-то образом индексировать номер строки файла вместе с информацией журнала каждой записи, но я не могу найти способ.
Есть ли какой-то фильтр Logstash для этого? или процессор Filebeat? Я не могу заставить это работать.
Я подумал, что, возможно, я мог бы создать способ входа всех моих процессов в базу данных с обработанной информацией, но это также невозможно (или очень сложно), потому что обработчик журнала также не знает, какая текущая строка журнала.
В конце концов, что я мог бы сделать, так это то, что способ разбить мой файл журнала на страницы (через службу) будет состоять в том, чтобы фактически открыть его, перейти к определенной строке и показать его в службе, что не очень оптимально, так как файл может быть очень большим, и я уже индексирую его в Elasticsearch (с помощью Logstash).
Моя текущая конфигурация очень проста:
Файлбит
filebeat.prospectors:
- type: log
paths:
- /path/of/logs/*.log
output.logstash:
hosts: ["localhost:5044"]
Логсташ
input {
beats {
port => "5044"
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
Прямо сейчас, например, я получаю такой элемент, как:
{
"beat": {
"hostname": "my.local",
"name": "my.local",
"version": "6.2.2"
},
"@timestamp": "2018-02-26T04:25:16.832Z",
"host": "my.local",
"tags": [
"beats_input_codec_plain_applied",
],
"prospector": {
"type": "log"
},
"@version": "1",
"message": "2018-02-25 22:37:55 [mylibrary] INFO: this is an example log line",
"source": "/path/of/logs/example.log",
"offset": 1124
}
Если бы я мог каким-то образом включить в этот элемент поле типа line_number: 1
, было бы здорово, поскольку я мог бы использовать фильтры Elasticsearch для навигации по всем журналам.
Если у вас есть идеи по поводу различных способов хранения моих журналов (и навигации), пожалуйста, дайте мне знать