Logs sind eine gute Möglichkeit, um Probleme mit Ihrer Apigee-Hybridinstallation zu beheben. Weitere Informationen finden Sie unter Logging.
Sie können Apigee-Synchronizer-Logs mit dem Befehlkubectl logs
aufrufen. Beispiel:
kubectl logs -n apigee apigee-synchronizer-apigee-example-test
Synchronizer-Logeinträge
In der folgenden Tabelle werden die Felder beschrieben, die Sie in Synchronizer-Logdateien sehen.
Feld | Angabe |
---|---|
org: |
Name der Organisation |
env: |
Name der Umgebung |
target: |
Pfad der Entität, für die der Logeintrag steht |
action: |
Aktion "SYNC=Upstream-Synchronisierung" REPLICATE=Aktion zum Replizieren/Herunterladen |
context-id: |
Die Vertragsversion, sofern zutreffend |
Beispiele:
2019-02-05 00:00:59,098 org:hybrid env:test target: action:SYNC context-id: mode: Apigee-Timer-5 INFO CONFIG-CHANGE - SyncContext.syncUpStream() : Upstream sync started with https://apigee.googleapis.com
Synchronizer-Logs
Wenn Sie ein Problem mit dem Synchronizer beheben müssen, sehen Sie sich die Logdateien an. Die folgende Tabelle kann beim Beheben von Fehlern in den Synchronizer-Logs hilfreich sein. Siehe auch Logging.
Logeintrag | Bedeutung |
---|---|
org:test env:dev target: action:SYNC context-id: mode:
Apigee-Timer-0 INFO CONFIG-CHANGE - SyncContext.syncUpStream() :
Upstream sync
started with http://localhost:8080 |
Upstream-Abfrage für die Organisation und Umgebung wurde gestartet und die URL der Verwaltungsebene wurde angegeben |
2019-01-21 16:58:02,275 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract poll returned 200 |
Der Vertrag wurde erfolgreich empfangen |
2019-01-21 16:58:02,536 org:test env:dev target:
action:SYNC context-id: mode: Apigee-Timer-0 INFO CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Received a new
contract version 20190121.090851.339 |
Eine Vertragsversion wurde empfangen |
2019-01-21 17:58:56,530 org:test env:qa
target:/organizations/test/environments/qa action:REPLICATE
context-id:20190121.090859.699 mode: Apigee-Timer-1 INFO
CONFIG-CHANGE - ConfigReplicator.startReplication() :
Replication
started |
Gibt den Start der Replikation an. MDC-Felder geben die Details dazu an, was repliziert wird |
2019-01-21 17:58:56,654 org:test env:qa
target:/organizations/test/environments/qa/resourcefiles/js/JavaScriptCallout.js
action:REPLICATE context-id:20190121.090859.699 mode:
Apigee-Timer-1 INFO CONFIG-CHANGE -
ConfigReplicator.startReplication() : Replication
complete |
Zeigt an, dass die Replikation beendet wurde. MDC-Felder geben die Details dazu an, was repliziert wird |
2019-01-21 17:58:56,654 org:test env:qa
target:/organizations/test/environments/qa action:REPLICATE
context-id:20190121.090859.699 mode: Apigee-Timer-1
ERROR
CONFIG-CHANGE - ConfigReplicator.startReplication() : Replication
failed |
Zeigt einen Replikationsfehler an |
2019-01-21 17:59:00,246 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE -
SyncContext.syncUpStream() : Upstream sync finished in 4
seconds |
Zeigt das Ende eines Synchronisierungszyklus an und bietet auch die Zeit für die Synchronisierung |
2019-01-21 18:00:00,249 org:test env:dev target:
action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned 304 |
Gibt an, dass kein neuerer Vertrag verfügbar war. |
2019-01-21 18:21:39,128 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 0 |
Gibt an, dass die Verwaltungsebene nicht erreichbar ist |
2019-01-21 18:21:39,128 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 404 |
Gibt an, dass die Managementebene für den Vertrag eine 404-Antwort zurückgegeben hat. |
2019-01-21 18:22:39,217 org:test1 env:dev target:
action:SYNC context-id: mode: Apigee-Timer-2 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 403 |
Gibt an, dass die Umgebung für das Abfragen nicht aktiviert ist |
2019-01-21 18:22:39,217 org:test1 env:dev target:
action:SYNC context-id: mode: Apigee-Timer-2 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 401 |
Bei bereitgestellten Anmeldedaten treten Probleme auf |
Fehlerbehebung
Logs sind eine gute Möglichkeit, Probleme mit Ihrer Installation zu beheben. Weitere Informationen finden Sie unter Logging.
Synchronizer startet nicht
Im Folgenden sind einige Fehler und ihre Behebung aufgeführt. Jede dieser Fehlermeldungen beginnt mit einem ErrorCode vom Typ sync.xxxxx. Im Folgenden finden Sie mögliche Fehlercodes.
sync.NullOrEmptyConfig
Nachricht:Null oder leere Konfiguration über com.apigee.sync.config bereitgestellt
Grund: Diese Fehlermeldung wird angezeigt, wenn die Konfigurationsattribute des Synchronizers nicht ordnungsgemäß bereitgestellt wurden.
Lösung: Stellen Sie sicher, dass alle Konfigurationseigenschaften mit den entsprechenden Werten gefüllt sind.
sync.ConfigFileNotFound
Grund: Der Synchronizer wurde eingestellt, dass seine Konfigurationsattribute aus einer Datei gelesen werden, die Datei aber nicht geladen werden konnte.
Lösung:Achten Sie darauf, dass die Datei für den Synchronizer-Startvorgang verfügbar und zugänglich ist.
sync.IncorrectSettings
Ursache: In der Synchronizer-Konfiguration fehlt ein oder mehrere erforderliche Konfigurationsattribute oder Werte außerhalb des erwarteten Bereichs. Der Fehler sollte weitere Details zur genauen Eigenschaft enthalten, die das Problem verursacht. Diese Fehler sind in den Parser integriert, um dafür zu sorgen, dass Einstellungs- und Einstellungsfehler bereits vor Beginn des Dienstes erkannt werden.
In der folgenden Tabelle sind einige mögliche ErroringSettings-Fehler aufgeführt:
Fehler | Wo liegt das Problem? |
---|---|
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/retries numeric
instance is greater than the required maximum (maximum: 3, found:
20) |
Wert, der im Feld "controlPlane" an Wiederholungen übergeben wird |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/connectionTimeout
numeric instance is lower than the required minimum (minimum: 10,
found: 1) |
Der Wert im Feld "connectionTimeout" im Abschnitt "controlPlane" ist niedriger als zulässig. |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane object has
missing required properties
([\"contractProvider\"]) |
Im Abschnitt "controlPlane" fehlt das Pflichtfeld "contractProvider" |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/contractProvider
string \"http://\\uapi.apigee.com\" is not a valid
URI |
Der Vertragsanbieter-URI ist kein gültiger URI |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments array is too
short: must have at least 1 elements but instance has 0
elements |
Das Umgebungs-Array muss mindestens eine Umgebung haben |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0 object has
missing required properties
([\"environmentName\"]) |
In der Umgebung bei Index 0 fehlt das Pflichtfeld "GetListName" |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0 object has
missing required properties
([\"organizationName\"]) |
In der Umgebung an Index 0 fehlt das erforderliche Feld "organizationName". |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0/pollInterval
numeric instance is lower than the required minimum (minimum: 60,
found: 6) |
In der Umgebung bei Index 0 hat ein Abfrageintervall, das unter das zulässige Limit von 60 gilt |
Lösung:Korrigieren Sie den erforderlichen Block in der Einstellung.
sync.ReplicationRootDoesNotExist
Ursache: Der Synchronizer wurde mit einem Replikations-Root bereitgestellt, das nicht existiert.
Remedy:Der bereitgestellte Stammordner muss vorhanden sein und schreibbar sein.
sync.ReadOnlyReplicationRoot
Ursache: Der Synchronizer wurde mit einem Replikations-Root bereitgestellt, der keine Schreibberechtigungen hat.
Remedy:Der bereitgestellte Stammordner muss vorhanden sein und schreibbar sein.
sync.ReplicationRootNotADir
Ursache: Der Synchronizer hat einen Replikations-Root bereitgestellt, der möglicherweise eine Datei ist.
Remedy:Der bereitgestellte Stammordner muss vorhanden sein und schreibbar sein.
sync.InvalidControlPlaneURL
Ursache:Der Synchronizer hat eine Konfigurations-URL bereitgestellt, die leer ist.
Remedy:Der bereitgestellte Stammordner muss vorhanden sein und schreibbar sein.
sync.InvalidControlPlaneSubscriptionURL
Ursache: Das Synchronizer hat eine falsche, unvollständige oder leere Konfigurations-URL für die Aboerstellung angegeben.
Lösung: Korrigieren Sie die URL in eine gültige Konfigurations-URL für die Pub/Sub-Abonnementerstellung, um Signale von der Steuerungsebene zu verarbeiten.
sync.InvalidControlPlaneUnsubscriptionURL
Grund: Der Synchronizer hat eine falsche, unvollständige oder leere Konfigurations-URL für das Löschen des Abos erhalten.
Lösung:Korrigieren Sie die URL in eine gültige Konfigurations-URL, damit Pub/Sub-Abos gelöscht werden können, um Signale der Steuerungsebene zu verarbeiten.
sync.CannotCreateEnvironmentFolder
Grund: Der Synchronizer hat versucht, einen Ordner zur Replikation der Umgebung "qa" zu erstellen, konnte jedoch den erforderlichen Ordner nicht erstellen.
Lösung:Achten Sie darauf, dass der Replikationsstamm keinen in Konflikt stehenden Pfad mit dem gleichen Namen hat, der entweder schreibgeschützt eine Datei ist.
sync.DuplicateEnvironmentEntries
Grund:Dieselbe Umgebung wurde in der Konfiguration mehrmals hinzugefügt.
Lösung: Jede Umgebung kann nur einmal angegeben werden.
sync.DiskExceedsAllowedCapacity
Ursache: Das bereitgestellte Speicherlaufwerk hat bereits die in den Konfigurationsattributen vorgegebene Schwellenwertkapazität.
Lösung: Sorgen Sie für genügend Speicherplatz oder prüfen Sie, ob die Speichereinstellungen angepasst werden können, um mehr Speicherplatz zu ermöglichen.
sync.OwnershipClaimFailed
Grund: Synchronizer hat versucht, die Eigentumsrechte im Umgebungsordner zu sichern, aber fehlgeschlagen
Remedy:Jeder Synchronizer versucht zuerst, dafür zu sorgen, dass es sich um einen einzelnen Autor im Dateisystem handelt. Der Fehler gibt den Pfad und den Grund für den Fehler an. Beheben Sie die Ursache
Synchronizer-Fehler während der Laufzeit
Die folgenden Synchronizer-Fehler können während der Laufzeit auftreten.
sync.replicators.PollReturnedError
Die verknüpfte Nachricht enthält den Status "Upstream". Im Folgenden sind die Fehlerstatus aufgeführt:
Status 0
Ursache: Zeigt ein Verbindungsproblem an. Die Verwaltungsebene war nicht erreichbar
Lösung :Prüfen Sie, ob die Details der Managementebene korrekt sind und die Contracts API erreichbar ist.
Status 404
Grund: Wahrscheinlich wurde der Name der Organisation bzw. der Umgebung nicht auf dem Server gefunden
Lösung :Prüfen Sie, ob die Details der Managementebene korrekt sind und die Contracts API erreichbar ist.
Status 401
Ursache:Die angegebenen Anmeldedaten haben wahrscheinlich nicht die Administratorberechtigungen der Organisation.
Lösung: Prüfen Sie, ob die Anmeldedaten für die Verwaltungsebene korrekt sind und die contracts API erreichbar ist.
Status 403
Grund: Gibt an, dass die abgefragte Umgebung nicht als Hybridumgebung eingerichtet ist.
Lösung:Achten Sie darauf, dass die Organisation das erforderliche Flag "features.hybrid.enabled=true" hat.
sync.OwnershipClaimedByOther
Grund: Während des Vorgangs-Synchronizer wurde festgestellt, dass auf eine andere Instanz von Synchronizer auf das Dateistammverzeichnis zugegriffen wird. (Dies kann passieren, wenn ein Dateisystem von Synchronizers gemeinsam genutzt wird.)
Lösung: Damit beheben Sie das Root-Problem, damit zwei Synchronizer-Instanzen dasselbe Dateisystem verwenden. Der Synchroniser hat sich selbst gekennzeichnet und wäre hier nicht wiederherstellbar. Der andere Synchronizer, der auf denselben Dateistammpunkt zugreift, wird ebenfalls darüber benachrichtigt.
sync.DiskExceedsAllowedCapacity
Grund: Während des Vorgangs Synchronisierer wurde festgestellt, dass die Speicherauslastung das zulässige Limit überschritten hat.
Lösung: Der Synchronisation würde alle Downloads abbrechen und einen veralteten Dateibereinigungsvorgang ausführen. Dies kann jedoch zu einer wiederkehrenden Bedingung werden. Die einzige Möglichkeit zur vollständigen Wiederherstellung besteht darin, dafür zu sorgen, dass der Synchronizer über genügend Festplattenspeicher verfügt.
Fehler beim Herunterladen von Verträgen diagnostizieren
Wenn Sie in einer Fehlermeldung "Upstream-Vertragsstimmung" sehen, rufen Sie die Vertrags-API auf und prüfen Sie die Details, wobei der Nutzername Ihr Apigee-Nutzername (Ihre E-Mail-Adresse) ist. Der Vertrag stellt die gesamte Sammlung von Daten dar, die der Synchronizer von der Verwaltungsebene heruntergeladen.
curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username