本文档介绍了如何利用 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 Insights 日志条目
由于使用 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_ID 替换为您创建 Developer Connect 数据分析配置的项目 ID。
此命令会返回名称为 sdlc_deployment 的日志,但您也可以按其他值进行过滤,例如您的 Developer Connect 洞见配置 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 Insights 部署事件
除了使用 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 输出示例,其中显示了由开发者连接数据分析生成的部署事件:
[
{
"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 是部署事件的唯一标识符。
您可以从
gcloud alpha developer-connect insights-configs deployment-events list命令返回的事件列表中获取此 ID。该 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"
}
后续步骤
- 详细了解 Gemini Cloud Assist 调查