Developer Connect 인사이트 사용

이 문서에서는 Developer Connect 통계에서 제공하는 인텔리전스를 활용하는 방법을 설명합니다.

시작하기 전에

Developer Connect 통계를 사용하려면 Developer Connect 통계 설정의 단계를 따라야 합니다. Developer Connect 통계에 필요한 역할 및 권한은 해당 도움말에 설명되어 있습니다.

Gemini Cloud Assist에서 Developer Connect 통계 사용

Gemini Cloud Assist를 사용하여 Developer Connect 인사이트에서 생성된 인사이트를 확인할 수 있습니다.

Gemini Cloud Assist에서 조사가 생성되면 설정 방식에 따라 App Hub 애플리케이션과 관련된 배포 또는 프로젝트 내 배포가 시스템에 의해 자동으로 선택됩니다. 진단을 내릴 때 Gemini Cloud Assist는 이러한 배포를 컨텍스트로 사용합니다.

Gemini Cloud Assist가 배포 이벤트를 조사와 연관시키면 '[DEPLOYMENT_NAME] 배포'라는 제목의 카드가 표시됩니다.

카드에서 상관관계가 지정된 이벤트를 클릭하여 로그 탐색기에서 관련 로그를 엽니다.

Gemini Cloud Assist에서 특정 배포로 인해 오류가 발생한다고 판단하면 해당 배포를 가설 중 하나로 포함하고 '최근 배포가 애플리케이션 동작에 영향을 미침'이라는 제목과 함께 수정 권장사항을 제공합니다.

Developer Connect 인사이트 로그 항목 보기

Developer Connect 통계를 사용하여 생성된 통계는 Cloud Logging에 로그 항목으로 저장되므로 Logging에서 배포 메타데이터를 볼 수 있습니다. Developer Connect 통계에서 생성된 로그 항목을 보려면 다음과 같이 로그 이름으로 필터링하여 gcloud logging read 명령어를 사용하세요.

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

이 명령어에서 PROJECT_IDDeveloper Connect 통계 구성을 만든 프로젝트의 ID로 바꿉니다.

이 명령어는 sdlc_deployment라는 이름의 로그를 반환하지만, 개발자 연결 통계 구성 ID(labels.insights_config_id=)와 같은 다른 값으로 필터링하여 특정 통계 구성의 로그 항목을 표시할 수도 있습니다.

다음은 Developer Connect 통계에서 생성된 JSON 로그 항목의 샘플입니다.

{
  "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"
    }
  }
}

Developer Connect 인사이트 배포 이벤트 보기

로깅을 사용하여 통계를 보는 것 외에도 명령줄에서 배포 이벤트를 나열하고 이러한 배포 이벤트의 세부정보를 볼 수 있습니다.

배포 이벤트 나열

특정 통계 구성의 배포 이벤트를 나열하려면 다음 명령어를 실행합니다.

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

다음을 바꿉니다.

  • INSIGHTS_CONFIG_ID은 Developer Connect 인사이트 구성이 생성될 때 지정된 이름입니다.

  • LOCATION은 Developer Connect 통계 구성을 만든 리전입니다.

  • PROJECT_ID는 통계 구성을 만든 Google Cloud 프로젝트의 ID입니다.

다음은 deployment-events list 명령어의 샘플 JSON 출력으로, 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"
  }
]

배포 이벤트 세부정보 보기

취약점을 비롯한 특정 통계 구성의 배포 이벤트 세부정보를 보려면 다음 명령어를 실행합니다.

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

다음을 바꿉니다.

  • DEPLOYMENT_EVENT_ID는 배포 이벤트의 고유 식별자입니다.

    이 ID는 gcloud alpha developer-connect insights-configs deployment-events list 명령어에서 반환된 이벤트 목록에서 가져올 수 있습니다. ID는 이벤트의 name: 요소에 있는 경로의 끝에 있습니다. 예를 들어 다음 배포 이벤트 JSON에서 이벤트 ID는 nkj987654321입니다.

    "name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/nkj987654321"
    
  • INSIGHTS_CONFIG_ID은 Developer Connect 인사이트 구성이 생성될 때 지정된 이름입니다.

  • LOCATION은 Developer Connect 통계 구성을 만든 리전입니다.

  • PROJECT_ID는 통계 구성을 만든 Google Cloud 프로젝트의 ID입니다.

다음은 deployment-events describe 명령어의 샘플 JSON 출력으로, 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"
}

다음 단계