Conectores de depuración
Para resolver sus problemas de forma rápida y eficaz, se recomienda encarecidamente que conecte su instancia de Satellite Connector a una instancia de IBM Cloud Logs.
Acceda a la instancia del conector Satellite desde la consola. Si no dispone de una instancia de IBM Cloud Logs en su cuenta para la región en la que ha creado el conector Satellite, haga clic en Conectar en la sección Registro para enlace. Accederá a la página Catálogo, donde podrá crear una instancia de IBM Cloud Logs. Si ya dispone de una instancia de IBM Cloud Logs, haga clic en Configurar en la sección Registro para enlace. A continuación, seleccione la instancia de registro existente. Una vez que hayas conectado una instancia de IBM Cloud Logs a tu conector de Satellite, puedes utilizar la sección Logging for Link para abrir el panel Logging Instance y la salida se filtrará para tu conector.
La instancia de registro debe tener habilitado Recibir registros de plataforma. Para habilitar esta opción, seleccione Opciones-> Editar plataforma en la lista de instancias de registro.
Normalmente hay dos tipos de errores:
- No se puede establecer el túnel. El agente no aparece en la pestaña Agentes activos de la consola.
- El túnel se ha establecido y puede ver el agente en la lista de agentes activos, pero no puede acceder a una aplicación local desde IBM Cloud utilizando un punto final.
No se puede establecer el túnel-El agente no aparece en la lista de agentes activos
El túnel no se establece y no ves que tu agente de conexión de Satellite aparezca en la lista de la interfaz de usuario, en la pestaña Agentes activos.
Hay aproximadamente un retardo de 2 minutos desde que se inicia el agente de conector hasta que aparece en la lista.
Después de 2 minutos, si el agente sigue sin visualizarse, siga estos pasos de depuración:
-
Verifique que el ID de conector y la región se han especificado correctamente.
-
Abra el panel de control de registro y revise los registros del conector. A menudo, el problema es con la clave de API de IAM y ve un mensaje similar al ejemplo siguiente. Para obtener más información, consulte ¿Por qué no funciona mi clave de API?.
Failed to get configuration from API /v1/connectors/U2F0ZWxsaXRlQ29ubmVjdG9yOiJjaTExMGxpdzFwazluMGdybXUyMCI, region us-east, code: 401. IAM Error: "status code: 400. Provided API key could not be found.", API Error: "null", hostname: "482bddf6c60b" -
Compruebe el registro en el contenedor de agente. Si no hay errores en IBM Cloud Logs Dashboard, significa que hay un problema que está ocurriendo antes de que el agente se comunique con los servidores del túnel. Puede obtener más información consultando el archivo de registro en el contenedor de agente. El mandato varía según la plataforma de contenedor. Si está utilizando Docker, puede utilizar el mandato siguiente:
docker logs <container id> -
Debería poder determinar a partir de los mensajes de registro cuál es el problema. La razón más común de los errores es que el agente no tiene acceso de salida público para comunicarse con los servidores de túnel de IBM. Consulte ¿Por qué mi Agente de conector no puede establecer el túnel con IBM Cloud?
-
Verifique que está utilizando la plataforma de hardware de contenedor correcta. Por ejemplo, está intentando ejecutar la imagen de agente en una plataforma arm64. El agente de conector solo se ejecutará en plataformas linux/amd64 o en aquellas plataformas que puedan emular amd64. Si este es el caso, verá un error similar al siguiente:
{"msg":"exec container process `/usr/local/bin/node`: Exec format error","level":"error","time":"2023-06-16T14:37:54.000567792Z"}Nota para los usuarios de silicio de Apple Mac: si está probando el conector en un Mac con Apple silicon que utiliza un procesador ARM64, el agente de contenedor se ejecutará si se ha instalado Rosetta2. Normalmente se instala con Docker. Al ejecutar el agente de conector, verá el siguiente aviso:
icr.io/ibm/satellite-connector/satellite-connector-agent:v1.0.3 WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 43064456c42434f056348a32773a732d02d4a68690fc6b2b36790be8daa49bb2En este caso, esto es sólo un aviso y el Agente de conector se está ejecutando. Si no desea ver el aviso, puede especificar la opción
--platform linux/amd64en el mandatodocker run. -
Verifique que la plataforma de contenedor puede extraer la imagen. La imagen se encuentra en IBM Container Registry en
icr.io/ibm/satellite-connector/satellite-connector-agent:<version>. Asegúrese de que ha especificado la imagen correctamente. La máquina que ejecuta el agente tiene acceso de red aicr.ioy ha iniciado sesión en IBM Container Registry. Para obtener más información, consulte Extracción de la imagen del agente.
Nota para los usuarios de Docker Swarm: Si ve el siguiente error sobre "No existe dicha imagen":
icr.io/ibm/satellite-connector/satellite-connector-agent:v1.0.4 swarm-worker1 Shutdown Rejected 5 minutes ago "No such image: icr.io/ibm/sat…"
Esto significa que Docker Swarm no ha podido extraer la imagen. Es probable que se deba a credenciales de IBM Container Registry no válidas. Para resolver este problema:
- Elimine el servicio.
- Inicia sesión en el portal de IBM Cloud ( IBM ) Container Registry.
- Reinicie la pila.
Túnel establecido-El contenedor de agente se lista en la pestaña Agentes activos de la consola
Si el contenedor de agente se lista en la pestaña Agentes activos de la consola, siga estos pasos de depuración:
-
Vaya a la instancia de conector y abra el panel de control de registro. Esto filtra automáticamente la salida de registro para el ID de conector.
-
Revise los mensajes de error.
Una vez establecido el túnel, cualquier error se localizará tanto en la instancia IBM Cloud Logs como en los registros de la plataforma de contenedores del agente. La mayoría de los errores serán ahora aquellos que intentan acceder a un punto final desde IBM Cloud a una aplicación que se ejecuta en local a través del túnel. Al acceder a un punto final, al inicio de la conexión se graba una entrada
flowlogen la instancia de registro. Por ejemplo:flowlog: start for client 10.249.96.47:1206 connect to postgres.apps.wdc6.toddjohn.net:5432, conn_type: locationUna vez cerrada la conexión, se escribe otra entrada
flowlogcon algunos detalles sobre la conexión. Por ejemplo:flowlog: end for client 10.249.96.47:1206 connect to postgres.apps.wdc6.toddjohn.net:5432, conn_type: location, duration 387 ms, BytesToCloud 2444, BytesFromCloud 168La duración es el tiempo en que la conexión está abierta, no el tiempo de ida y vuelta de las solicitudes.
Si hay errores al intentar conectarse al punto final, se escribe una entrada
flowlogque contiene los detalles del error. Por ejemplo:flowlog: error when client 10.249.96.47:1209 connecting to postgres.apps.wdc6.toddjohn.net:5433, conn_type: location, detail: connect ECONNREFUSED 192.168.3.84:5433 -
Si no ves ninguna entrada
flowlog, asegúrate de que tu aplicación IBM Cloud tenga acceso al punto final de CSE y esté utilizando la dirección y el puerto correctos. Por ejemplo, si utiliza una instancia de VPC o un clúster de VPC Kubernetes, un grupo de seguridad puede bloquear el acceso. Asegúrese de que los grupos de seguridad permiten el tráfico de la VPC al puerto y la IP de punto final de CSE. -
Verifique que el punto final esté configurado correctamente y que la aplicación local esté a la escucha en el FQDN de destino o IP y puerto de destino configurados. Si tu aplicación local utiliza un contenedor, su dirección IP puede cambiar. Para obtener más información, consulte Por qué no puedo acceder a mi punto final desde IBM Cloud.
-
Si está ejecutando varios agentes en el mismo conector, asegúrese de que todos los agentes tengan acceso de red al punto final. Cada solicitud de conexión se direcciona a un agente aleatorio y, por lo tanto, todos los agentes deben tener conectividad de red con todos los puntos finales locales. No hay ningún mecanismo para dirigirse a un agente individual para un conector específico.