במסמך הזה מוסבר איך להפיק תועלת מהתובנות שמספק Developer Connect.
לפני שמתחילים
כדי להשתמש בתובנות של Developer Connect, צריך לפעול לפי השלבים שמפורטים במאמר הגדרת תובנות של Developer Connect. במאמר הזה מפורטים התפקידים וההרשאות שנדרשים כדי לגשת לתובנות של Developer Connect.
שימוש בתובנות של Developer Connect ב-Gemini Cloud Assist
אתם יכולים להשתמש ב-Gemini Cloud Assist כדי לראות את התובנות שנוצרו על ידי Developer Connect.
כשיוצרים חקירה ב-Gemini Cloud Assist, המערכת בוחרת באופן אוטומטי פריסות שרלוונטיות לאפליקציה ב-App Hub או לפרויקט, בהתאם לההגדרה. כש-Gemini Cloud Assist מבצע אבחונים, הוא משתמש בפריסות האלה כהקשר.
כש-Gemini Cloud Assist משייך אירוע פריסה לחקירה שלכם, המערכת מציגה כרטיס בשם Deployment of [DEPLOYMENT_NAME] (פריסה של [DEPLOYMENT_NAME]).
לוחצים על אירועים קשורים בכרטיסים כדי לפתוח את היומנים הרלוונטיים בכלי Logs Explorer.
אם Gemini Cloud Assist מזהה שפריסה ספציפית גורמת לשגיאה, הוא כולל את הפריסה הזו כאחת מההשערות, עם הכותרת 'Recent Deployment Impacting Application Behavior' (פריסה מהזמן האחרון שמשפיעה על התנהגות האפליקציה), וגם המלצות לתיקון.
צפייה בערכים ביומן התובנות של Developer Connect
התובנות שנוצרות באמצעות התובנות של Developer Connect מאוחסנות כרשומות ביומן ב-Cloud Logging, כך שאתם יכולים לראות את המטא-נתונים של הפריסה ב-Cloud 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.
הפקודה הזו מחזירה יומנים עם השם sdlc_deployment, אבל אפשר גם לסנן לפי ערכים אחרים, למשל מזהה התצורה של התובנות של Developer Connect (labels.insights_config_id=), כדי להציג רשומות ביומן של תצורה ספציפית של תובנות.
הנה דוגמה לרשומה ביומן JSON שנוצרה על ידי תובנות של 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"
}
}
}
צפייה באירועי פריסה של תובנות מ-Developer Connect
בנוסף לצפייה בתובנות באמצעות Logging, אפשר לראות את אירועי הפריסה ואת הפרטים שלהם באמצעות מסוף Google Cloud או Google Cloud CLI.
הצגת אירועי פריסה
מסוף Google Cloud
(רק לתיקיות שמופעל בהן App Hub)
כדי להציג רשימה של אירועי פריסה להגדרת תובנות נתונה באמצעותGoogle Cloud המסוף, מבצעים את השלבים הבאים:
בתפריט הראשי במסוף Google Cloud , בוחרים באפשרות Cloud Hub.
מוצג הדף הראשי של Cloud Hub.
בוחרים באפשרות פריסות.
אפליקציות שפרסתם מופיעות בטבלה עדכונים של פריסת קוד האפליקציה.
אפשר לבחור כל אפליקציה שמופיעה ברשימה כדי לראות את הפרטים שלה.
gcloud
כדי להציג רשימה של אירועי פריסה להגדרת תובנות מסוימת, מריצים את הפקודה הבאה:
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 הפרויקט שבו יצרתם את הגדרת התובנות.
הפלט הבא הוא דוגמה של JSON מהפקודה deployment-events list, שכולל אירועי פריסה שנוצרו על ידי תובנות של 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"
}
]
צפייה בפרטים של אירועי פריסה
מסוף Google Cloud
(רק לתיקיות שמופעל בהן App Hub)
כדי לראות את פרטי הפריסה של אפליקציה שנפרסה, במסוףGoogle Cloud :
מציגים את אירועי הפריסה של הפרויקט שבחרתם.
לוחצים על שם האפליקציה שרוצים לראות את הפרטים שלה.
הפרטים מוצגים במסוף Google Cloud .
gcloud
כדי לראות את הפרטים של אירוע פריסה עבור הגדרת תובנות מסוימת, כולל פגיעויות, מריצים את הפקודה הבאה:
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. המזהה מופיע בסוף הנתיב ברכיבname:של האירוע. לדוגמה, בקובץ ה-JSON של אירוע הפריסה הבא, מזהה האירוע הואnkj987654321:"name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/nkj987654321"INSIGHTS_CONFIG_ID הוא השם שניתן להגדרת התובנות של Developer Connect כשנוצרה.
LOCATION הוא האזור שבו יצרתם את הגדרת התובנות של Developer Connect.
PROJECT_ID הוא המזהה של Google Cloud הפרויקט שבו יצרתם את הגדרת התובנות.
הדוגמה הבאה היא פלט JSON מהפקודה deployment-events describe, שכולל פרטים על אירוע הפריסה שנוצר על ידי תובנות של 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 investigations