- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
Los registros son una buena forma de solucionar problemas con tu instalación de Apigee hybrid. Consulta Registros para obtener más información.
Puedes ver los registros del sincronizador de Apigee con el comandokubectl logs
. Por ejemplo:
kubectl logs -n APIGEE_NAMESPACE apigee-synchronizer-apigee-example-test
Entradas de registro del sincronizador
En la siguiente tabla se describen los campos que verá en los archivos de registro de Synchronizer.
Campo | Indica |
---|---|
org: |
Nombre de la organización |
env: |
Nombre del entorno |
target: |
Ruta de la entidad a la que representa la entrada de registro |
action: |
Acción SYNC=Acción de sincronización ascendente
REPLICATE=Replicate/download action |
context-id: |
La versión del contrato, si procede |
Por ejemplo:
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
Interpretar los registros del sincronizador
Si necesitas solucionar un problema con el sincronizador, consulta los archivos de registro. La siguiente tabla puede ayudarte a solucionar los errores que se produzcan en los registros del sincronizador. Consulta también Registro.
Entrada de registro | ¿Qué significa? |
---|---|
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 |
Se ha iniciado una comprobación upstream de la organización y el entorno, y se ha proporcionado la URL del plano de gestión. |
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 |
El contrato se ha recibido correctamente |
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 |
Se ha recibido una versión del contrato |
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 |
Indica el inicio de la replicación. Los campos de MDC indican los detalles sobre lo que se está replicando. |
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 |
Indica que la replicación ha finalizado. Los campos de MDC indican los detalles sobre lo que se está replicando. |
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 |
Indica un error de replicación. |
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 |
Indica el final de un ciclo de sincronización y también el tiempo que se ha tardado en sincronizar. |
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 |
Indica que no había un contrato más reciente disponible |
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 |
Indica que no se ha podido acceder al plano de gestión |
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 |
Indica que el plano de gestión ha devuelto una respuesta 404 para el contrato. |
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 |
Indica que el entorno que se está consultando no tiene habilitado el modo híbrido. |
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 |
Hay problemas con las credenciales proporcionadas |
Solución de errores
Los registros son una buena forma de solucionar problemas con tu instalación. Consulta Registros para obtener más información.
El sincronizador no se inicia
A continuación, se explican algunos errores y cómo solucionarlos. Cada uno de estos mensajes de error empieza por un ErrorCode de tipo sync.xxxxx. A continuación, se indican algunos códigos de error posibles
sync.NullOrEmptyConfig
Mensaje: se ha proporcionado una configuración nula o vacía a través de com.apigee.sync.config
Motivo: este mensaje de error se muestra cuando las propiedades de configuración del sincronizador no se han proporcionado correctamente.
Solución: asegúrese de que todas las propiedades de configuración tengan los valores adecuados.
sync.ConfigFileNotFound
Motivo: Se ha configurado el sincronizador para que lea las propiedades de configuración de un archivo, pero no se ha podido cargar el archivo.
Solución: asegúrate de que el archivo esté disponible y se pueda acceder a él durante el arranque del sincronizador.
sync.IncorrectSettings
Motivo: Faltan una o varias propiedades de configuración obligatorias en la configuración del sincronizador o sus valores están fuera del intervalo esperado. El error debería incluir más detalles sobre la propiedad concreta que está causando el problema. Estos errores están integrados en el analizador para asegurarse de que los errores de configuración se detecten incluso antes de que se inicie el servicio.
En la siguiente tabla se indican algunos posibles errores de IncorrectSettings:
Error | ¿Qué pasa? |
---|---|
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/retries numeric
instance is greater than the required maximum (maximum: 3, found:
20) |
El valor proporcionado al campo de reintentos de la sección controlPlane ha superado el valor permitido |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/connectionTimeout
numeric instance is lower than the required minimum (minimum: 10,
found: 1) |
El valor proporcionado en el campo connectionTimeout de la sección controlPlane es inferior al permitido |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane object has
missing required properties
([\"contractProvider\"]) |
Falta el campo obligatorio contractProvider en la sección controlPlane. |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/contractProvider
string \"http://\\uapi.apigee.com\" is not a valid
URI |
El URI del proveedor de contratos no es válido |
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 |
La matriz de entornos debe tener al menos un entorno |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0 object has
missing required properties
([\"environmentName\"]) |
Falta el campo obligatorio environmentName en el entorno del índice 0 |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0 object has
missing required properties
([\"organizationName\"]) |
Falta el campo obligatorio organizationName en el entorno del índice 0 |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0/pollInterval
numeric instance is lower than the required minimum (minimum: 60,
found: 6) |
El entorno del índice 0 tiene un intervalo de sondeo inferior al límite permitido de 60. |
Solución: corrija el ajuste para incluir el bloque obligatorio
sync.ReplicationRootDoesNotExist
Motivo: se ha proporcionado al sincronizador una raíz de replicación que no existe.
Solución: asegúrate de que la carpeta raíz proporcionada exista y se pueda escribir en ella.
sync.ReadOnlyReplicationRoot
Motivo: se ha proporcionado al sincronizador una raíz de replicación que no tiene permisos de escritura.
Solución: asegúrate de que la carpeta raíz proporcionada exista y se pueda escribir en ella.
sync.ReplicationRootNotADir
Motivo: Se ha proporcionado al sincronizador una raíz de replicación que posiblemente sea un archivo.
Solución: asegúrate de que la carpeta raíz proporcionada exista y se pueda escribir en ella.
sync.InvalidControlPlaneURL
Motivo: se ha proporcionado al sincronizador una URL de configuración vacía.
Solución: Asegúrate de que la carpeta raíz proporcionada exista y se pueda escribir en ella.
sync.InvalidControlPlaneSubscriptionURL
Motivo: Se ha proporcionado al sincronizador una URL de configuración incorrecta, incompleta o vacía para crear la suscripción.
Solución: corrija la URL para que sea una URL de configuración válida para la creación de suscripciones de Pub/Sub con el fin de gestionar las señales del plano de control.
sync.InvalidControlPlaneUnsubscriptionURL
Motivo: se ha proporcionado al sincronizador una URL de configuración incorrecta, incompleta o vacía para eliminar la suscripción.
Solución: corrija la URL para que sea una URL de configuración válida para la eliminación de la suscripción de Pub/Sub y así gestionar las señales del plano de control.
sync.CannotCreateEnvironmentFolder
Motivo: el sincronizador ha intentado crear una carpeta para replicar el entorno de control de calidad, pero no ha podido crear la carpeta necesaria.
Solución: asegúrate de que la raíz de replicación no tenga una ruta conflictiva con el mismo nombre que sea de solo lectura de un archivo
sync.DuplicateEnvironmentEntries
Motivo: El mismo entorno se ha añadido varias veces en la configuración.
Solución: Cada entorno solo se puede especificar una vez.
sync.DiskExceedsAllowedCapacity
Motivo: El disco de almacenamiento proporcionado ya ha alcanzado el umbral de capacidad indicado en las propiedades de configuración.
Solución: Asegúrate de que haya suficiente espacio en disco o comprueba si se pueden modificar los ajustes de almacenamiento para permitir más espacio en disco.
sync.OwnershipClaimFailed
Motivo: el sincronizador ha intentado reclamar la propiedad de la carpeta del entorno, pero no lo ha conseguido.
Solución: cada sincronizador intentará primero asegurarse de que es el único que escribe en el sistema de archivos. El error indica la ruta y el motivo del fallo. Abordar la causa raíz
Errores del sincronizador durante el tiempo de ejecución
Los siguientes errores de Synchronizer se pueden producir durante el tiempo de ejecución.
sync.replicators.PollReturnedError
El mensaje asociado incluirá el estado de la solicitud upstream. A continuación, se indican los estados de error
estado 0
Motivo: indica un problema de conectividad. No se ha podido acceder al plano de gestión
Solución: comprueba que los detalles del plano de gestión sean correctos y que se pueda acceder a la API Contracts.
estado 404
Motivo: lo más probable es que el nombre de la organización o del entorno no se encuentre en el servidor.
Solución: comprueba que los detalles del plano de gestión sean correctos y que se pueda acceder a la API Contracts.
estado 401
Motivo: lo más probable es que las credenciales proporcionadas no tengan privilegios de administrador de la organización.
Solución: Asegúrate de que las credenciales del plano de gestión sean correctas y de que se pueda acceder a la API Contracts.
Estado 403
Motivo: indica que el entorno que se está consultando no se ha configurado como entorno híbrido.
Solución: Asegúrate de que la organización tenga la marca necesaria: "features.hybrid.enabled=true".
sync.OwnershipClaimedByOther
Motivo: durante la operación, el sincronizador ha detectado que otra instancia del sincronizador está accediendo a la raíz del archivo. Esto puede ocurrir cuando se comparte un sistema de archivos entre sincronizadores.
Solución: aborda el problema de raíz para asegurarte de que no haya dos instancias de Synchronizer que compartan el mismo sistema de archivos. El sincronizador se habría marcado como inactivo y estaría en una posición irrecuperable. También se aseguraría de que el otro sincronizador que accede a la misma raíz de archivo reciba una notificación al respecto a través de sus archivos de propiedad.
sync.DiskExceedsAllowedCapacity
Motivo: Durante la operación, el sincronizador se ha dado cuenta de que la ocupación del disco ha superado el límite permitido.
Solución: en este punto, Synchronizer abortaría cualquier descarga e intentaría limpiar los archivos obsoletos. Sin embargo, esta situación puede volverse recurrente y la única forma de recuperarse por completo es asegurarse de que el sincronizador tenga suficiente memoria de disco para funcionar.
Diagnosticar fallos de descarga de contratos
Si ves "upstream contract poll" en un mensaje de error, prueba a llamar a la API de contratos y consulta los detalles, donde username es tu nombre de usuario de Apigee (tu dirección de correo electrónico). El contrato representa todo el conjunto de datos que el sincronizador descarga del plano de gestión.
Sin residencia de datos
curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username
Residencia de datos
curl https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username