כלים למעקב אחרי מיקרו-שירותים מאפשרים לכם להטמיע באפליקציות שלכם מכשור לאיסוף נתוני טלמטריה ולהצגתם ב-Cloud Monitoring, ב-Cloud Logging וב-Cloud Trace מעומסי עבודה של gRPC שנפרסו ב- Google Cloud ובמקומות אחרים. אפשר להשתמש ב-Microservices observability בכל פריסה שקיבלה הרשאה לגשת ל-Monitoring, ל-Logging ול-Trace על ידי הפעלת Microservices API.
במדריך הזה תלמדו איך להשתמש בתכונות של ניראות (observability) של מיקרו-שירותים על ידי יצירת אפליקציית gRPC פשוטה ב- Google Cloud באמצעות Compute Engine, הוספת אינסטרומנטציה לאפליקציה באמצעות ניראות של מיקרו-שירותים, וצפייה בהן בזמן אמת ב-Monitoring וב-Logging.
מטרות
באופן כללי, תבצעו את הפעולות הבאות.
מפתחי שירותים יכולים:
- יוצרים אפליקציית gRPC בשפה הרצויה (C++, Go או Java).
- מצטרפים לאפליקציה ושולטים בתוסף Microservices observability.
- פריסת האפליקציה במכונה וירטואלית ב-Compute Engine.
כמפעילים של שירות, אתם יכולים לצרוך את הנתונים שנאספים בדרכים שונות:
- צפייה בפרטי ההעברה ב-Trace.
- אפשר לראות את המדדים בלוח הבקרה של המעקב שנקרא Microservices (gRPC) Monitoring (מעקב אחרי מיקרו-שירותים (gRPC)).
- צפייה במדדים ב-Metrics Explorer.
- עיון ברשומות ביומן ב-Logs Explorer.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
המסוף
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, and Microservices API APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Logging > Logs Viewer > Logs Writer, Monitoring > Monitoring Editor > Metrics Writer, Trace > Trace Admin > Trace Agent.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
In the Service account users role field, enter the identifier for the principal that will attach the service account to other resources, such as Compute Engine instances.
This is typically the email address for a Google Account.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, and Microservices API APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Logging > Logs Viewer > Logs Writer, Monitoring > Monitoring Editor > Metrics Writer, Trace > Trace Admin > Trace Agent.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
In the Service account users role field, enter the identifier for the principal that will attach the service account to other resources, such as Compute Engine instances.
This is typically the email address for a Google Account.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
- סקירה כללית על יכולות התצפית במיקרו-שירותים
- קוראים על שני משתני הסביבה הנתמכים, מחליטים באיזה מהם להשתמש ומגדירים את הערכים הנדרשים למשתנה הסביבה.
cli
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Compute Engine ושל מיקרו-שירותים:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable compute.googleapis.com
microservices.googleapis.com -
מגדירים את האימות:
-
מוודאים שיש לכם את תפקיד ה-IAM Create Service Accounts (
roles/iam.serviceAccountCreator) ואת תפקיד ה-IAM Project Admin (roles/resourcemanager.projectIamAdmin). איך מקצים תפקידים -
יוצרים את חשבון השירות:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
מחליפים את הערך
SERVICE_ACCOUNT_NAMEבשם שרוצים לתת לחשבון השירות. -
נותנים לחשבון השירות תפקידים. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
SERVICE_ACCOUNT_NAME: השם של חשבון השירותPROJECT_ID: מזהה הפרויקט שבו יצרתם את חשבון השירותROLE: התפקיד שאתם רוצים לתת
-
מקצים את התפקיד הנדרש לחשבון המשתמש שיצרף את חשבון השירות למשאבים אחרים.
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
מחליפים את מה שכתוב בשדות הבאים:
SERVICE_ACCOUNT_NAME: השם של חשבון השירותPROJECT_ID: מזהה הפרויקט שבו יצרתם את חשבון השירותUSER_EMAIL: כתובת האימייל של חשבון Google
-
מוודאים שיש לכם את תפקיד ה-IAM Create Service Accounts (
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Compute Engine ושל מיקרו-שירותים:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable compute.googleapis.com
microservices.googleapis.com -
מגדירים את האימות:
-
מוודאים שיש לכם את תפקיד ה-IAM Create Service Accounts (
roles/iam.serviceAccountCreator) ואת תפקיד ה-IAM Project Admin (roles/resourcemanager.projectIamAdmin). איך מקצים תפקידים -
יוצרים את חשבון השירות:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
מחליפים את הערך
SERVICE_ACCOUNT_NAMEבשם שרוצים לתת לחשבון השירות. -
נותנים לחשבון השירות תפקידים. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
SERVICE_ACCOUNT_NAME: השם של חשבון השירותPROJECT_ID: מזהה הפרויקט שבו יצרתם את חשבון השירותROLE: התפקיד שאתם רוצים לתת
-
מקצים את התפקיד הנדרש לחשבון המשתמש שיצרף את חשבון השירות למשאבים אחרים.
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
מחליפים את מה שכתוב בשדות הבאים:
SERVICE_ACCOUNT_NAME: השם של חשבון השירותPROJECT_ID: מזהה הפרויקט שבו יצרתם את חשבון השירותUSER_EMAIL: כתובת האימייל של חשבון Google
-
מוודאים שיש לכם את תפקיד ה-IAM Create Service Accounts (
- סקירה כללית על יכולות התצפית במיקרו-שירותים
- קוראים על שני משתני הסביבה הנתמכים, מחליטים באיזה מהם להשתמש ומגדירים את הערכים הנדרשים למשתנה הסביבה.
יצירה של מכונה וירטואלית ב-Compute Engine וחיבור אליה
כאן מוסבר איך ליצור מכונת VM ב-Compute Engine ולהתחבר אליה. במכונה הווירטואלית, פורסים את האפליקציה ואז מפעילים את התכונה Microservices observability באפליקציה.
יוצרים מופע של VM:
gcloud compute instances create grpc-observability-vm \ --image-family=debian-11 \ --image-project=debian-cloud \ --service-account=SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
מתחברים למופע של מכונת ה-VM:
gcloud compute ssh --project=$PROJECT_ID grpc-observability-vm
פריסת האפליקציה במכונה וירטואלית ב-Compute Engine
אפשר לפרוס אפליקציה לבחירתכם במכונה הווירטואלית של Compute Engine שיצרתם בשלב הקודם, ואז לדלג על השלב הזה, או להשתמש בדוגמה כדי להמשיך עם ההוראות בשפה המועדפת עליכם.
C++
אחרי שמתחברים למופע של מכונת ה-VM, מריצים את הפקודה הבאה.
sudo apt-get update -y sudo apt-get install -y git build-essential clang git clone -b v1.54.0 https://github.com/grpc/grpc.git --depth=1
המשך
מוודאים ש-Go מותקן.
sudo apt-get install -y git sudo apt install wget wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf \ go1.20.2.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin
משכפלים את
gRPC-Goהדוגמאות.git clone https://github.com/grpc/grpc-go.git cd grpc-go/ git checkout -b run-observability-example 875c97a94dca8093bf01ff2fef490fbdd576373d
Java
אחרי שמתחברים למופע של מכונת ה-VM, מוודאים שגרסה Java 8 או גרסה מתקדמת יותר מותקנת.
sudo apt update sudo apt upgrade sudo apt install git sudo apt-get install -y openjdk-11-jdk-headless
משכפלים את מאגר
grpc-java.export EXAMPLES_VERSION=v1.54.1 git clone -b $EXAMPLES_VERSION --single-branch --depth=1 \ https://github.com/grpc/grpc-java.git
יצירת קובץ תצורה של gRPC Google Cloud Observability
כדי להפעיל את האפשרות 'התחקות אחר מיקרו-שירותים' גם בשרת וגם בלקוח, צריך קובץ הגדרות נפרד של gRPC Google Cloud Observability. המיקום של הקובץ הזה מיוצא כ-GRPC_GCP_OBSERVABILITY_CONFIG_FILE בשלבים הבאים. בהוראות הבאות מוסבר איך להגדיר את הפרמטרים השונים בקובץ ההגדרות.
דוגמה לערכים בשדה GRPC_GCP_OBSERVABILITY_CONFIG_FILE
{
"project_id": "your-project-here",
"cloud_logging": {
"client_rpc_events": [
{
"methods": ["google.pubsub.v1.Subscriber/Acknowledge", "google.pubsub.v1.Publisher/CreateTopic"],
"exclude": true,
},
{
"methods": ["google.pubsub.v1.Subscriber/*", "google.pubsub.v1.Publisher/*"],
"max_metadata_bytes": 4096,
"max_message_bytes": 4096,
}],
"server_rpc_events": [{
"methods": ["*"],
"max_metadata_bytes": 4096,
"max_message_bytes": 4096
}],
},
"cloud_monitoring": {},
"cloud_trace": {
"sampling_rate": 0.5,
}
"labels": {
"SOURCE_VERSION": "J2e1Cf",
"SERVICE_NAME": "payment-service-1Cf",
"DATA_CENTER": "us-west1-a"
}
}
בקטעים הבאים מפורטות ההוראות להפעלת איסוף הנתונים בהגדרות של כל אחד מהרכיבים. אם השתמשתם בדוגמה של gRPC במדריך הזה, תוכלו להשתמש בהגדרה הזו כמו שהיא (אחרי עדכון your-project-here) או להשתמש בה כתבנית לאפליקציה שלכם.בנוסף, יש כאן דוגמה שמציגה את פרטי ההגדרה במשתנה סביבה.
הפעלת מדדים
כדי להפעיל מדדים, מוסיפים את האובייקט cloud_monitoring להגדרה ומגדירים את הערך שלו ל-{}.
מידע נוסף על מדדים זמין במאמר הגדרות של מדדים.
הפעלת מעקב
כדי להפעיל את האפשרות 'מעקב':
- מוסיפים את האובייקט
cloud_traceלהגדרה. - מגדירים את
cloud_trace.sampling_rateל-0.5כדי לעקוב באופן אקראי אחרי 50% מה-RPC.
אם אתם מתכננים להפעיל מעקב בשירותים שונים, ודאו שהשירותים תומכים בהעברה של הקשר של המעקב שהתקבל במעלה הזרם (או שהתחיל בעצמו) במורד הזרם.
מידע נוסף על מעקב זמין במאמר הגדרות מעקב.
הפעלת רישום ביומן
כדי להפעיל את הרישום ביומן:
- מוסיפים את האובייקט
cloud_loggingלהגדרה. - מוסיפים תבנית ל-
client_rpc_eventsאו ל-server_rpc_eventsאו לשניהם, ומציינים את קבוצת השירותים או השיטות שרוצים ליצור עבורם רישום ביומן של אירועים ברמת התעבורה, ואת מספר הבייטים שרוצים לרשום ביומן עבור כותרות והודעות.
מידע נוסף על רישום ביומן זמין במאמר הגדרות של רשומות ביומן.
ביצוע אינסטרומנטציה באפליקציות עבור פלאגין הניראות
כדי להגדיר את האפליקציות כך שיוכלו להשתמש בפלאגין Microservices observability, פועלים לפי ההוראות הבאות בשפה המועדפת.
C++
אפשר להשתמש ב-C++ עם יכולת מעקב אחרי מיקרו-שירותים החל מ-gRPC C++ v1.54. מאגר הדוגמאות נמצא ב-GitHub.
התמיכה ב-Observability זמינה רק דרך מערכת ה-build של Bazel. מוסיפים את יעד
grpcpp_gcp_observabilityכתלות.כדי להפעיל את התכונה 'יכולת צפייה במיקרו-שירותים' צריך להוסיף תלות (מודול יכולת צפייה) ולבצע את שינויי הקוד הבאים בלקוחות, בשרתים או בשניהם של gRPC:
#include <grpcpp/ext/gcp_observability.h> int main(int argc, char** argv) { auto observability = grpc::GcpObservability::Init(); assert(observability.ok()); … // Observability data flushed when object goes out of scope }לפני כל פעולת gRPC, כולל יצירת ערוץ, שרת או פרטי כניסה, מפעילים את הפקודה הבאה:
grpc::GcpObservability::Init();הפונקציה מחזירה את הערך
absl::StatusOr<GcpObservability>, שצריך לשמור. הסטטוס עוזר לקבוע אם ההגדרה של יכולת הצפייה בוצעה בהצלחה. אובייקטGcpObservabilityשמצורף שולט במשך החיים של נתוני יכולת הצפייה, וסוגר ומנקה אוטומטית את נתוני יכולת הצפייה כשהם יוצאים מההקשר.
המשך
- יש תמיכה בתוספים של יכולת צפייה במיקרו-שירותים בגרסאות gRPC Go
v1.54.0ואילך. מאגר הדוגמאות נמצא ב-GitHub.
כדי להפעיל את המודול Go ולעקוב אחרי מיקרו-שירותים, צריך להשתמש במודול observability ובקוד הבא:
import "google.golang.org/grpc/gcp/observability"
func main() {
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
if err := observability.Start(ctx); err != nil {
log.Warning("Unable to start gRPC observability:", err)
}
defer observability.End()
…
}
הקריאה observability.Start מנתחת את ההגדרה ממשתני הסביבה, יוצרת בהתאם את רכיבי הייצוא ומזריקה לוגיקה של איסוף לחיבורי לקוח ולשרתים שנוצרו אחרי הקריאה. הקריאה המושעיתobservability.End
מנקה את המשאבים ומוודאת שהנתונים שנשמרו במאגר זמני יועברו לפני שהאפליקציה תיסגר.
אחרי שמעדכנים את קוד האפליקציה, מריצים את הפקודה הבאה כדי לעדכן את הקובץ go.mod.
go mod tidy
Java
כדי להשתמש בניראות (observability) של מיקרו-שירותים באפליקציות Java, צריך לשנות את ה-build כך שיכלול את ארטיפקט grpc-gcp-observability. משתמשים בגרסה 1.54.1 ואילך של gRPC.
בקטעים בנושא יצירת קטעי קוד בכלי Gradle ובכלי Maven, הערך grpcVersion מוגדר ל-1.54.1.
מאגר הדוגמאות נמצא ב-GitHub.
- כדי להטמיע בהצלחה את האפשרות למעקב אחרי מיקרו-שירותים באפליקציות Java, מוסיפים את הקוד הבא ל-
main().
...
import io.grpc.gcp.observability.GcpObservability;
...
// Main application class
...
public static void main(String[] args) {
...
// call GcpObservability.grpcInit() to initialize & get observability
GcpObservability observability = GcpObservability.grpcInit();
...
// call close() on the observability instance to shutdown observability
observability.close();
...
}
שימו לב שצריך להפעיל את הפונקציה GcpObservability.grpcInit() לפני שיוצרים ערוצי gRPC או שרתים. הפונקציה GcpObservability.grpcInit() קוראת את ההגדרה של יכולת הצפייה במיקרו-שירותים ומשתמשת בה כדי להגדיר את המיירטים והעוקבים הגלובליים שנדרשים לתכונות של רישום ביומן, מדדים ומעקב בכל ערוץ ושרת שנוצרו. GcpObservability.grpcInit()
is thread safe and must be called exactly once. היא מחזירה מופע של GcpObservability שצריך לשמור כדי להפעיל את close() מאוחר יותר.
GcpObservability.close() מבטלת את ההקצאה של משאבים. ערוצים או שרתים שייווצרו אחרי כן לא יתועדו.
GcpObservability מטמיע את java.lang.AutoCloseable, שנסגר אוטומטית אם משתמשים ב-try-with-resource באופן הבא:
...
import io.grpc.gcp.observability.GcpObservability;
...
// Main application class
...
public static void main(String[] args) {
...
// call GcpObservability.grpcInit() to initialize & get observability
try (GcpObservability observability = GcpObservability.grpcInit()) {
...
} // observability.close() called implicitly
...
}
שימוש בכלי Gradle לבנייה
אם אתם משתמשים בכלי Gradle לבנייה, צריך לכלול את הקוד הבא:
def grpcVersion = '1.54.1'
...
dependencies {
...
implementation "io.grpc:grpc-gcp-observability:${grpcVersion}"
...
}
שימוש בכלי Maven לבנייה (pom.xml)
אם משתמשים בכלי Maven build, צריך לכלול את הקוד הבא:
<properties>
...
<grpc.version>1.54.1</grpc.version>
...
</properties>
...
<dependencies>
...
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-gcp-observability</artifactId>
<version>${grpc.version}</version>
</dependency>
...
</dependencies>
הפעלת האפליקציה
פועלים לפי ההוראות שבקטע הזה רק אם השתמשתם בדוגמה ל-gRPC במדריך. אפשר לשנות את הפקודה run כדי לטרגט את הקובץ הבינארי של האפליקציה.
הפעלת השרת
C++
- יוצרים סשן SSH למכונה הווירטואלית.
מייצאים משתני סביבה. פועלים לפי השלבים שמוגדרים למעלה כדי ליצור את
server_config.json.export GOOGLE_CLOUD_PROJECT=$PROJECT_ID export GRPC_GCP_OBSERVABILITY_CONFIG_FILE="$(pwd)/examples/cpp/gcp_observability/helloworld/server_config.json"מפעילים את אפליקציית השרת
shell cd grpc tools/bazel run examples/cpp/gcp_observability/helloworld:greeter_server
המשך
- יוצרים סשן SSH למכונה הווירטואלית.
מייצאים משתני סביבה. פועלים לפי השלבים שמוגדרים למעלה כדי ליצור את
server_config.json.export GRPC_GCP_OBSERVABILITY_CONFIG_FILE=./server/serverConfig.jsonמפעילים את אפליקציית השרת
shell go run ./server/main.go
Java
- בתיקיית הדוגמאות, פותחים את קובץ ה-README ופועלים לפי ההוראות שבו.
- כשההוראות אומרות לכם לפתוח חלון טרמינל נוסף, מריצים את הפקודה הבאה:
shell gcloud compute ssh --project=$PROJECT_ID grpc-observability-vm
הרצת הלקוח
C++
- יוצרים סשן SSH נוסף למכונה הווירטואלית.
מייצאים משתני סביבה. יוצרים את הקובץ
client_config.jsonלפי השלבים שמוגדרים למעלה.export GOOGLE_CLOUD_PROJECT=$PROJECT_ID export GRPC_GCP_OBSERVABILITY_CONFIG_FILE="$(pwd)/examples/cpp/gcp_observability/helloworld/client_config.json"הפעלת אפליקציית הלקוח
cd grpc tools/bazel run examples/cpp/gcp_observability/helloworld:greeter_client
המשך
- יוצרים סשן SSH נוסף למכונה הווירטואלית.
- מייצאים משתני סביבה. פועלים לפי השלבים שמוגדרים למעלה כדי ליצור את הקובץ
client_config.json.shell export GRPC_GCP_OBSERVABILITY_CONFIG_FILE=./client/clientConfig.json הפעלת אפליקציית הלקוח
cd grpc-go/examples/features/observability go run ./client/main.go
Java
- בתיקיית הדוגמאות, פותחים את קובץ ה-README ופועלים לפי ההוראות בקובץ.
- כשמבקשים לפתוח חלון טרמינל נוסף, מריצים את הפקודה הבאה:
shell gcloud compute ssh --project=$PROJECT_ID grpc-observability-vm
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
כדי למחוק פרויקט Google Cloud :
gcloud projects delete PROJECT_ID
מחיקת משאבים בודדים
-
מוחקים את המכונה:
gcloud compute instances delete INSTANCE_NAME
המאמרים הבאים
- מידע מפורט על נתוני הגדרה, הגדרות מעקב, הגדרות מדדים והגדרות יומנים זמין במאמר הפניה למידע על יכולת צפייה במיקרו-שירותים.
- למידע על צפייה ביומנים, בנתוני מעקב ובמדדים, אפשר לעיין במאמר צפייה בנתוני מעקב, במדדים וברשומות ביומן.