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

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

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

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

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

  • Если вы не знакомы с журналами ошибок 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 .