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 が判断した場合は、そのデプロイを仮説の 1 つとして含め、タイトルを「Recent Deployment Impacting Application Behavior」とし、修正に関する推奨事項を提示します。

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 分析情報のデプロイ イベントを表示する

Logging を使用して分析情報を表示するだけでなく、コマンドラインからデプロイ イベントを一覧表示し、それらのデプロイ イベントの詳細を表示することもできます。

デプロイ イベントを一覧表示する

特定の分析情報構成のデプロイ イベントを一覧表示するには、次のコマンドを実行します。

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 です。

    この 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 出力例です。デベロッパー コネクトの分析情報によって生成されたデプロイ イベントの詳細を示しています。

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

次のステップ

  • Gemini Cloud Assist の調査の詳細を確認する