Oto kilka typowych problemów i sposobów ich rozwiązywania w przypadku integracji z łącznikiem centrum interfejsów API.
Metadane interfejsu API nie są widoczne w centrum interfejsów API
- Czas pierwszej synchronizacji: rozpoczęcie pierwszej synchronizacji i wyświetlenie danych interfejsu API w centrum interfejsów API może potrwać kilka godzin. Zalecamy odczekanie kilku godzin.
- Stan instancji wtyczki: sprawdź, czy instancja wtyczki w centrum interfejsów API nie została usunięta ani zmieniona.
- Identyfikator bramy: sprawdź, czy w ustawieniach łącznika centrum interfejsów API Apigee Edge dla chmury prywatnej jest prawidłowo skonfigurowany identyfikator bramy.
- Sprawdź logi: sprawdź, czy w logach usługi łącznika centrum interfejsów API Edge for Private Cloud
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
nie ma żadnych błędów.
Wdrożono serwer proxy, ale informacje w centrum interfejsów API są nieprawidłowe
- Opóźnienie propagacji: odczekaj kilka minut, aż wdrożone informacje o serwerze proxy zostaną rozpowszechnione i odzwierciedlone w centrum interfejsów API.
- Sprawdź logi: przejrzyj logi łącznika centrum interfejsów API Edge for Private Cloud, aby uzyskać szczegółowe informacje o przesłanych serwerach proxy. Może to pomóc w określeniu, czy aktualizacja serwera proxy została pomyślnie przetworzona na potrzeby synchronizacji.
Synchronizacja organizacji użytkownika została zatrzymana bez wprowadzania zmian w łączniku centrum interfejsów API
- Stan instancji wtyczki (po stronie centrum interfejsów API): sprawdź, czy powiązana instancja wtyczki w centrum interfejsów API została wycofana, usunięta lub zmieniona. Wszelkie zmiany w centrum interfejsów API mogą bezpośrednio wpływać na synchronizację z łącznika centrum interfejsów API.
- Sprawdź logi: przejrzyj logi łącznika centrum interfejsów API Edge for Private Cloud pod kątem błędów, ostrzeżeń lub problemów, które mogą wskazywać na zakłócenie procesu synchronizacji. Mogą to być problemy z połączeniem lub uwierzytelnianiem w centrum interfejsów API.
Korzystanie z interfejsu Status API (zalecane w przypadku organizacji, które wyraziły zgodę na udział w programie):
Interfejs API stanu umożliwia bezpośrednie sprawdzenie, które organizacje wyraziły zgodę na synchronizację i aktywnie ją przeprowadzają.
Rozwiązywanie problemów na podstawie logów
Gdzie są przechowywane logi złącza centrum API?
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Jak uzyskać informacje o włączonych organizacjach?
Aby sprawdzić, które organizacje są obecnie włączone i synchronizowane, możesz użyć interfejsu API stanu i sprawdzić dzienniki systemowe.
- Działanie: wywołaj punkt końcowy interfejsu API stanu.
- Oczekiwane dane wyjściowe: organizacje, które wyraziły zgodę, będą wymienione w sekcjach
apiSyncStatus
ianalyticsSyncStatus
w odpowiedzi interfejsu API. Organizacje z włączoną synchronizacją metadanych będą wyświetlane w sekcjiapiSyncStatus
, a organizacje z włączoną synchronizacją w czasie działania – w sekcjianalyticsSyncStatus
.{ "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" } ] }
- Sprawdzanie dzienników systemowych: aby uzyskać bardziej szczegółowy widok i potwierdzić konfigurację synchronizacji w przypadku poszczególnych organizacji, możesz sprawdzić dzienniki systemowe pod kątem konkretnych wpisów.
- Sprawdź logi:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Polecenia wyszukiwania: użyj
grep
lub podobnych narzędzi do wyszukiwania logów, aby znaleźć te wiersze logów:- W przypadku synchronizacji metadanych organizacji org metadata-org:
grep "Setup metadata sync for organization: metadata-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Przykład fragmentu logu:
2025-07-10 08:47:09,901 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupMetadataSync() : Setup metadata sync for organization: metadata-org
- Znajdź tekst Skonfiguruj synchronizację metadanych dla organizacji:, a następnie nazwę organizacji.
- W przypadku synchronizacji danych w czasie działania organizacji runtime-org:
grep "Setup runtime data sync for organization: runtime-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Przykład fragmentu logu:
2025-07-10 08:47:09,902 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupRuntimeSyncData() : Setup runtime data sync for organization: runtime-org
- Znajdź tekst Skonfiguruj synchronizację danych środowiska wykonawczego dla organizacji:, a następnie nazwę organizacji.
- W przypadku synchronizacji metadanych organizacji org metadata-org:
- Sprawdź logi:
Jak uzyskać z logów informacje o wszystkich parach (organizacja, środowisko), których nie udało się włączyć?
Aby uzyskać informacje o organizacjach, których nie udało się włączyć, możesz sprawdzić dzienniki systemowe pod kątem konkretnych wpisów o błędach.
- Sprawdź logi:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Polecenia wyszukiwania: użyj narzędzi do wyszukiwania w dziennikach, np.
grep
, aby znaleźć wiersze dziennika wskazujące błąd podczas aktualizacji stanu synchronizacji metadanych.- W przypadku nieudanych aktualizacji stanu synchronizacji metadanych w organizacji lub środowisku: 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
- Przykład fragmentu logu:
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
- Poszukaj tekstu
Error while updating metadata sync status for org/env:
, a następnie nazwy organizacji i środowiska (np. failed-org/failed-env).
- W przypadku nieudanych aktualizacji stanu synchronizacji metadanych w organizacji lub środowisku: failed-org/failed-env:
Jak uzyskać podsumowanie zmiany stanu przeniesienia organizacji z logów?
Aby uzyskać podsumowanie informacji o tym, kiedy stan transferu synchronizacji (organizacja, środowisko) jest aktualizowany, możesz sprawdzić dzienniki systemowe pod kątem określonych wpisów.
- Sprawdź logi:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Polecenia wyszukiwania: użyj narzędzi do wyszukiwania w logach, np.
grep
, aby znaleźć wiersze logów wskazujące aktualizację stanu przenoszenia w przypadku organizacji i środowiska.- Informacje o stanie przeniesienia:
grep "Transfer status is updated for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Przykład fragmentu logu:
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
- Wyszukaj dokładny tekst „Transfer status is updated for org/env” (Zaktualizowano stan przenoszenia w przypadku org/env), a następnie konkretną organizację i środowisko (np. org1/prod) oraz stan.
- Informacje o stanie przeniesienia:
Aby wyświetlić wpisy w dzienniku związane z gromadzeniem i przesyłaniem danych protokołu poszczególnych serwerów proxy, możesz wyszukać konkretne wiersze dziennika.
- Lokalizacja pliku dziennika:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- Polecenia wyszukiwania: użyj narzędzi do wyszukiwania logów, np.
grep
, aby znaleźć wiersze logów wskazujące przesyłanie zebranych danych protokołu dla konkretnej organizacji i serwera proxy.- Scenariusz sukcesu: protokół serwera proxy jest przesyłany do API Hub. W tym przypadku wyszukaj tekst „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
- Zastąp
-org-name
rzeczywistą nazwą organizacji, a ciąg your-proxy-name rzeczywistą nazwą serwera proxy, który Cię interesuje. Przykładowy fragment dziennika: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"
Znajdź tekst „uploaded collect proto for org: ” (przesłano protokół zbierania danych dla organizacji: ) z nazwą organizacji, a potem „, proxy: ” (serwer proxy: ) z nazwą serwera proxy.
- Scenariusz błędu: nie udało się przesłać proto serwera proxy do centrum interfejsów API. W takim przypadku wyszukaj tekst „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
Zastąp your-org-name rzeczywistą nazwą organizacji, a your-proxy-name – rzeczywistą nazwą serwera proxy, która Cię interesuje.
Przykładowy fragment dziennika: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
Poszukaj tekstu „failed to publish collect proto for org: ” (nie udało się opublikować protokołu zbierania dla organizacji:), po którym następuje nazwa organizacji, a następnie „, proxy: ” (serwer proxy:), po którym następuje nazwa serwera proxy.
- Scenariusz sukcesu: protokół serwera proxy jest przesyłany do API Hub. W tym przypadku wyszukaj tekst „uploaded collect proto for org: {}, proxy: {},”
Środowisko wykonawcze/statystyki
Nie udało się opublikować nagrania w NFS
Przyczyna: wykorzystanie NFS przekracza 75%.
Aby to zrobić: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log
Przyczyna: synchronizacja środowiska wykonawczego łącznika centrum interfejsów API nie jest włączona lub jest nieprawidłowo skonfigurowana
Sprawdź te kwestie w /opt/apigee/customer/application/message-processor.properties:
:conf_message-processor-communication_uapim.enabled.environments=
Sprawdź, czy wyświetlona jest właściwa organizacja i środowisko.
conf_message-processor-communication_uapim.runtime.data.path=
Upewnij się, że wskazuje on prawidłową ścieżkę NFS.
Jak sprawdzić, czy dane zostały opublikowane w NFS
Rekordy są przechowywane w określonej ścieżce NFS, np. „/the/nfs/staging”.
Możesz bezpośrednio sprawdzić zawartość tego katalogu, aby znaleźć nowo utworzone pliki. Obecność plików oznacza, że publikowanie w NFS się powiodło.
Plik danych został usunięty bez przetwarzania
Przyczyna: nazwa pliku nie zawierała prawidłowych informacji o organizacji lub środowisku.
Dziennik do sprawdzenia:
grep "Skipped and Deleted file" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Plik został usunięty z powodu braku konfiguracji organizacji
Przyczyna: nie znaleziono konfiguracji specyficznej dla organizacji.
Dziennik do sprawdzenia:
grep "Deleted file .* due to missing org config" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Plik został usunięty z powodu nieprawidłowego środowiska
Przyczyna: środowisko przeanalizowane na podstawie nazwy pliku nie istnieje w konfiguracji organizacji.
Dziennik do sprawdzenia:
grep "Deleted file .* due to invalid env" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Nie udało się przesłać pliku do Pub/Sub
Przyczyna: nie udało się utworzyć wydawcy (np. z powodu nieprawidłowo skonfigurowanego konta usługi lub tematu).
Log to Check:
grep "Failed to create publisher for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Przesłano częściowo – nie udało się przesłać niektórych rekordów
Przyczyna: nie udało się opublikować niektórych rekordów w pliku.
Log to Check:
grep "was not completely published" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Plik został w pełni przetworzony i usunięty
Dziennik do sprawdzenia:
grep "File .* completely published to topic" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log