Как логировать запрос и ответ тела в Istio - PullRequest
0 голосов
/ 17 декабря 2018

Я бы хотел регистрировать тело запроса и ответа от входящего трафика на каждый мой микросервис.Возможно ли это в Istio (Envoy) "из коробки"?Я не вижу атрибута тела для отображения в микшере EntryLog.Может быть, он будет добавлен в будущей версии Istio?

Конечно, я могу добиться этого, внедрив свой собственный фильтр в микросервисе, но, возможно, есть лучшее решение для достижения этой цели.

1 Ответ

0 голосов
/ 31 декабря 2018

Если я правильно понимаю ваш вопрос, то вам следует ознакомиться с этой документацией по фильтрам Lua.https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/lua_filter и https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/lua_filter#script-examples

body = handle: body () должен предоставить вам тело запроса или ответа в зависимости от дескриптора.

handle: logInfo (message)помочь вам войти.

Для меня заявление на печать также сработало.например, print (headers ["Cache-Control"]) помещал значение заголовка в журнал моего приложения на кластер kubernetes проекта GCP.

Вам необходимо применить EnvoyFilter в вашем кластере kubernetes и в коде lua, вы можете войти в тело запроса.Также имейте в виду, что «Фильтр должен быть настроен с именем envoy.lua» ТОЛЬКО

...