Risolvere i problemi di integrazione

Di seguito sono riportati alcuni problemi comuni e i passaggi per la risoluzione dei problemi relativi all'integrazione del connettore dell'hub API.

I metadati dell'API non vengono visualizzati nell'hub API

  • Tempo di sincronizzazione iniziale:possono essere necessarie alcune ore prima che la sincronizzazione iniziale inizi e che i dati API vengano visualizzati in API Hub. Ti consigliamo di attendere qualche ora.
  • Stato dell'istanza del plug-in:verifica che l'istanza del plug-in nell'hub API non sia stata eliminata o modificata.
  • ID gateway:assicurati che l'ID gateway corretto sia configurato correttamente nelle impostazioni del connettore dell'hub API Apigee Edge for Private Cloud.
  • Controlla i log:verifica se è stato registrato qualche errore nei log del servizio del connettore dell'hub API Edge for Private Cloud /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log.

Proxy di cui è stato eseguito il deployment, ma le informazioni nell'hub API non sono accurate

  • Ritardo di propagazione:attendi alcuni minuti affinché le informazioni sul proxy di cui è stato eseguito il deployment vengano propagate e visualizzate nell'hub API.
  • Controlla i log:esamina i log del connettore dell'hub API Edge for Private Cloud per informazioni dettagliate sui proxy caricati. Ciò può aiutarti a identificare se l'aggiornamento del proxy è stato elaborato correttamente per la sincronizzazione.

L'organizzazione utente ha interrotto la sincronizzazione senza modificare nulla nel connettore dell'hub API

  • Stato dell'istanza del plug-in (lato hub API): verifica se l'istanza del plug-in associata nell'hub API è stata deprovisioning, eliminata o modificata. Qualsiasi modifica apportata al lato dell'hub API può influire direttamente sulla sincronizzazione dal connettore dell'hub API.
  • Controlla i log:esamina i log del connettore dell'hub API Edge for Private Cloud per verificare la presenza di errori, avvisi o problemi che potrebbero indicare un'interruzione del processo di sincronizzazione. Potrebbero essere inclusi problemi di connettività o di autenticazione con l'hub API.

L'API di stato fornisce un modo diretto per vedere quali organizzazioni hanno attivato la sincronizzazione e la stanno eseguendo attivamente.

Risoluzione dei problemi basata sui log

Dove vengono archiviati i log del connettore dell'hub API?

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

Come faccio a ottenere informazioni sulle organizzazioni abilitate?

Per determinare quali organizzazioni sono attualmente abilitate e sincronizzate, puoi utilizzare l'API di stato e controllare i log di sistema.

  • Azione:chiama l'endpoint API di stato.
  • Output previsto:le organizzazioni che hanno attivato la funzionalità verranno elencate nelle sezioni apiSyncStatus e analyticsSyncStatus all'interno della risposta dell'API. Le organizzazioni con la sincronizzazione dei metadati abilitata vengono visualizzate in apiSyncStatus, mentre quelle con la sincronizzazione in fase di runtime abilitata vengono visualizzate in 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"
       }
     ]
    }
    
  • Ispezione dei log di sistema:per una visualizzazione più granulare e per confermare la configurazione della sincronizzazione per singole organizzazioni, puoi esaminare i log di sistema per voci specifiche.
    • Controlla i log:
      /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • Comandi di ricerca:utilizza grep o strumenti di ricerca dei log simili per trovare le seguenti righe di log:
      • Per la sincronizzazione dei metadati dell'organizzazione:
        grep "Setup metadata sync for organization: metadata-org"  /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • Esempio di snippet di log:
        2025-07-10 08:47:09,901  main INFO  c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupMetadataSync() : Setup metadata sync for organization: metadata-org
      • Cerca il testo Configurazione della sincronizzazione dei metadati per l'organizzazione: seguito dal nome dell'organizzazione.
      • Per la sincronizzazione dei dati di runtime di org runtime-org:
        grep "Setup runtime data sync for organization: runtime-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • Esempio di snippet di 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
      • Cerca il testo Configura la sincronizzazione dei dati di runtime per l'organizzazione: seguito dal nome dell'organizzazione.

Come faccio a ottenere informazioni su tutte le coppie (organizzazione,ambiente) per cui non è stato possibile eseguire l'attivazione dai log?

