У меня возникла эта проблема, у меня есть кластер EKS, который отправляет журналы в Cloudwatch, а затем Firehose передает журналы в корзину s3.
Моя цель — получить эти журналы с s3 и отправить их в elasticsearch в больших количествах. Я написал лямбда-функцию Python, и она отлично работает, когда журналы представляют собой jsons. Моя проблема в том, что некоторые журналы представляют собой строки или «своего рода» JSON.
Пример:
куб-аутентификатор:
time="2019-09-13T09:30:50Z" level=error msg="Watch channel closed."
kube-apiserver :
E0912 10:19:10.649757 1 watcher.go:208] watch chan error: etcdserver: mvcc: required revision has been compacted
Мне интересно, должен ли я попытаться обернуть эти сообщения и преобразовать их в JSON или есть какой-либо способ изменить формат журнала на JSON. Я думал о написании регулярного выражения, но у меня недостаточно знаний о регулярном выражении.
data.Body.toString('utf-8');
- person Adiii   schedule 13.09.2019