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 insights do Developer Connect. As funções e permissões necessárias para os insights do Developer Connect estão descritas nesse artigo.

Usar insights do Developer Connect no Gemini Cloud Assist

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

Quando uma investigação é criada no Gemini Cloud Assist, o sistema seleciona automaticamente as implantações relevantes para seu aplicativo do App Hub ou dentro de um projeto, dependendo de como você configurou. 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 afetando o comportamento do aplicativo", além de recomendações para correção.

Ver entradas de registro de insights do Developer Connect

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

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

Neste 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 você também pode filtrar por outros valores, por exemplo, o ID de 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 abaixo 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"
    }
  }
}

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

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

Listar eventos de implantação

Console do Google Cloud

(Somente para pastas habilitadas para o App Hub.)

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

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

    A página principal do Cloud Hub é exibida.

  2. Selecione Implantações.

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

    Selecione qualquer aplicativo listado para conferir os detalhes.

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 projeto do Google Cloud 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 gerados por 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"
  }
]

Ver detalhes do evento de implantação

Console do Google Cloud

(Somente para pastas habilitadas para o App Hub.)

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

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

  2. Clique no nome do aplicativo com os detalhes que você quer ver.

Os detalhes são mostrados no console Google Cloud .

gcloud

Para conferir detalhes de um 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.

    Você pode conseguir esse ID na lista de eventos retornada 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 do 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 projeto do Google Cloud 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 por 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