Here are some common issues and their troubleshooting steps for the API hub connector integration.
API metadata does not show up in API hub
- Initial sync time: It can take a few hours for the initial synchronization to start and for API data to appear in API Hub. It is recommended to wait for a few hours.
- Plugin instance status: Verify that the Plugin instance in API hub has not been deleted or changed.
- Gateway ID: Ensure the correct Gateway ID is configured properly in your Apigee Edge for Private Cloud API hub connector settings.
- Check logs: Check if there is any error logged in Edge for Private Cloud API hub connector service logs
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
.
Proxy deployed but information in API hub is not accurate
- Propagation Delay: Allow a few minutes for deployed proxy information to propagate and be reflected in API hub.
- Check logs: Review the Edge for Private Cloud API hub connector logs for details on uploaded proxies. This can help identify if the proxy update was successfully processed for synchronization.
User organization stopped syncing without changing anything in API hub connector
- Plugin instance status (API hub side): Verify if the associated plugin instance in API hub has been deprovisioned, deleted, or altered. Any changes on the API hub side can directly impact synchronization from the API hub connector.
- Check logs: Review the Edge for Private Cloud API hub connector logs for any errors, warnings, or issues that might indicate a disruption in the synchronization process. This could include connectivity issues or authentication problems with API hub.
Using the status API (Recommended for opted-in organizations):
The status API provides a direct way to see which organizations have opted in and are actively synchronizing.
Log based troubleshooting
Where are the API hub connector logs stored?
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
How do I get information about the orgs that are enabled?
To determine which organizations (orgs) are currently enabled and being synchronized, you can leverage the status API and inspect the system logs.
- Action: Call the status API endpoint.
- Expected output: Opted-in organizations will be listed under the
apiSyncStatus
andanalyticsSyncStatus
sections within the API response. Orgs with Metadata sync enabled will show up underapiSyncStatus
and Orgs with runtime sync enabled will show up underanalyticsSyncStatus
.{ "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" } ] }
- Inspecting system logs: For a more granular view and to confirm the setup of synchronization for individual organizations, you can examine the system logs for specific entries.
- Check logs:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Search commands: Use
grep
or similar log searching tools to find the following log lines:- For metadata synchronization of org metadata-org:
grep "Setup metadata sync for organization: metadata-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Example log snippet:
2025-07-10 08:47:09,901 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupMetadataSync() : Setup metadata sync for organization: metadata-org
- Look for the text Setup metadata sync for organization: followed by the organization name.
- For runtime data synchronization of org runtime-org:
grep "Setup runtime data sync for organization: runtime-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Example log snippet:
2025-07-10 08:47:09,902 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupRuntimeSyncData() : Setup runtime data sync for organization: runtime-org
- Look for the text Setup runtime data sync for organization: followed by the organization name.
- For metadata synchronization of org metadata-org:
- Check logs:
How do I get information of all the (org,env) that failed to be enabled from logs?
To get information about organizations that failed to be enabled, you can examine the system logs for specific error entries.
- Check logs:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Search commands: Use
grep
or similar log searching tools to find log lines indicating an error during the metadata sync status update.- For failed metadata synchronization status updates for 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
- Example log snippet:
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
- Look for the text
Error while updating metadata sync status for org/env:
followed by the organization and environment (for example, failed-org/failed-env).
- For failed metadata synchronization status updates for org/env failed-org/failed-env:
How can I get a summary of the transfer state change of org from logs?
To get a summary of when an (org, env) synchronization transfer state is updated, you can examine the system logs for specific entries.
- Check logs:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Search commands Use
grep
or similar log searching tools to find log lines indicating an update to the transfer status for an organization and environment.- For transfer status updates:
grep "Transfer status is updated for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Example log snippet:
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
- Look for the exact text "Transfer status is updated for org/env" followed by the specific organization and environment (e.g., org1/prod) and the state.
- For transfer status updates:
To see log entries related to the collection and upload of proto data of individual proxies, you can search for specific log lines.
- Log File Location:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Search Commands: Use
grep
or similar log searching tools to find log lines indicating the upload of collected proto data for a specific organization and proxy.- Success Scenario: Proxy proto is uploaded to API Hub, in this case search for the text “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
- Replace your
-org-name
with the actual organization name and your-proxy-name with the actual proxy name you are interested in. Example Log Snippet: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"
Look for the text "uploaded collect proto for org: " followed by the organization name, then ", proxy: " followed by the proxy name.
- Failure scenario: Proxy proto is upload to API Hub failed, in this case search for the text “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
Replace your-org-name with the actual organization name and your-proxy-name with the actual proxy name you are interested in.
Example Log Snippet: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
Look for the text "failed to publish collect proto for org: " followed by the organization name, then ", proxy: " followed by the proxy name.
- Success Scenario: Proxy proto is uploaded to API Hub, in this case search for the text “uploaded collect proto for org: {}, proxy: {},”
Runtime/Analytics
Record failed to publish to NFS
Cause: NFS utilization is above 75%.
To verify: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log
Cause: API hub connector runtime sync not enabled or misconfigured
Check the following in /opt/apigee/customer/application/message-processor.properties:
conf_message-processor-communication_uapim.enabled.environments=
Ensure the correct org and environment are listed.
conf_message-processor-communication_uapim.runtime.data.path=
Ensure it points to the correct NFS path.
How to determine if data has been successfully published to the NFS
Records are stored in a specific NFS path, for example “/the/nfs/staging”.
You can directly check the contents of this directory for newly created files. The presence of files indicates successful publishing to NFS.
Data File Deleted Without Processing
Cause: The filename did not contain valid organization/environment info.
Log to check:
grep "Skipped and Deleted file" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
File Deleted Due to Missing Org Configuration
Cause: Org-specific configuration not found.
Log to check:
grep "Deleted file .* due to missing org config" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
File Deleted Due to Invalid Environment
Cause: The environment parsed from filename does not exist in the org config.
Log to check:
grep "Deleted file .* due to invalid env" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
File Failed to Upload to Pub/Sub
Cause: Publisher could not be created (e.g., misconfigured service account or topic).
Log to Check:
grep "Failed to create publisher for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Partial Upload – Some Records Failed
Cause: Some records in the file failed to be published.
Log to Check:
grep "was not completely published" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
File Fully Processed and Deleted
Log to check:
grep "File .* completely published to topic" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log