Usar insights do Developer Connect

Este documento descreve como aproveitar a inteligência fornecida pelos insights do Developer Connect.

Antes de começar

Antes de usar os insights do Developer Connect, siga as etapas em Configurar os insights do Developer Connect. Os papéis e as permissões necessários para os insights do Developer Connect são descritos nesse artigo.

Usar os insights do Developer Connect no Gemini Cloud Assist

Você pode usar o Gemini Cloud Assist para conferir os insights gerados pelos insights do Developer Connect.

Quando uma investigação é criada no Gemini Cloud Assist, o sistema seleciona automaticamente as implantações relevantes para o aplicativo do App Hub ou em um projeto, dependendo de como você o configura. Ao fazer diagnósticos, o Gemini Cloud Assist usa essas implantações como contexto.

Quando o Gemini Cloud Assist correlaciona um evento de implantação com sua investigação, o sistema mostra um card intitulado "Implantação de [DEPLOYMENT_NAME]".

Clique em Eventos correlacionados nos cards para abrir os registros relevantes na Análise de registros.

Quando o Gemini Cloud Assist acredita que uma implantação específica está causando um erro, ele inclui essa implantação como uma das hipóteses, com o título "Implantação recente que afeta o comportamento do aplicativo", além de recomendações para correção.

Conferir entradas de registro de insights do Developer Connect

Como os insights criados usando os insights do Developer Connect são armazenados como entradas de registro no Cloud Logging, é possível conferir os metadados de implantação no Logging. Para conferir as entradas de registro criadas pelos insights do Developer Connect, use o comando gcloud logging read, filtrando pelo nome do registro, da seguinte maneira:

