Включение журналов отладки NGINX на маршрутизаторах

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

В Apigee маршрутизаторы по умолчанию настроены на регистрацию только сообщений об ошибках в файлах журнала ошибок. Однако может возникнуть множество ситуаций, когда вам может потребоваться собрать дополнительную информацию, чтобы определить причину возникновения конкретной ошибки. Один из способов сделать это — настроить маршрутизатор для работы в режиме отладки, чтобы вы могли получать журналы отладки, которые помогут вам получить больше информации об ошибке и быстрее ее устранить.

В этом документе объясняется, как включить журналы отладки на маршрутизаторе Apigee Edge для запросов на определенный виртуальный хост. Можно включить ведение журнала отладки для сбора дополнительной информации при возникновении каких-либо проблем, таких как неверный запрос, 400 неверный запрос — ошибка сертификата SSL , на северном направлении (между клиентским приложением и маршрутизатором).

Прежде чем начать

  • Если вы не знакомы с журналами ошибок NGINX и уровнями ведения журналов, обратитесь к документации журнала ошибок NGINX .
  • Соберите организацию, среду и имена виртуальных хостов запросов API, для которых вам необходимо собрать отладочную информацию.

Включение журналов отладки NGINX на маршрутизаторах

В этом разделе объясняется, как включить журналы отладки на пограничных маршрутизаторах.

Определение соответствующего файла конфигурации виртуального хоста

Следующие шаги описывают, как найти соответствующий файл конфигурации виртуального хоста на маршрутизаторе:

  1. Если вы знаете название организации, имя среды и виртуальный хост для конкретного запроса API, который вы хотите отладить, определите файл конфигурации виртуального хоста следующим образом:
    1. Перейдите в каталог /opt/nginx/conf.d/ .
    2. Найдите файл ORG_NAME _ ENV_NAME _ VIRTUALHOST .conf в каталоге conf.d , используя следующую команду:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
  2. Если вы не знаете название организации, вы можете идентифицировать файл конфигурации виртуального хоста, используя псевдоним хоста, который используется в запросе API, следующим образом:

    Перейдите в каталог /opt/nginx/conf.d/ и найдите hostalias , с помощью которых был сделан запрос, с помощью следующей команды:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'

    Пример вывода:

    Допустим, псевдоним хоста — opdk.cert-test.com . Когда вы запустите команду ls -ltrh , вы увидите результат, как показано ниже:

Включение ведения журнала отладки для определенного виртуального хоста на маршрутизаторе

Следующие шаги описывают, как включить журналы отладки на маршрутизаторах Apigee для определенного виртуального хоста.

  1. Откройте следующий файл на компьютере с маршрутизатором в редакторе: /opt/nginx/conf.d/ ORG_NAME _ ENV_NAME _ VIRTUALHOST_NAME .conf . Например:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
  2. Измените следующую строку:
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;

    к

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
  3. Сохраните изменения.
  4. Запустите команду перезагрузки NGINX. Например:
    sudo /opt/nginx/scripts/apigee-nginx reload
  5. Следующий файл теперь будет сохранять журналы отладки :
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  6. Если вы хотите вести журналы отладки на нескольких маршрутизаторах, повторите эти шаги на каждом из маршрутизаторов.

Проверка записи отладочной информации в файл журнала ошибок NGINX.

  1. Когда клиенты отправляют запросы API к псевдониму хоста и порту, связанным с конфигурацией виртуального хоста, журналы отладки будут записываться в следующий файл:

    /opt/apigee/var/log/edge-router/nginx/ ORG_NAME ~ ENV_NAME . PORT _error_log

  2. Убедитесь, что вы видите отладочную информацию для запросов API, как показано в следующем примере:

    Пример отладочной информации:

    2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"

    Информация, показанная выше, будет получена, когда клиент отправит запрос POST с большой полезной нагрузкой. Этот журнал будет отображаться только в том случае, если включено ведение журнала отладки.

  3. Если вы не видите дополнительную информацию об отладке, убедитесь, что вы правильно выполнили все шаги, описанные в разделе «Включение ведения журнала отладки для определенного виртуального хоста на маршрутизаторе» . Если вы пропустили какой-либо шаг, повторите все шаги еще раз правильно.
  4. Если вам по-прежнему не удается получить отладочную информацию, обратитесь в службу поддержки Apigee Edge .

Отключение журналов отладки для определенного виртуального хоста на маршрутизаторе

В этом разделе объясняется, как отключить журналы отладки на маршрутизаторе для определенного виртуального хоста.

  1. Откройте следующий файл на компьютере с маршрутизатором в редакторе: /opt/nginx/conf.d/ ORG_NAME _ ENV_NAME _ VIRTUALHOST_NAME .conf Например:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
  2. Измените следующую строку:

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;

    к

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
  3. Сохраните изменения.
  4. Запустите команду перезагрузки NGINX. Например:
    /opt/nginx/scripts/apigee-nginx reload
  5. Следующий файл теперь будет сохранять только журналы ошибок :
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  6. Если вы хотите остановить ведение журналов отладки на нескольких маршрутизаторах, повторите эти шаги на каждом из маршрутизаторов.

Проверка того, что в файл журнала ошибок NGINX записывается только информация об ошибках.

  1. Сделайте несколько запросов API к псевдониму хоста и порту, связанным с конкретной конфигурацией виртуального хоста, или подождите, пока клиенты сделают запросы.
  2. Проверьте следующий файл: /opt/apigee/var/log/edge-router/nginx/ ORG_NAME ~ ENV_NAME . PORT _error_log
  3. Убедитесь, что вы видите только информацию об ошибках, а информация об отладке больше не регистрируется для запросов.
  4. Если вы по-прежнему видите, что дополнительная информация об отладке записывается в журнал, убедитесь, что вы правильно выполнили все шаги, описанные в разделе Отключение журналов отладки для определенного виртуального хоста на маршрутизаторе . Если вы пропустили какой-либо шаг, повторите все шаги еще раз правильно.
  5. Если вам по-прежнему не удается получить отладочную информацию, обратитесь в службу поддержки Apigee Edge .