Openliberty включает трассировки отладки проводов - PullRequest
1 голос
/ 07 января 2020

Я сталкиваюсь с проблемой, которая требует отладки HTTP-трафика c в двух микросервисах, мы внедряем наши микросервисы с помощью microprofile v3 и openliberty. Я пытался включить трассировку HTTP через сервер. xml и по переменным окружения безуспешно.

Кто-нибудь знает, как включить трассировки WIRE в Openliberty + OpenJ9 ?, мы используем в качестве базы docker image официальная открытая свобода: javaee8-java11 (Open Liberty 19.0.0.8/wlp-1.0.31.cl190820190813-1136)

Ответы [ 2 ]

2 голосов
/ 07 января 2020

Я подтвердил при разработке WAS, что Диагностика WAS c trace не печатает необработанное содержимое пакета тел запросов / ответов, хотя и печатает метаданные, такие как строки запроса / ответа и заголовки.

Несколько вариантов трассировки всего тела:

  1. Используйте прокси-сервер или сетевой анализатор за пределами Docker изображения.

  2. Если traffi c - это TLS, -Djavax.net.debug=all (или менее многословно, -Djavax.net.debug=ssl,plaintext) печатает содержимое ответа, хотя метаданных нет (т.е. нет строк запроса / ответа и заголовков).

  3. Установить и используйте tcpdump (конечно, если это TLS, вам понадобится закрытый ключ для расшифровки, и даже больше, если разговор использует шифр, такой как DHE):

    docker exec -u root -it $CONTAINER bash
      apt-get update
      apt-get install -y tcpdump
      tcpdump -nn -v -i any -B 4096 -s 0 -C 100 -W 10 -Z root -w capture_$(hostname)_$(date +"%Y%m%d_%H%M%S_%N").pcap
    

    tcpdump может быть вставлено в Dockerfile с:

    USER root
    RUN apt-get update && apt-get install -y tcpdump
    USER default
    [...]
    
  4. Использование Docker коляски .

1 голос
/ 07 января 2020

Я думаю, что самое близкое, что вы можете получить с помощью trace, это webcontainer + трассировка каркаса канала, то есть

"com.ibm.ws.webcontainer * = all: com.ibm.wsspi.webcontainer * = all: HTTPChannel = all: GenericBNF = all "

Если вам нужно больше, вам может понадобиться вставить какой-нибудь инструмент ведения журнала прокси между двумя микросервисами.

...