В нашей текущей настройке мы используем Filebeat для отправки журналов в экземпляр Elasticsearch. Журналы приложений имеют формат JSON и работают в AWS.
. По какой-то причине AWS решил добавить префикс строк журнала в новую версию платформы, и теперь анализ журнала не работает .
Apr 17 06:33:32 ip-172-31-35-113 web: {"@timestamp":"2020-04-17T06:33:32.691Z","@version":"1","message":"Tomcat started on port(s): 5000 (http) with context path ''","logger_name":"org.springframework.boot.web.embedded.tomcat.TomcatWebServer","thread_name":"main","level":"INFO","level_value":20000}
Прежде чем это было просто:
{"@timestamp":"2020-04-17T06:33:32.691Z","@version":"1","message":"Tomcat started on port(s): 5000 (http) with context path ''","logger_name":"org.springframework.boot.web.embedded.tomcat.TomcatWebServer","thread_name":"main","level":"INFO","level_value":20000}
Вопрос заключается в том, можем ли мы избежать использования Logsta sh для преобразования строк журнала в старый формат? Если нет, как мне сбросить префикс? Какой фильтр является лучшим выбором для этого?
Моя текущая конфигурация Filebeat выглядит следующим образом:
filebeat.inputs:
- type: log
paths:
- /var/log/web-1.log
json.keys_under_root: true
json.ignore_decoding_error: true
json.overwrite_keys: true
fields_under_root: true
fields:
environment: ${ENV_NAME:not_set}
app: myapp
cloud.id: "${ELASTIC_CLOUD_ID:not_set}"
cloud.auth: "${ELASTIC_CLOUD_AUTH:not_set}"