Per ottenere informazioni sulle organizzazioni per cui non è stato possibile eseguire l'attivazione, puoi esaminare i log di sistema per trovare voci di errore specifiche.

  • Controllare i log: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
  • Comandi di ricerca:utilizza grep o strumenti di ricerca dei log simili per trovare le righe di log che indicano un errore durante l'aggiornamento dello stato di sincronizzazione dei metadati.
    • Per gli aggiornamenti dello stato di sincronizzazione dei metadati non riuscita per org/env 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
    • Esempio di snippet di 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
    • Cerca il testo Error while updating metadata sync status for org/env: seguito dall'organizzazione e dall'ambiente (ad esempio, failed-org/failed-env).

Come faccio a ottenere un riepilogo della modifica dello stato del trasferimento dell'organizzazione dai log?

Per ottenere un riepilogo di quando viene aggiornato lo stato di trasferimento della sincronizzazione di un'organizzazione o un ambiente, puoi esaminare i log di sistema per voci specifiche.

  • Controllare i log: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
  • Comandi di ricerca: utilizza grep o strumenti di ricerca dei log simili per trovare le righe di log che indicano un aggiornamento dello stato del trasferimento per un'organizzazione e un ambiente.
    • Per gli aggiornamenti sullo stato del trasferimento:
      grep "Transfer status is updated for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • Esempio di snippet di 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
    • Cerca il testo esatto "Lo stato del trasferimento è stato aggiornato per l'organizzazione/l'ambiente" seguito dall'organizzazione e dall'ambiente specifici (ad es. org1/prod) e dallo stato.
  • Come faccio a visualizzare i risultati per i singoli proxy?

    Per visualizzare le voci di log relative alla raccolta e al caricamento dei dati proto dei singoli proxy, puoi cercare righe di log specifiche.

    • Posizione del file di log: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • Comandi di ricerca:utilizza grep o strumenti di ricerca dei log simili per trovare le righe di log che indicano il caricamento dei dati proto raccolti per un'organizzazione e un proxy specifici.
      • Scenario di successo: il proxy proto viene caricato su API Hub. In questo caso, cerca il testo "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
      • Sostituisci -org-name con il nome dell'organizzazione effettivo e your-proxy-name con il nome del proxy effettivo che ti interessa. Esempio di snippet di log:
        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"

        Cerca il testo "uploaded collect proto for org: " (è stato caricato il proto di raccolta per l'organizzazione) seguito dal nome dell'organizzazione, poi ", proxy: " (proxy) seguito dal nome del proxy.

      • Scenario di errore: il caricamento del proto del proxy nell'hub API non è riuscito. In questo caso, cerca il testo "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

        Sostituisci your-org-name con il nome dell'organizzazione e your-proxy-name con il nome del proxy che ti interessa.

        Esempio di snippet di log:
        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

        Cerca il testo "failed to publish collect proto for org: " seguito dal nome dell'organizzazione, poi ", proxy: " seguito dal nome del proxy.

    Runtime/Analytics

    Impossibile pubblicare il record su NFS

    Causa: l'utilizzo di NFS è superiore al 75%.

    Per verificare: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log

    Causa: la sincronizzazione del runtime del connettore hub API non è abilitata o è configurata in modo errato

    Controlla quanto segue in /opt/apigee/customer/application/message-processor.properties: conf_message-processor-communication_uapim.enabled.environments=

    Assicurati che siano elencati l'organizzazione e l'ambiente corretti.

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

    Assicurati che punti al percorso NFS corretto.

    Come determinare se i dati sono stati pubblicati correttamente nel file system di rete (NFS)

    I record vengono archiviati in un percorso NFS specifico, ad esempio "/the/nfs/staging".

    Puoi controllare direttamente i contenuti di questa directory per i file appena creati. La presenza di file indica la pubblicazione riuscita su NFS.

    File di dati eliminato senza elaborazione

    Causa: il nome del file non conteneva informazioni valide sull'organizzazione/sull'ambiente.

    Log da controllare: grep "Skipped and Deleted file" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    File eliminato a causa della configurazione dell'organizzazione mancante

    Causa: configurazione specifica dell'organizzazione non trovata.

    Log da controllare: grep "Deleted file .* due to missing org config" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    File eliminato a causa di un ambiente non valido

    Causa: l'ambiente analizzato dal nome file non esiste nella configurazione dell'organizzazione.

    Log da controllare: grep "Deleted file .* due to invalid env" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Impossibile caricare il file in Pub/Sub

    Causa: impossibile creare il publisher (ad es. account di servizio o argomento configurato in modo errato).

    Log to Check: grep "Failed to create publisher for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Caricamento parziale. Alcuni record non sono stati caricati.

    Causa: alcuni record nel file non sono stati pubblicati.

    Log to Check: grep "was not completely published" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    File elaborato ed eliminato

    Log da controllare: grep "File .* completely published to topic" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log