Устранение неполадок с интеграцией

Ниже перечислены распространенные проблемы с интеграцией коннектора API Hub и способы их решения.

Метаданные API не отображаются в центре API

  • Время первой синхронизации. Первая синхронизация может начаться через несколько часов, и данные API появятся в API Hub. Рекомендуем подождать несколько часов.
  • Статус экземпляра плагина. Убедитесь, что экземпляр плагина в центре API не был удален или изменен.
  • Идентификатор шлюза. Убедитесь, что в настройках коннектора API-хаба Apigee Edge для частного облака правильно указан идентификатор шлюза.
  • Проверьте журналы. Посмотрите, есть ли ошибки в журналах сервиса коннектора API-хаба Edge для частного облака /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log.

Прокси-сервер развернут, но информация в центре API неточная

  • Задержка распространения. После развертывания информации о прокси-сервере может пройти несколько минут, прежде чем она распространится и будет отражена в центре API.
  • Проверьте журналы. В журналах коннектора API-хаба Edge для частного облака можно найти подробную информацию о загруженных прокси. Это поможет определить, успешно ли было обработано обновление прокси-сервера для синхронизации.

Синхронизация организации пользователя прекратилась без изменений в коннекторе API Hub

  • Статус экземпляра плагина (на стороне API-концентратора). Проверьте, был ли связанный экземпляр плагина в API-концентраторе удален, изменен или отменен. Любые изменения в API-хабе могут напрямую повлиять на синхронизацию через коннектор API-хаба.
  • Проверьте журналы. Изучите журналы коннектора API-хаба Edge для частного облака на наличие ошибок, предупреждений или проблем, которые могут указывать на сбой в процессе синхронизации. Это могут быть проблемы с подключением или аутентификацией в центре API.

API статуса позволяет напрямую узнать, какие организации включили синхронизацию и активно ее выполняют.

Устранение неполадок на основе журналов

Где хранятся журналы коннектора API Hub?

/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

Как получить информацию о включенных организациях?

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

  • Действие. Вызовите конечную точку API статуса.
  • Ожидаемый результат. Организации, которые согласились на передачу данных, будут указаны в разделах apiSyncStatus и analyticsSyncStatus ответа API. Организации, в которых включена синхронизация метаданных, будут указаны в разделе apiSyncStatus, а организации, в которых включена синхронизация во время выполнения, – в разделе analyticsSyncStatus.
    {
     "apiSyncStatus": [
       {
         "organization": "foo",
         "phase": "Preparing", // ColdTransfer => Preparing
         "components": [
           "proxy": {
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 100, // total proxies known to uapim connector
               "pendingItems": 90,  // pending proxies to upload
               "completedItems": 6, // completed proxies to upload
               "failedItems": 4 // proxies failed to upload
             }
           },
           "environment": { //environment upload status
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 5, // total number of environments
               "pendingItems": 1, // pending environments to process
               "completedItems": 3, // completed environment processing
               "failedItems": 1 // failed environment processing
             }
           }]
       },
       {
         "organization": "bar",
         "phase": "Processing", // "Streaming" -> "Processing"
         "components": [
           "proxy": {
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 110, // total proxies known to uapim connector
               "pendingItems": 16, // pending proxies to upload
               "completedItems": 3, // completed proxies to upload
               "failedItems": 1 // proxies failed to upload
             }
           },
           "environment": {
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 5, // total number of environments
               "pendingItems": 3, // pending environments to process
               "completedItems": 1, // completed environment processing
               "failedItems": 1 // failed environment processing
             }
           }]
       },
       {
         "organization": "test",
         "phase": "Queued", // "Yet to start" -> "Queued"
         "lastUpdated": "2025-04-16T00:56:45Z"
       }
     ],
     "analyticsSyncStatus": [
       {
         "organization": "test",
         "environment": "dev",
         "failedItems": 2,
         "lastUpdated": "2025-04-16T00:56:45Z"
       },
       {
         "organization": "test",
         "environment": "prod",
         "failedItems": 4,
         "lastUpdated": "2025-04-16T00:56:45Z"
       }
     ]
    }
    
  • Проверка системных журналов. Чтобы получить более подробную информацию и подтвердить настройку синхронизации для отдельных организаций, вы можете изучить системные журналы на предмет определенных записей.
    • Проверьте журналы
      /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • Команды поиска. Используйте grep или похожие инструменты поиска по журналам, чтобы найти следующие строки журнала:
      • Для синхронизации метаданных организации:
        grep "Setup metadata sync for organization: metadata-org"  /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • Пример фрагмента журнала
        2025-07-10 08:47:09,901  main INFO  c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupMetadataSync() : Setup metadata sync for organization: metadata-org
      • Найдите текст Настройте синхронизацию метаданных для организации:, за которым следует название организации.
      • Для синхронизации данных во время выполнения организации runtime-org:
        grep "Setup runtime data sync for organization: runtime-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • Пример фрагмента журнала
        2025-07-10 08:47:09,902  main INFO  c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupRuntimeSyncData() : Setup runtime data sync for organization: runtime-org
      • Найдите текст Настройте синхронизацию данных среды выполнения для организации:, за которым следует название организации.

