Depurando Conectores

Conecte seu Connector do Satellite a uma instância do IBM Cloud Logs para um diagnóstico eficiente de problemas.

Acesse sua instância do Conector Satellite por meio do console. Se você não tiver uma instância do IBM Cloud Logs na sua conta para a região em que criou o Conector Satellite, clique em Connect (Conectar ) na seção Logging for Link (Registro para link ). Você será levado à página Catalog (Catálogo ), onde poderá criar uma instância do IBM Cloud Logs. Se você já tiver uma instância do IBM Cloud Logs, clique em Configure na seção Logging for Link. Em seguida, selecione a sua instância de criação de log existente Depois de conectar uma instância do IBM Cloud Logs ao seu conector Satellite, você pode usar a seção Logging for Link para abrir o painel Logging Instance e a saída será filtrada para o seu conector.

A instância de criação de log deve ter Receive Platform Logs ativado.. Para ativar essa opção, selecione Opções-> Editar plataforma na lista de instâncias de criação de log.

Geralmente, há dois tipos de erros:

  1. Não é possível estabelecer o túnel. O agente não aparece na guia Agentes ativos no console.
  2. O túnel é estabelecido e é possível ver o agente na lista de Agentes Ativos, mas não é possível acessar um aplicativo no local do IBM Cloud usando um terminal.

O túnel não pode ser estabelecido-O agente não aparece na lista de agentes ativos

O túnel não é estabelecido e você não vê o seu Agente do Satellite Connector aparecer na lista da interface do usuário, na guia “Agentes ativos”.

Há aproximadamente um atraso de 2 minutos a partir de quando o Connector Agent começa a aparecer na lista.

Após 2 minutos, se o agente ainda não estiver sendo exibido, siga estas etapas de depuração:

  1. Verifique se o ID do Conector e a região estão especificados corretamente

  2. Abra o Painel de criação de log e revise os logs do Conector Geralmente, o problema é com a chave API do IAM e você vê uma mensagem semelhante ao exemplo a seguir. Para obter mais informações, consulte Por que minha chave API não está funcionando.

    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"
    
  3. Verifique o log no contêiner do agente Se não houver erros no IBM Cloud Logs Dashboard, isso significa que há um problema que está ocorrendo antes de o agente se comunicar com os servidores de túnel. É possível obter mais informações consultando o arquivo de log no contêiner do agente O comando varia por plataforma de contêiner. Se você estiver usando Docker, será possível usar o comando a seguir:

    docker logs <container id>
    
  4. Você deve ser capaz de determinar a partir das mensagens de log qual é o problema. A razão mais comum para erros é que seu agente não tem acesso de saída pública para conversar com os servidores de túnel IBM Consulte Por que o meu Connector Agent não consegue estabelecer o túnel com o IBM Cloud?

  5. Verifique se você está usando a plataforma de hardware de contêiner correta Por exemplo, você está tentando executar a imagem do agente em uma plataforma arm64.. O agente do conector será executado somente nas plataformas linux/amd64 ou nessas plataformas que podem emular amd64 Se este for o caso, você verá um erro semelhante a:

    {"msg":"exec container process `/usr/local/bin/node`: Exec format error","level":"error","time":"2023-06-16T14:37:54.000567792Z"}
    

    Nota para usuários de silício do Apple Mac: se você estiver experimentando o Conector em um Mac com Apple silicon que usa um processador ARM64, o agente de contêiner será executado se Rosetta2 tiver sido instalado. Isso normalmente é instalado com o Docker Ao executar o Connector Agent, você verá o aviso a seguir:

    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 43064456c42434f056348a32773a732d02d4a68690fc6b2b36790be8daa49bb2
    

    Neste caso, este é apenas um aviso, e o Connector Agent está em execução Se você não desejar ver o aviso, será possível especificar a opção --platform linux/amd64 em seu comando docker run

  6. Verifique se a plataforma de contêiner pode fazer pull da imagem A imagem está localizada no IBM Container Registry em icr.io/ibm/satellite-connector/satellite-connector-agent:<version>.. Certifique-se de ter especificado a imagem corretamente. A máquina que está executando o agente tem acesso à rede para icr.io e você efetuou login no IBM Container Registry. Para obter mais informações, consulte Pulando a imagem do agente..

Nota para usuários do Docker Swarm: se você vir o erro a seguir sobre "Nenhuma imagem desse tipo":

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…"

Isso significa que o Swarm do Docker não pôde puxar a imagem Provavelmente é devido a credenciais inválidas do IBM Container Registry. Para resolver esse problema:

  1. Remova o serviço.
  2. Faça login no site IBM Container Registry.
  3. Reinicie a pilha..

O túnel é estabelecido-O contêiner do agente é listado na guia Agentes ativos no console

Se o contêiner do agente estiver listado na guia Agentes Ativos no console, siga estas etapas de depuração:

  1. Acesse a sua instância do Connector e abra o Painel de criação de log Isso filtra automaticamente a saída de criação de log para seu ID do Conector.

  2. Revise as mensagens de erro..

    Depois que o túnel for estabelecido, todos os erros serão localizados na instância IBM Cloud Logs e nos logs da plataforma de contêineres do agente. A maioria dos erros agora serão aqueles tentando acessar um terminal de dentro do IBM Cloud para um aplicativo em execução no local sobre o túnel. Ao acessar um terminal, no início da conexão uma entrada flowlog é gravada na instância de criação de log. Por exemplo:

    flowlog: start for client 10.249.96.47:1206 connect to postgres.apps.wdc6.toddjohn.net:5432, conn_type: location
    

    Após a conexão ser fechada, outra entrada flowlog é gravada com alguns detalhes sobre ela. Por exemplo:

    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 168
    

    A duração é o tempo que a conexão está aberta, não o tempo de roundtrip de solicitações.

    Se houver erros tentando se conectar ao terminal, uma entrada flowlog será gravada contendo os detalhes do erro. Por exemplo:

    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
    
  3. Se você não encontrar nenhuma entrada do tipo “ flowlog ”, verifique se o seu aplicativo IBM Cloud tem acesso ao endpoint do CSE e se está utilizando o endereço e a porta corretos do endpoint. Por exemplo, se você estiver usando uma instância VPC ou um cluster do Kubernetes na VPC, um grupo de segurança pode bloquear o acesso. Assegure-se de que seus grupos de segurança permitam o tráfego de seu VPC para o IP e a porta do terminal do CSE

  4. Verifique se seu terminal está configurado corretamente e se o aplicativo no local está atendendo no FQDN de Destino ou na Porta de Destino configurada. Se o seu aplicativo local estiver usando um contêiner, o endereço IP dele pode mudar. Para obter mais informações, consulte Por que não posso atingir meu terminal por meio do IBM Cloud.

  5. Se você estiver executando vários agentes para o mesmo Conector, assegure-se de que todos os agentes tenham acesso à rede ao terminal. Cada solicitação de conexão é roteada para um agente aleatório e, portanto, todos os agentes devem ter conectividade de rede para todos os terminais no local Não há mecanismo para destinar um agente individual para um conector específico.