Synchronizer-Logs

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 Befehl kubectl logs aufrufen. Beispiel:
kubectl logs -n APIGEE_NAMESPACE apigee-synchronizer-apigee-example-test

Synchronizer-Logeinträge

In der folgenden Tabelle werden die Felder beschrieben, die Sie in Synchronizer-Logdateien sehen.

Feld Gibt an
org: Name der Organisation
env: Umgebungsname
target: Pfad der Entität, für die der Logeintrag steht
action: Aktion „SYNC=Upstream-Synchronisierung“

Aktion „REPLICATE=Replizieren/Herunterladen“

context-id: Die Vertragsversion, sofern zutreffend

Beispiel:

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 verstehen

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, Umgebung und angegebene Verwaltungsebenen-URL wurde gestartet
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 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 gibt auch die Zeit für die Synchronisierung an
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 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 404 Gibt an, dass die Verwaltungsebene 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 für die abgefragte Umgebung die Hybridfunktion 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: Füllen Sie alle Konfigurationsattribute mit den entsprechenden Werten aus.

sync.ConfigFileNotFound

Grund: Der Synchronizer wurde so eingestellt, dass er seine Konfigurationsattribute aus einer Datei liest, die Datei konnte aber nicht geladen werden.

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 die Werte liegen außerhalb des erwarteten Bereichs. Der Fehler sollte weitere Details zum genauen Attribut enthalten, das das Problem verursacht. Diese Fehler sind in den Parser integriert, um dafür zu sorgen, dass Einstellungsfehler bereits vor Beginn des Dienstes erkannt werden.

In der folgenden Tabelle sind einige mögliche IncorrectSettings-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) Der Wert im Feld „Wiederholungen“ des Abschnitts „controlPlane“ hat den zulässigen Bereich überschritten
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 „environmentName“
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/environments/0 object has missing required properties ([\"organizationName\"]) In der Umgebung bei Index 0 fehlt das Pflichtfeld „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) Die Umgebung bei Index 0 hat ein Abfrageintervall, das unter dem zulässigen Limit von 60 liegt

Lösung: Korrigieren Sie die Einstellung so, dass sie den erforderlichen Block enthält

sync.ReplicationRootDoesNotExist

Ursache: Der Synchronizer wurde mit einem Replikationsstamm bereitgestellt, der nicht existiert

Lösung: Achten Sie darauf, dass der bereitgestellte Stammordner vorhanden und beschreibbar ist

sync.ReadOnlyReplicationRoot

Ursache: Der Synchronizer wurde mit einem Replikationsstamm bereitgestellt, der keine Schreibberechtigungen hat

Lösung: Achten Sie darauf, dass der bereitgestellte Stammordner vorhanden und beschreibbar ist

sync.ReplicationRootNotADir

Ursache: Der Synchronizer wurde mit einem Replikationsstamm bereitgestellt, der möglicherweise eine Datei ist

Lösung: Achten Sie darauf, dass der bereitgestellte Stammordner vorhanden und beschreibbar ist

sync.InvalidControlPlaneURL

Ursache: Der Synchronizer wurde mit einer Konfigurations-URL bereitgestellt, die leer ist

Lösung: Achten Sie darauf, dass der bereitgestellte Stammordner vorhanden und beschreibbar ist

sync.InvalidControlPlaneSubscriptionURL

Ursache: Der Synchronizer wurde mit einer falschen, unvollständigen oder leeren Konfigurations-URL für die Aboerstellung bereitgestellt.

Lösung: Korrigieren Sie die URL in eine gültige Konfigurations-URL für die Pub/Sub-Aboerstellung, um Signale von der Steuerungsebene zu verarbeiten.

sync.InvalidControlPlaneUnsubscriptionURL

Ursache: Der Synchronizer wurde mit einer falschen, unvollständigen oder leeren Konfigurations-URL für das Löschen des Abos bereitgestellt.

Lösung: Korrigieren Sie die URL in eine gültige Konfigurations-URL für das Löschen des Pub/Sub-Abos, um Signale von der Steuerungsebene zu verarbeiten.

sync.CannotCreateEnvironmentFolder

Ursache: 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 oder eine Datei ist.

sync.DuplicateEnvironmentEntries

Ursache: 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 den Grenzwert der Kapazität erreicht, der über die Konfigurationsattribute angegeben ist.

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

Ursache: Der Synchronizer hat versucht, den Anspruch auf die Eigentumsrechte im Umgebungsordner zu erheben, war aber nicht erfolgreich

Lösung: Jeder Synchronizer versucht zunächst, dafür zu sorgen, dass es sich bei ihm um den einzigen 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 Upstream-Status. 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 Verwaltungsebene korrekt sind und die contracts API erreichbar ist

Status 404

Ursache: Wahrscheinlich wurde der Name der Organisation bzw. der Umgebung nicht auf dem Server gefunden

Lösung: Prüfen Sie, ob die Details der Verwaltungsebene 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

Ursache: 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 hat der Synchronizer festgestellt, dass durch eine andere Instanz des Synchronizers auf das Dateistammverzeichnis zugegriffen wird. (Dies kann passieren, wenn ein Dateisystem von Synchronizern gemeinsam genutzt wird.)

Lösung: Beheben Sie das Root-Problem, um sicherzugehen, dass zwei Synchronizer-Instanzen nicht dasselbe Dateisystem verwenden. Der Synchronizer hätte sich in einem solchen Fall selbst als außer Betrieb gekennzeichnet und wäre zu diesem Zeitpunkt nicht mehr wiederherstellbar. Er würde außerdem dafür sorgen, dass der andere Synchronizer, der auf dasselbe Dateistammverzeichnis zugreift, über ihre Dateien zur Eigentümerschaft darüber benachrichtigt wird

sync.DiskExceedsAllowedCapacity

Ursache: Während des Vorgangs hat der Synchronizer festgestellt, dass die Belegung des Laufwerks das zulässige Limit überschritten hat.

Lösung: Der Synchronizer würde zu diesem Zeitpunkt alle Downloads abbrechen und den Versuch unternehmen, einen Bereinigungsvorgang veralteter Dateien vorzunehmen. Dies kann sich jedoch zu einem wiederkehrenden Zustand entwickeln und die einzige Möglichkeit zur vollständigen Wiederherstellung besteht darin, dafür zu sorgen, dass der Synchronizer für den Betrieb über genügend Speicherplatz auf dem Laufwerk verfügt.

Fehler beim Herunterladen von Verträgen diagnostizieren

Wenn Sie „Upstream-Vertragsabfrage“ in einer Fehlermeldung sehen, rufen Sie die contract 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 herunterlädt.

Kein Datenstandort

curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username

Datenstandort

curl https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username