gcloud logging read logName=projects/PROJECT_ID/logs/developerconnect.googleapis.com/sdlc_deployment` \
--project=PROJECT_ID

Nesse comando, substitua PROJECT_ID pelo ID do projeto em que você criou a configuração de insights do Developer Connect.

Esse comando retorna registros com o nome sdlc_deployment, mas também é possível filtrar por outros valores, por exemplo, o ID da configuração de insights do Developer Connect (labels.insights_config_id=) para mostrar entradas de registro de uma configuração de insights específica.

Confira a seguir um exemplo de entrada de registro JSON produzida pelos insights do Developer Connect:

{
  "insertId": "11h69plf2713tb",
  "jsonPayload": {
    "previousDeployment": {
      "resource": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster",
      "deploymentId": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster/k8s/namespaces/default/apps/replicasets/dci-test-app-c8cf94d46",
      "artifactDetails": [
        {
          "commitReferences": [
            {
              "commitSha": "5460433ebfc4b2a7602e21f90828559b4891943e",
              "commitUrl": "https://github.com/USER/REPO/commit/5460433ebfc4b2a7602e21f90828559b4891943e"
            }
          ],
          "packages": [
            {
              "packageVersion": "3.40.1-2+deb12u1",
              "packageName": "libsqlite3-0"
            },
            {
              "packageVersion": "0.45.1",
              "packageName": "wheel"
            },
          ],
          "artifactUri": "us-central1-docker.pkg.dev/P/R/dci-test-app-image@sha256:86ee1874886beb7d2042e40e3ff7253a974c579d49dbbfbba576aad13c880709"
        }
      ],
      "statusSummary": "1/1 Running",
      "timestamp": "2025-03-21T21:13:28Z"
    },
    "currentDeployment": {
      "resource": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster",
      "statusSummary": "5/5 Running",
      "artifactDetails": [
        {
          "packages": [
            {
              "packageVersion": "3.40.1-2+deb12u1",
              "packageName": "libsqlite3-0"
            },
            {
              "packageVersion": "0.45.1",
              "packageName": "wheel"
            },
          ],
          "artifactUri": "us-central1-docker.pkg.dev/P/R/dci-test-app-image@sha256:86ee1874886beb7d2042e40e3ff7253a974c579d49dbbfbba576aad13c880709",
          "commitReferences": [
            {
              "commitUrl": "https://github.com/USER/REPO/commit/5460433ebfc4b2a7602e21f90828559b4891943e",
              "commitSha": "5460433ebfc4b2a7602e21f90828559b4891943e"
            }
          ]
        },
        {
          "artifactUri": "us-central1-docker.pkg.dev/P/R/dci-test-app-image@sha256:86ee1874886beb7d2042e40e3ff7253a974c579d49dbbfbba576aad13c880709",
          "packages": [
                       {
              "packageVersion": "3.40.1-2+deb12u1",
              "packageName": "libsqlite3-0"
            },
            {
              "packageVersion": "0.45.1",
              "packageName": "wheel"
            },
          ],
          "commitReferences": [
            {
              "commitSha": "5460433ebfc4b2a7602e21f90828559b4891943e",
              "commitUrl": "https://github.com/USER/REPO/commit/5460433ebfc4b2a7602e21f90828559b4891943e"
            }
          ]
        }
      ],
      "deploymentId": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster/k8s/namespaces/default/apps/replicasets/recommendation-app-c8cf94d46",
      "timestamp": "2025-03-21T21:16:33Z"
    }
  },
  "resource": {
    "type": "k8s_cluster",
    "labels": {
      "location": "us-central1",
      "project_id": "REDACTED",
      "cluster_name": "REDACTED"
    }
  },
  "timestamp": "2025-03-21T21:16:33Z",
  "severity": "INFO",
  "labels": {
    "insights_config_id": "projects/P/locations/L/insightsConfigs/ecommerce-699",
    "insights_config_deployment_id": "projects/P/locations/L/insightsConfigs/ecommerce-699/deployments/ee54cbae-08f4-4970-a61b-bc28740572c7"
  },
  "logName": "projects/P/logs/developerconnect.googleapis.com%2Fsdlc_deployment",
  "receiveTimestamp": "2025-03-21T21:18:01.154658625Z",
  "apphub": {
    "application": {
      "container": "projects/dci-test-project-3",
      "location": "us-central1",
      "id": "dci-test-app"
    },
    "workload": {
      "id": "dci-test-app",
      "environmentType": "PRODUCTION",
      "criticalityType": "MISSION_CRITICAL"
    }
  }
}

Conferir eventos de implantação de insights do Developer Connect

Além de conferir insights usando o Logging, é possível conferir eventos de implantação e os detalhes deles usando o Google Cloud console ou a Google Cloud CLI.

Listar eventos de implantação

Google Cloud Console do

(Somente para pastas ativadas para o App Hub)

Para listar eventos de implantação de uma determinada configuração de insights usando o Google Cloud console, siga estas etapas:

  1. No Google Cloud console do, selecione Cloud Hub no menu principal.

    A página principal do Cloud Hub é mostrada.

  2. Selecione Implantações.

    Os aplicativos implantados são listados na tabela Atualizações de implantação do código do aplicativo.

    É possível selecionar qualquer aplicativo listado para conferir os detalhes dele.

gcloud

Para listar eventos de implantação de uma determinada configuração de insights, execute o seguinte comando:

gcloud alpha developer-connect insights-configs deployment-events list \
       --insights-config=INSIGHTS_CONFIG_ID \
       --location=LOCATION \
       --project=PROJECT_ID

Substitua:

  • INSIGHTS_CONFIG_ID é o nome dado à configuração de insights do Developer Connect quando ela foi criada.

  • LOCATION é a região em que você criou a configuração de insights do Developer Connect.

  • PROJECT_ID é o ID do Google Cloud projeto em que você criou a configuração de insights.

Confira a seguir um exemplo de saída JSON do comando deployment-events list, mostrando eventos de implantação produzidos pelos insights do Developer Connect:

[
  {
    "artifactDeployments": [
      {
        "artifactAlias": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
        "artifactReference": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
        "containerStatusSummary": "Running-N/A : 1",
        "deployTime": "2025-10-20T16:10:48Z",
        "id": "0a9b8c7d6e5f4g3h2i1",
        "sourceCommitUris": [
          "https://github.com/myGitHub/my-GitHub-project/commit/5806255405d"
        ]
      }
    ],
    "deployTime": "2025-10-20T16:10:48Z",
    "name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/daf0987654321",
    "runtimeConfig": {
      "uri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/deployments/my-deployment"
    },
    "runtimeDeploymentUri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment-6c74f4cdbb",
    "state": "STATE_ACTIVE"
  },
  {
    "artifactDeployments": [
      {
        "artifactAlias": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:24680",
        "artifactReference": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:24680",
        "containerStatusSummary": "Terminated-Error (Exit Code: 137) : 1",
        "deployTime": "2025-10-20T15:29:32Z",
        "id": "2a4b6c8d0e",
        "sourceCommitUris": [
          "https://github.com/myGitHub/my-GitHub-project/commit/n6f8e1269f2c18"
        ],
        "undeployTime": "2025-10-20T18:46:47Z"
      }
    ],
    "deployTime": "2025-10-20T15:29:32Z",
    "name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/nkj987654321",
    "runtimeConfig": {
      "uri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment"
    },
    "runtimeDeploymentUri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment-6c74f4cdbb",
    "state": "STATE_INACTIVE",
    "undeployTime": "2025-10-20T18:46:47Z"
  }
]

Conferir detalhes do evento de implantação

Google Cloud Console do

(Somente para pastas ativadas para o App Hub)

Para conferir os detalhes da implantação de um aplicativo implantado, no Google Cloud console, faça o seguinte:

  1. Liste os eventos de implantação do projeto selecionado.

  2. Clique no nome do aplicativo cujos detalhes você quer conferir.

Os detalhes são mostrados no Google Cloud console.

gcloud

Para conferir os detalhes do evento de implantação de uma determinada configuração de insights, incluindo vulnerabilidades, execute o seguinte comando:

gcloud alpha developer-connect insights-configs deployment-events describe DEPLOYMENT_EVENT_ID \
       --insights-config=INSIGHTS_CONFIG_ID \
       --location=LOCATION \
       --project=PROJECT_ID

Substitua:

  • DEPLOYMENT_EVENT_ID é um identificador exclusivo do evento de implantação.

    É possível receber esse ID na lista de eventos retornados pelo comando gcloud alpha developer-connect insights-configs deployment-events list. O ID está no final do caminho no elemento name: do evento. Por exemplo, no JSON de evento de implantação a seguir, o ID do evento é nkj987654321:

    "name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/nkj987654321"
    
  • INSIGHTS_CONFIG_ID é o nome dado à configuração de insights do Developer Connect quando ela foi criada.

  • LOCATION é a região em que você criou a configuração de insights do Developer Connect.

  • PROJECT_ID é o ID do Google Cloud projeto em que você criou a configuração de insights.

Confira a seguir um exemplo de saída JSON do comando deployment-events describe, mostrando detalhes do evento de implantação, produzido pelos insights do Developer Connect:

{
  "artifactDeployments": [
    {
      "artifactAlias": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
      "artifactReference": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
      "containerStatusSummary": "Running-N/A : 1",
      "deployTime": "2025-12-02T01:04:30Z",
      "id": "0a9b8c7d6e5f4g3h2i1",
      "packages": [
        {
          "name": "abc",
          "version": "1.3.4.20250131-1"
        },
        {
          "name": "defg",
          "version": "4.3.0"
        },
      ],
      "sourceCommitUris": [
        "https://github.com/myGitHub/my-GitHub-project/commit/5806255405d"
      ],
      "vulnerabilities": [
        "CVE-2000-1234",
        "CVE-2001-1234",
        "CVE-2002-1234",
        "CVE-2003-1234",
        "CVE-2004-1234",
      ]
    }
  ],
  "deployTime": "2025-12-02T01:04:30Z",
  "name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/daf0987654321",
  "runtimeConfig": {
    "uri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/deployments/my-deployment"
  },
  "runtimeDeploymentUri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment-6c74f4cdbb",
  "state": "STATE_ACTIVE"
}

A seguir

  • Saiba mais sobre as investigações do Gemini Cloud Assist