Как получить из журналов информацию обо всех организациях и средах,которые не удалось включить?

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

  • Проверьте журналы: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
  • Команды поиска. Используйте grep или другие инструменты поиска по журналам, чтобы найти строки журнала, указывающие на ошибку при обновлении статуса синхронизации метаданных.
    • Для неудачных обновлений статуса синхронизации метаданных для организации или среды: failed-org/failed-env:
      grep "Error while updating metadata sync status for org: failed-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • Пример фрагмента журнала
      2025-07-15 10:30:15,123 main ERROR c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateMetadataSyncStatus() : Error while updating metadata sync status for org: failed-org
    • Найдите текст Error while updating metadata sync status for org/env:, за которым следуют название организации и среды (например, failed-org/failed-env).

Как получить сводку об изменении статуса переноса организации из журналов?

Чтобы получить сводку о том, когда обновляется статус передачи синхронизации (org, env), вы можете изучить системные журналы на предмет определенных записей.

  • Проверьте журналы: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
  • Команды поиска. Используйте grep или похожие инструменты поиска по журналам, чтобы найти строки журнала, указывающие на обновление статуса переноса для организации и среды.
    • Чтобы узнать статус переноса:
      grep "Transfer status is updated for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • Пример фрагмента журнала
      2025-07-15 18:35:01,789 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateTransferStatus() : Transfer status is updated for org: org1 to BULK_TRANSFER
      2025-07-10 08:47:11,364  main INFO  c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.updateEnvironmentStatus() : Transfer status is updated for org: org1 to STREAMING
    • Найдите точный текст "Статус передачи обновлен для организации/среды", за которым следуют название организации и среды (например, org1/prod) и статус.
  • Как посмотреть результаты для отдельных прокси-серверов?

    Чтобы посмотреть записи журнала, связанные со сбором и загрузкой данных протокола отдельных прокси-серверов, можно выполнить поиск по определенным строкам журнала.

    • Местоположение файла журнала: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • Команды поиска. Используйте grep или другие инструменты поиска по журналам, чтобы найти строки журнала, указывающие на загрузку собранных данных протокола для определенной организации и прокси-сервера.
      • Успешный сценарий. Протокол прокси-сервера загружен в API Hub. В этом случае найдите текст "uploaded collect proto for org: {}, proxy: {},". grep "uploaded collect proto for org: your-org-name, proxy: your-proxy-name, with messageId:" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • Замените -org-name на название организации, а your-proxy-name – на название нужного прокси-сервера. Пример фрагмента журнала
        2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : uploaded collect proto for org: org1, proxy: proxy1, with messageId: message_ids: "15569268426032329"

        Найдите текст "uploaded collect proto for org: ", за которым следует название организации, а затем ", proxy: ", за которым следует название прокси-сервера.

      • Сценарий сбоя. Не удалось загрузить протокол прокси-сервера в API Hub. В этом случае найдите текст "Failed to publish collect proto for org: {}, proxy: {}," grep "Failed to publish collect proto for org: your-org-name, proxy: your-proxy-name, " /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

        Замените your-org-name на название организации, а your-proxy-name – на название нужного прокси-сервера.

        Пример фрагмента журнала
        2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : Failed to publish collect proto for org: org1, proxy: proxy1

        Найдите текст "failed to publish collect proto for org: ", за которым следует название организации, а затем ", proxy: ", за которым следует название прокси.

    Runtime/Analytics

    Не удалось опубликовать запись в NFS

    Причина. Использование NFS превышает 75%.

    Чтобы проверить, выполните следующие действия: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log

    Причина: синхронизация времени выполнения коннектора API Hub не включена или настроена неправильно

    Проверьте следующее в /opt/apigee/customer/application/message-processor.properties:: conf_message-processor-communication_uapim.enabled.environments=

    Убедитесь, что указаны правильная организация и среда.

    conf_message-processor-communication_uapim.runtime.data.path=

    Убедитесь, что он указывает на правильный путь NFS.

    Как проверить, опубликованы ли данные в NFS

    Записи хранятся по определенному пути NFS, например /the/nfs/staging.

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

    Файл данных удален без обработки

    Причина. В названии файла не было действительной информации об организации или среде.

    Журнал, который нужно проверить: grep "Skipped and Deleted file" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Файл удален из-за отсутствия конфигурации организации

    Причина. Не найдена конфигурация, относящаяся к организации.

    Журнал, который нужно проверить: grep "Deleted file .* due to missing org config" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Файл удален из-за недопустимой среды

    Причина. Среда, полученная из названия файла, не существует в конфигурации организации.

    Журнал, который нужно проверить: grep "Deleted file .* due to invalid env" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Не удалось загрузить файл в Pub/Sub

    Причина. Не удалось создать издателя (например, из-за неправильной настройки сервисного аккаунта или темы).

    Журнал для проверки grep "Failed to create publisher for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Частичная загрузка – некоторые записи не удалось загрузить

    Причина. Не удалось опубликовать некоторые записи в файле.

    Журнал для проверки grep "was not completely published" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Файл полностью обработан и удален

    Журнал, который нужно проверить: grep "File .* completely published to topic" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log