מבוא לחבילת התפעול של Cloud

1. מבוא

עדכון אחרון: 28.07.2023

מהי חבילת התפעול של Google Cloud?

Google Cloud Operations Suite היא פלטפורמה שבה תוכלו לעקוב אחרי ביצועי אפליקציות בסביבת Google Cloud, לפתור בעיות בהם ולשפר אותם. עמודי התווך העיקריים של חבילת התפעול של Cloud כוללים את Cloud Monitoring, Cloud Logging ו-Cloud Tracing.

בסרטון הזה מוצגת סקירה כללית ברמה גבוהה על התפעול של Google Cloud.

מה תפַתחו

ב-Codelab הזה, אתם עומדים לפרוס API לדוגמה ב-Google Cloud. לאחר מכן תבחנו ותגדירו מספר תכונות ב-Cloud Monitoring לעומת ה-API.

מה תלמדו

  • שימוש ב-Cloud Shell של Google Cloud כדי לפרוס אפליקציה לדוגמה ב-Cloud Run.
  • שימוש בתכונות של Google Cloud Monitoring כמו לוחות בקרה, התראות, בדיקות זמני פעילות, מעקב SLI/SLO ועוד.

מה צריך להכין

  • גרסה עדכנית של Chrome (גרסה 74 ואילך)
  • חשבון Google Cloud ופרויקט ב-Google Cloud

2. הגדרה ודרישות

הגדרת סביבה בקצב עצמאי

אם אין לכם עדיין חשבון Google (Gmail או Google Apps), עליכם ליצור חשבון. נכנסים למסוף Google Cloud Platform ( console.cloud.google.com) ויוצרים פרויקט חדש.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

c20a9642aaa18d11.png

  • שם הפרויקט הוא השם המוצג של משתתפי הפרויקט. זו מחרוזת תווים שלא משמשת את Google APIs. אפשר לעדכן אותו בכל שלב.
  • מזהה הפרויקט חייב להיות ייחודי בכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו (אי אפשר לשנות אותו אחרי שמגדירים אותו). מסוף Cloud יוצר מחרוזת ייחודית באופן אוטומטי; בדרך כלל לא מעניין אותך מה זה. ברוב ה-Codelabs תצטרכו לציין את מזהה הפרויקט (בדרך כלל הוא מזוהה כ-PROJECT_ID). אם המזהה שנוצר לא מוצא חן בעיניך, יש לך אפשרות ליצור מזהה אקראי אחר. לחלופין, אפשר לנסות תבנית משלך ולבדוק אם היא זמינה. לא ניתן לשנות אותו אחרי השלב הזה, והוא יישאר למשך הפרויקט.
  • לידיעתך, יש ערך שלישי – מספר פרויקט, שחלק מממשקי ה-API משתמשים בו. מידע נוסף על כל שלושת הערכים האלה זמין במסמכי התיעוד.

זהירות: מזהה הפרויקט חייב להיות ייחודי בכל העולם, ואף אחד אחר לא יכול להשתמש בו אחרי שבוחרים אותו. אתם המשתמשים היחידים במזהה הזה. גם אם הפרויקט נמחק, לא ניתן להשתמש יותר במזהה

  1. בשלב הבא צריך להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבים או בממשקי API של Cloud. מעבר ב-Codelab הזה לא אמור לעלות הרבה, אם בכלל. כדי להשבית את המשאבים ולא לצבור חיובים מעבר למדריך הזה, אתם יכולים למחוק את המשאבים שיצרתם או למחוק את הפרויקט כולו. משתמשים חדשים ב-Google Cloud זכאים להצטרף לתוכנית תקופת ניסיון בחינם בשווי 1,200 ש"ח.

הגדרת Google Cloud Shell

אומנם אפשר להפעיל את Google Cloud ואת Google Cloud Trace מרחוק מהמחשב הנייד, אבל ב-Codelab הזה נשתמש ב-Google Cloud Shell, סביבת שורת הפקודה שפועלת ב-Cloud.

כדי להפעיל את Cloud Shell ממסוף Cloud, פשוט לוחצים על Activate Cloud Shell (ההקצאה וההתחברות של הסביבה אמורות להימשך כמה דקות).

30c26f30d17b3d46.png

אם לא הפעלתם את Cloud Shell בעבר, יוצג לכם מסך ביניים (בחלק הנגלל) שמתאר מהו. במקרה כזה, לוחצים על 'המשך' (והוא לא יוצג שוב אף פעם). כך נראה המסך החד-פעמי:

9c92662c6a846a5c.png

ההקצאה וההתחברות ל-Cloud Shell נמשכת כמה דקות.

9f0e51b578fecce5.png

במכונה הווירטואלית הזו משולבת כל כלי הפיתוח שדרושים לכם. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר משמעותית את ביצועי הרשת והאימות. אם לא את כולן, ניתן לבצע חלק גדול מהעבודה ב-Codelab הזה באמצעות דפדפן או Chromebook.

אחרי ההתחברות ל-Cloud Shell, אתם אמורים לראות שכבר בוצע אימות ושהפרויקט כבר מוגדר למזהה הפרויקט שלכם.

מריצים את הפקודה הבאה ב-Cloud Shell כדי לוודא שהאימות בוצע:

אחרי ההתחברות ל-Cloud Shell, אתם אמורים לראות שכבר בוצע אימות ושהפרויקט כבר מוגדר ל-PROJECT_ID שלכם.

gcloud auth list

פלט הפקודה

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

פלט הפקודה

[core]
project = <PROJECT_ID>

אם מסיבה כלשהי הפרויקט לא מוגדר, פשוט מריצים את הפקודה הבאה:

gcloud config set project <PROJECT_ID>

Cloud Shell גם מגדירה משתני סביבה כברירת מחדל, והוא יכול להיות שימושי כשמריצים פקודות עתידיות.

echo $GOOGLE_CLOUD_PROJECT

פלט הפקודה

<PROJECT_ID>

אפליקציות לדוגמה

העתקנו את כל מה שצריך לפרויקט הזה למאגר של Git. המאגר מכיל כמה אפליקציות לדוגמה ואתם יכולים להשתמש בכל אחת מהן לתרגיל הזה.

קישור למאגר Git: https://github.com/rominirani/cloud-code-sample-repository

3. פורסים את האפליקציה של ה-API

במה עוסק האפליקציה או ה-API לדוגמה?

האפליקציה שלנו היא אפליקציה פשוטה של Inventory API שחושפת נקודת קצה ל-API ל-REST עם כמה פעולות כדי להציג את רשימת הפריטים במלאי ולקבל ספירת מלאי ספציפית של פריטים.

אחרי שאנחנו פורסים את ה-API ובהנחה שהוא מתארח ב-https://&lt;somehost&gt;, אנחנו יכולים לגשת לנקודות הקצה של ה-API באופן הבא:

  • https://&lt;somehost&gt;/inventory

כך תצוין רשימה של כל פריטי המוצר עם רמות המלאי הזמינות.

  • https://&lt;somehost&gt;/inventory/{productid}

תהיה לכם רשומה אחת עם מאפיין מזהה המוצר (productid) וברמת המלאי של המוצר הרלוונטי.

נתוני התגובה שמוחזרים הם בפורמט JSON.

בקשה/תגובה לדוגמה של נתונים ו-API

האפליקציה לא מופעלת על ידי מסד נתונים בקצה העורפי כדי לפשט את הדברים. בדוח מופיעים 3 מזהי מוצרים לדוגמה ואת רמות המלאי במלאי שטחי הפרסום לדוגמה.

מזהה מוצר

רמת המלאי הזמין בפועל

I-1

10

I-2

20

I-3

30

בקשה ותגובה לדוגמה מה-API מוצגים בהמשך:

בקשת API

תשובת API

https://&lt;somehost&gt;/inventory

[ { &quot;I-1&quot;: 10, &quot;I-2&quot;: 20, &quot;I-3&quot;: 30 }]

https://&lt;somehost&gt;/inventory/I-1

{ &quot;productid&quot;: &quot;I-1&quot;, &quot;qty&quot;: 10}

https://&lt;somehost&gt;/inventory/I-2

{ &quot;productid&quot;: &quot;I-2&quot;, &quot;qty&quot;: 20}

https://&lt;somehost&gt;/inventory/I-200

{ &quot;productid&quot;: I-200, &quot;qty&quot;: -1}

שכפול המאגר

אומנם אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל ב-Codelab הזה משתמשים ב-Google Cloud Shell, סביבת שורת הפקודה שפועלת ב-Cloud.

ממסוף GCP, לוחצים על הסמל של Cloud Shell בסרגל הכלים שבפינה השמאלית העליונה:

bce75f34b2c53987.png

נדרשים רק כמה דקות כדי להקצות את הסביבה ולהתחבר אליה. בסיום התהליך, אתם אמורים לראות משהו כזה:

f6ef2b5f13479f3a.png

למכונה הווירטואלית הזו נטען כל כלי הפיתוח הדרושים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר משמעותית את ביצועי הרשת והאימות. כל העבודה בשיעור ה-Lab הזה יכולה להתבצע באמצעות דפדפן בלבד.

הגדרת gcloud

ב-Cloud Shell, מגדירים את מזהה הפרויקט ושומרים אותו כמשתנה PROJECT_ID.

PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID

עכשיו, מריצים את הפקודה הבאה:

$ git clone https://github.com/rominirani/cloud-code-sample-repository.git 

הפעולה הזו תיצור תיקייה בשם cloud-code-sample-repository בתיקייה הזו.

(אופציונלי) הפעלת האפליקציה ב-Cloud Shell

אפשר להריץ את האפליקציה באופן מקומי באמצעות השלבים הבאים:

  1. בטרמינל, עוברים לגרסת Python של ה-API באמצעות הפקודה הבאה:
$ cd cloud-code-sample-repository
$ cd python-flask-api
  1. בטרמינל, שולחים את הפקודה הבאה (בזמן הכתיבה ב-Cloud Shell מותקנת גרסת Python 3.9.x ואנחנו נשתמש בגרסת ברירת המחדל. אם אתם מתכננים להריץ אותו באופן מקומי במחשב הנייד, תוכלו להשתמש ב-Python 3.8 ומעלה:
$ python app.py
  1. אפשר להריץ את הפקודה הבאה כדי להפעיל את שרת Python באופן מקומי.

26570f586acaeacf.png

  1. הפעולה הזו תפעיל שרת ביציאה 8080 ותוכלו לבדוק אותו באופן מקומי באמצעות תכונת Web Preview של Cloud Shell. לוחצים על הלחצן תצוגה מקדימה של אתר כפי שמוצג בהמשך:

675d9b3097a6209c.png

לוחצים על Preview ביציאה 8080.

  1. פעולה זו תפתח חלון דפדפן. תופיע שגיאה 404, וזה בסדר. משנים את כתובת ה-URL ומשנים אותה רק כך שיופיע /inventory אחרי שם המארח.

לדוגמה: במחשב שלי, הוא נראה כך:

https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory

תוצג רשימה של הפריטים במלאי, כפי שהוסבר קודם:

ef6afb0184c58870.png

  1. אפשר לעצור את השרת עכשיו על ידי מעבר לטרמינל ולחיצה על Ctrl-C

פורסים את האפליקציה

עכשיו נפרוס את אפליקציית ה-API הזו ל-Cloud Run. התהליך כולל שימוש בלקוח שורת הפקודה של glcoud כדי להריץ את הפקודה לפריסת הקוד ב-Cloud Run.

מהטרמינל, מריצים את הפקודה הבאה של gcloud:

$ gcloud run deploy --source .

יוצגו לך מספר שאלות (אם תוצג לך בקשה לאשר זאת, אפשר להמשיך) וחלק מהנקודות מצוינות בהמשך. יכול להיות שלא תקבלו את כל השאלות, בהתאם להגדרה ואם כבר הפעלתם ממשקי API מסוימים בפרויקט שלכם ב-Google Cloud.

  1. שם השירות (python-flask-api): בוחרים באפשרות ברירת המחדל הזו או בוחרים בשם כמו my-inventory-api
  2. ה-API [run.googleapis.com] לא מופעל בפרויקט [project-number]. רוצה להפעיל ולנסות שוב (הפעולה תימשך כמה דקות)? (y/N)? Y
  3. צריך לציין אזור: בוחרים אזור על ידי הוספת מספר.
  4. ה-API [artifactregistry.googleapis.com] לא מופעל בפרויקט [project-number]. רוצה להפעיל ולנסות שוב (הפעולה תימשך כמה דקות)? (y/N)? Y
  5. פריסה מקוד המקור דורשת מאגר Docker של Artifact Registry לאחסון קונטיינרים שנוצרו. המערכת תיצור מאגר בשם [cloud-run-source-deploy] באזור [us-west1].

רוצה להמשיך (Y/n)? Y

  1. לאפשר הפעלות לא מאומתות ל-[my-inventory-api] (y/N)? Y

בסופו של דבר, התהליך הזה יאפשר לקחת את קוד המקור, ליצור אותו בקונטיינרים, לדחוף אותו ל-Artifact Registry ואז לפרוס את השירות Cloud Run ואת הגרסה הקודמת. תודה על הסבלנות במהלך התהליך (התהליך עשוי להימשך 3-4 דקות), והתהליך אמור להסתיים בכתובת ה-URL של השירות.

כך מוצגת הרצה לדוגמה:

7516696ea5b3004b.png

בדיקת האפליקציה

עכשיו, לאחר שפרסנו את האפליקציה ב-Cloud Run, אתם יכולים לגשת לאפליקציית ה-API באופן הבא:

  1. צריך לרשום את כתובת ה-URL של השירות מהשלב הקודם. לדוגמה: בהגדרה שלי, הוא מופיע כ-https://my-inventory-api-bt2r5243dq-uw.a.run.app. הוא נקרא &lt;SERVICE_URL&gt;.
  2. פותחים דפדפן ונכנסים ל-3 כתובות ה-URL הבאות של נקודות הקצה ל-API:
  3. &lt;SERVICE_URL&gt;/inventory
  4. <SERVICE_URL>/מלאי/I-1
  5. <SERVICE_URL>/מלאי/I-100

הן צריכות להתאים למפרט שציינו בסעיף קודם עם דוגמת בקשה ותגובה של API.

קבלת פרטי שירות מ-Cloud Run

פרסנו את שירות ה-API שלנו ב-Cloud Run, סביבת מחשוב ללא שרת (serverless). אנחנו יכולים להיכנס לשירות Cloud Run דרך מסוף Google Cloud בכל שלב.

מהתפריט הראשי, עוברים אל Cloud Run. פעולה זו תציג את רשימת השירותים שאתם מפעילים ב-Cloud Run. אתם אמורים לראות את השירות שפרסתם עכשיו. בהתאם לשם שבחרתם, אתם אמורים לראות משהו כזה:

10d2c363241d789c.png

לוחצים על שם השירות כדי להציג את הפרטים. פרטי הדוגמה מוצגים בהמשך:

1ec2c9e45ff1a2db.png

שימו לב לכתובת ה-URL, שהיא רק כתובת ה-URL של השירות שניתן להזין לדפדפן ולגשת ל-Inventory API שפרסנו כרגע. אפשר לעיין במדדים ובפרטים אחרים.

קדימה, מתחילים עם חבילת התפעול של Google Cloud.

4. הגדרת מרכז בקרה

אחת התכונות הנוחות שיש ב-Cloud Monitoring היא מרכזי בקרה מחוץ לתיבה (OOTB) בכמה משאבים ב-Google Cloud. כך תהליך ההגדרה הראשוני של מרכזי בקרה עם מדדים סטנדרטיים הוא תהליך מהיר ונוח.

בואו נראה איך לעשות זאת עבור שירות ה-API שפרסנו עכשיו ב-Cloud Run.

מרכז בקרה מותאם אישית לשירות שלנו

מכיוון שפרסנו את שירות ה-API שלנו ל-Cloud Run, בואו נראה איך להגדיר מרכזי בקרה כדי להציג מדדים שונים באופן חזותי, שחלקם כוללים את זמן האחזור של השירות.

קודם כל, נכנסים למסוף דרך Monitoring ← סקירה כללית:

c51a5dda4ab72bbf.png

הסקירה הכללית מציגה מספר דברים שהייתם מגדירים ב-Monitoring, כמו 'לוחות בקרה', 'התראות', 'בדיקת זמני פעילות' וכו'.

2758f61f1e7f1dca.png

בינתיים, אפשר ללחוץ על מרכזי בקרה בתפריט הראשי שבצד. הפעולה הזו תעביר אותנו למסך הבא:

c9110b6f065100da.png

לוחצים על ספרייה לדוגמה . פעולה זו תציג רשימה של מרכזי בקרה מחוץ לתיבה (OOTB) שזמינים ב-Google Cloud במשאבים מרובים. באופן ספציפי, גללו למטה ברשימה ובחרו באפשרות Google Cloud Run כפי שמוצג בהמשך.

ddac4038d4fa91ae.png

תוצג רשימה של מרכזי בקרה סטנדרטיים שזמינים ל-Google Cloud Run. אנחנו מעוניינים בכך כי פרסנו את השירות שלנו ב-Cloud Run.

יופיע לוח בקרה אחד ל-Cloud Run Monitoring. לוחצים על הקישור תצוגה מקדימה כדי להציג את רשימת התרשימים (מדדים) הסטנדרטיים שזמינים ל-Cloud Run Monitoring. כדי לייבא את כל התרשימים למרכז בקרה מותאם אישית, אפשר ללחוץ על ייבוא של מרכז בקרה לדוגמה. הפעולה הזו תציג מסך מרכז בקרה עם שם שהוזן מראש, אותו השם שמוצג בהמשך:

531cb8434b18193a.png

כדי לנווט חזרה, לוחצים על החץ שמאלה, שנמצא מימין לשם מרכז הבקרה, מימין למעלה מימין. פעולה זו תוביל לרשימה של מרכזי בקרה, שממנה תוכלו לראות את מרכז הבקרה החדש שיצרתם.

אפשר ללחוץ על הקישור לאותו מרכז שליטה כדי לעקוב אחרי מדדים רבים שזמינים ללא הגבלה. המדדים האלה כוללים את זמן האחזור, ספירת הבקשות, מדדי מאגר התגים ועוד.

אפשר גם לסמן כל מרכז בקרה כמועדף, פשוט בוחרים בסמל הכוכב כמו שמוצג בהמשך:

fc993d1a17415550.png

הפעולה הזו תוסיף את מרכז הבקרה למסך הסקירה הכללית של Monitoring, ותהיה דרך קלה לנווט למרכזי בקרה שמשתמשים בהם לעיתים קרובות.

2e8f66e2652c55c5.png

1e1dffb5239ab110.png

מעולה! הוספתם עכשיו לוח בקרה בהתאמה אישית למעקב אחרי שירותי Cloud Run. נהדר!

5. בדיקות זמני פעילות

בקטע הזה נגדיר בדיקת זמני פעילות לשירות ה-API שפרסנו. בדיקת זמני פעילות ציבורית יכולה לשלוח בקשות ממספר מיקומים ברחבי העולם לכתובות URL שזמינות באופן ציבורי או למשאבים של Google Cloud כדי לראות אם המשאב מגיב.

המשאב במקרה הזה יהיה שירות ה-API שפרסנו ב-Cloud Run. כתובת ה-URL תהיה נקודת קצה ספציפית ששירות ה-API חושף כדי לציין את תקינות השירות.

בקוד השירות לדוגמה של ממשק ה-API, חשפנו נקודת קצה (endpoint) /healthy שמחזירה את ערך המחרוזת All Izz Well". לכן, כל מה שאנחנו צריכים לעשות הוא להגדיר בדיקת זמני פעילות שמופנית לערך כמו https://&lt;SERVICE_URL&gt;/healthy, ולבדוק אם המחרוזת https://&lt;SERVICE_URL&gt;/healthy מוחזרת או לא.

יצירת ערוץ התראות

לפני שניצור את בדיקת זמני הפעילות, חשוב להגדיר קודם את ערוצי ההתראות. ערוץ התראות הוא אמצעי ההגעה לאתר שדרכו תקבלו התראות במקרה של אירוע או בעיה שקשורה לאחד מהמשאבים שנמצאים במעקב שלנו. דוגמה לערוץ התראות היא 'אימייל' ותקבלו אימיילים במקרה שתהיה התראה וכו'.

נכון לעכשיו, נגדיר ערוץ התראות באימייל ונגדיר אותו באמצעות כתובת האימייל שלנו, כדי שנוכל לקבל התראות במקרה של התראות שהמערכת שלנו תעלה ואילו נגדיר.

כדי ליצור ערוץ התראות, מבצעים את השלבים הבאים:

נכנסים אל Monitoring ← Alerting מהתפריט הראשי ב-Google Cloud Console, כפי שמוצג בהמשך:

9f87859064c63b63.png

יוצג דף עם התראות, מדיניות ועוד. בינתיים, יופיע בחלק העליון קישור עריכת ערוצי התראות. לוחצים על הקישור.

5ab54f42e6f7b99.png

תוצג רשימה של ערוצי ההתראות השונים, כפי שמוצג בהמשך:

cd89b1ca9e1de87c.png

מאתרים את הקטע אימייל ולוחצים על הוספת חדש בשורה הזו. יוצגו הפרטים של תצורת האימייל, כפי שמוצג בהמשך:

d6ed98ffd0427fa3.png

מזינים את כתובת האימייל ושם המוצג כפי שמוצג בהמשך. לוחצים על שמירה.

פעולה זו הושלמה ליצירת ערוץ ההתראות באימייל. עכשיו נגדיר את בדיקת זמני הפעילות.

יצירת בדיקה של זמני פעילות

בתפריט הראשי במסוף Google Cloud, עוברים אל Monitoring → Uptime checks. בחלק העליון יופיע הקישור CREATE UPTIME CHECK. לוחצים על הקישור.

484541aec65e605e.png

כאן תופיע סדרה של שלבים שתצטרכו לבצע כדי להגדיר את בדיקת זמני הפעילות.

השלב הראשון הוא להגדיר את פרטי היעד, כלומר מידע על שירות Cloud Run שפרסנו. למטה מוצג טופס שמולאו:

4e2bb9fe022320f7.png

ניתן לבחור את הערכים השונים כך:

  • פרוטוקול : HTTPS
  • סוג משאב : בוחרים שירות Cloud Run. שימו לב למשאבים האחרים שהתכונה הזו תומכת בהם, ושאתם יכולים להגדיר גם בהם בדיקות של זמני פעילות.
  • Cloud Run Service : בוחרים את my-inventory-api או את השם הספציפי שלכם לשירות Cloud Run.
  • הנתיב הוא /healthy, מכיוון שאנחנו מחזירים את המחרוזת All Izz Well ואנחנו רוצים לבדוק את זה.

לוחצים על המשך כדי לעבור לשלב הבא. השלב הבא הוא השלב אימות תגובה כפי שמוצג בהמשך:

a6011ac2ab3e0f10.png

אפשר לראות שאנחנו מפעילים את הבדיקה של 'התאמת תוכן' ולאחר מכן מגדירים שהתשובה שתוחזר על ידי נקודת הקצה /healthy תהיה 'All Izz Well'. לוחצים על המשך כדי לעבור לשלב הבא שבו נגדיר את ההתראה ובאיזה ערוץ התראות עלינו לקבל התראה, אם בדיקת זמני הפעילות נכשלה.

d9738670efcb999f.png

בשלב זה, נותנים שם להתראה. בחרתי באפשרות הזו ככשל בבדיקת זמן הפעולה התקינה של Inventory API, אבל אפשר לבחור את השם שלך. הדבר החשוב כאן הוא לבחור את ערוץ ההתראות הנכון מהרשימה שהגדרתם קודם לכן.

בשלב האחרון, לוחצים על בדיקה כדי לבדוק את בדיקת זמני הפעילות שהגדרנו.

בשלב האחרון הזה, נותנים שם לבדיקת זמני הפעילות (לדוגמה, בדיקת זמני פעילות ב-Inventory API) ואז אפשר גם לבדוק אם הבדיקה מוגדרת נכון. לשם כך, לוחצים על הלחצן TEST.

80375bfab97fc313.png

משלימים את התהליך (לוחצים על הלחצן יצירה בצד ימין). מערכת Google Cloud תנחה את בדיקות זמני הפעילות שהוגדרו באזורים שונים לבצע פינג לכתובת ה-URL, והתשובות האלה ייאספו. אחרי כמה דקות, תוכלו לעבור לקטע Monitoring ← Uptime checks. במצב אידיאלי, אמורים להופיע כל האותות הירוקים שמעידים על כך שניתן להגיע לכתובת ה-URL מבקשות הבדיקה השונות.

df17555ddbee1127.png

אם אחת מהבדיקות תיכשל למשך פרק זמן מסוים (ניתן להגדרה), תקבלו התראה בערוץ האימייל שהגדרנו.

סיימנו את הקטע בנושא הגדרת בדיקה של זמני פעילות. נהדר!

6. Metrics Explorer

Cloud Monitoring חושף אלפי מדדים סטנדרטיים מכמה מוצרי Google Cloud. תוכלו להשתמש במדדים האלה כדי לבדוק, לשלוח שאילתות, להמיר לתרשימים, להוסיף למרכזי בקרה, להציג התראות ועוד.

המטרה שלנו בקטע הזה היא:

  1. תבינו איך ניתן לבחון מדדים שונים ולאחר מכן נחקור מדד ספציפי (זמן אחזור) עבור שירות ה-API שלנו.
  2. ממירים את המדד לתרשים ולמרכז בקרה מותאם אישית, שבאמצעותם אפשר להציג את המדד באופן חזותי בכל שלב.

עיון במדד זמן האחזור לשירות Inventory API

עוברים אל Monitoring ← Metrics Explorer מהתפריט הראשי במסוף Google Cloud. הפעולה הזו תעביר אתכם למסך Metrics Explorer. לוחצים על בחירת מדד. עכשיו אפשר לנווט בין כמה משאבים פעילים שיש בהם מדדים שנוצרו.

מכיוון שאנחנו עוסקים בשירותי Cloud Run, לחצו על Cloud Run Revision ואז על הקטגוריה והמדד הספציפי Request זמן אחזור , באופן הבא:

7609d8156c8f1384.png

לוחצים על החלה. הפעולה הזו תציג את זמן האחזור של הבקשה בתרשים. אפשר לשנות את סוג הווידג'ט לתרשים קו בתרשים קו דרך הגדרות התצוגה משמאל, כפי שמוצג למטה:

46086ac0a8eaf3d7.png

פעולה זו תציג את תרשים זמן האחזור באופן הבא:

ad97f749eeacaa95.png

יצירת תרשים ומרכז בקרה מותאם אישית

בואו נשמור את התרשים. לוחצים על שמירת התרשים ומשתמשים בפרטים הבאים:

35d1788d5f0cb3c4.png

חשוב לזכור שאנחנו יוצרים מרכז בקרה חדש במקום לשמור אותו במרכז בקרה קיים. לוחצים על הלחצן שמירה. הפעולה הזו תוסיף את מרכז הבקרה החדש שיצרתם לרשימת מרכזי הבקרה שלנו, כפי שמוצג בהמשך:

c9cdcd63d5823abd.png

כדי לראות את הפרטים, לוחצים על מרכז הבקרה הספציפי שיצרנו.

27354d8310d8a2d7.png

נסיים את הסעיף בנושא חקירת מדדים שונים באמצעות Metrics Explorer והאופן שבו נוכל ליצור מרכזי בקרה מותאמים אישית.

7. Cloud Logging

בחלק הזה נלמד על Cloud Logging. Cloud Logging מגיע עם ממשק Logs Explorer שעוזר לכם לנווט ולחקור יומנים שנוצרו על ידי שירותים שונים של Google ואפליקציות משלכם.

בקטע הזה נלמד על Logs Explorer ונבצע הדמיה של כמה הודעות ביומן שנוכל לחפש אותן ולהמיר אותן למדדים, באמצעות תכונה שנקראת מדדים מבוססי יומן.

Logs Explorer

אתם יכולים להיכנס ל-Logging Explorer דרך Logging ←Logs Explorer ממסוף Google Cloud הראשי, באופן הבא:

df05f5b33fd5695a.png

יוצג ממשק של יומן שבו תוכלו לבחור או לבטל את הבחירה במשאבים שונים (פרויקט, משאב Google Cloud, שמות שירותים וכו') יחד עם רמות יומן, כדי לסנן את ההודעות ביומן לפי הצורך.

e7fa15bcf73f3805.png

למעלה מוצגת רשימת היומנים של הגרסה הקודמת של Cloud Run, כלומר שירותי Cloud Run שפרסנו. יוצגו מספר בקשות שהן בדיקות זמני פעילות שיגיעו לנקודת הקצה /healthy שהגדרנו.

חיפוש אזהרות

כדי לדמות מספר בקשות לא חוקיות לשירות המלאי, צריך לציין מזהי מוצרים שהם לא אחד מהרכיבים I-1 , I-2 ו-I-3. לדוגמה: בקשה שגויה היא:

https://&lt;SERVICE_URL&gt;/inventory/I-999

עכשיו נחפש את כל האזהרות שנוצרו על ידי ה-API, כשיסופק בשאילתה מזהה מוצר שגוי.

בתיבת השאילתה, מזינים את הפרמטרים הבאים של השאילתה:

resource.type=&quot;cloud_run_revision&quot;

textPayload =~ "התקבלה בקשת מלאי עבור מזהה מוצר שגוי"

הוא אמור להיראות כך:

b3ee512a0c9c5c7b.png

לוחצים על 'הרצת שאילתה'. כך יוצגו כל הבקשות שהתקבלו ובאילו בעיות זוהתה הבעיה.

5fdbd7c23bf4694f.png

מדדים מבוססי יומן

בואו ניצור מדד יומן מותאם אישית כדי לעקוב אחרי השגיאות האלה. נרצה לדעת אם יש מספר רב של שיחות עם מזהי מוצרים שגויים.

כדי להמיר את הערכים שלמעלה למדד שגיאה, לוחצים על הלחצן יצירת מדד שמופיע ב-Logs Explorer.

fa9a5e04922aa412.png

הפעולה הזו תפתח את הטופס ליצירת הגדרת המדד. עוברים עם מדד ספירה ומזינים את הפרטים של שם המדד (inventory_lookup_errors) והתיאור של התיאור כפי שמוצג למטה, ולוחצים על Create Metric.

70b5719b472d4d02.png

הפעולה הזו תיצור את המדד המונה ותוצג לכם הודעה שמוצגת בהמשך:

ab9058028185e4d5.png

בתפריט הראשי, נכנסים אל Logging ← מדדים מבוססי-יומנים. המדד המותאם אישית שהגדרנו אמור להופיע ברשימת המדדים בהגדרת המשתמש, כפי שמתואר בהמשך:

7d186e90559cf8e1.png

בסוף הרשומה הזו יוצגו שלוש נקודות אנכיות. אפשר ללחוץ עליהן כדי לראות את הפעולות שאפשר לבצע במדד המותאם אישית. הרשימה אמורה להיות דומה לרשימה שמוצגת בהמשך. לוחצים על האפשרות הצגה ב-Metrics Explorer.

7586f0789a0bdb41.png

זה יוביל אותנו אל הכלי Metrics Explorer שלמדנו עליו בקטע הקודם, אבל עכשיו הוא מאוכלס מראש.

7ee7403d0639ce25.png

לוחצים על שמירת התרשים. משתמשים בערכים הבאים לאפשרויות של שמירת התרשים:

9009da45f76eb4c5.png

עכשיו ייווצר מרכז שליטה חדש, שבו ניתן יהיה לראות את השגיאות בחיפוש מלאי, והוא יהיה זמין ברשימת מרכזי הבקרה.

201ed66957cb64f9.png

נהדר! יצרתם עכשיו מדד מותאם אישית מהיומנים שלכם, והמרתם אותו לתרשים שמופיע במרכז בקרה מותאם אישית. כך נוכל לעקוב אחר מספר השיחות שבהן נעשה שימוש במזהי מוצרים שגויים.

8. מדיניות התראות

בקטע הזה נשתמש במדד המותאם אישית שיצרנו ונעקוב אחרי הנתונים שלו כדי לאתר סף מסוים. כלומר אם מספר השגיאות חורג מסף מסוים, נודיע לכם על כך. במילים אחרות, נגדיר מדיניות התראות.

יצירת מדיניות התראות

בואו נעבור ללוח הבקרה של חיפוש מלאי. פעולה זו תפתח את התרשים שיצרנו, כדי לשים לב לשגיאות בחיפוש מלאי, כפי שמוצג בהמשך:

3591a1dd91a8b9fd.png

יוצגו נתוני המדד הנוכחיים. קודם כול אנחנו עורכים את המדד כמו שמוצג למטה (צריך ללחוץ על הלחצן 'עריכה'):

5e76fc20d8387984.png

יוצגו פרטי המדד. אנחנו הולכים להמיר את התרשים כך שלא יציג את שיעור השגיאות לסכום כלומר מספר השגיאות. השדה לשינוי מוצג למטה:

65ccd1eaca607831.png

לוחצים על אישור בפינה השמאלית העליונה וחוזרים למסך 'מדדים', אבל הפעם נוכל לראות את המספר הכולל של השגיאות בתקופת ההתאמה לעומת שיעור השגיאות.

אנחנו עומדים ליצור מדיניות התראות שיכולה להודיע לנו במקרה שמספר השגיאות חורג מהסף. לוחצים על סמל האפשרויות הנוספות (3 נקודות) בפינה השמאלית העליונה של התרשים, ומתוך רשימת האפשרויות, כפי שמתואר למעלה, לוחצים על המרה לתרשים התראה.

cc9eec48b9bfbc92.png

אתם אמורים לראות את המסך הבא:

6202ad1e88679a78.png

לוחצים על Next (הבא). פעולה זו תציג את ערך הסף שנוכל להגדיר. סף הדוגמה שקבענו כאן הוא 5 , אבל אתם יכולים לבחור אותו לפי העדפתכם.

734f809cc802ab78.png

לוחצים על הבא כדי להציג את טופס ההתראות

f2d84fb85c2520cb.png

בחרנו ב'ערוץ ההתראות' כערוץ האימייל שיצרנו קודם. אפשר למלא את הפרטים האחרים, כמו מסמכים (שיסופקו כחלק מההתראה שמוצגת). לוחצים על הבא כדי לראות את הסיכום ולהשלים את התהליך.

c670b29da70c4655.png

אחרי היצירה של מדיניות ההתראות, היא תוצג ברשימה של כללי מדיניות ההתראות, כפי שמתואר בהמשך. תוכלו להיכנס לרשימה של כללי מדיניות ההתראות בקטע Monitoring ← Alerting. ניתן לסרוק את הקטע כללי מדיניות בדף כדי להציג את הרשימה של כללי המדיניות שהגדרנו עד עכשיו.

154da627959c54f3.png

נהדר! הגדרת עכשיו מדיניות התראות מותאמת אישית, שתיידע אותך במקרה של עלייה בשיעור השגיאות בזמן חיפוש של Inventory API.

9. Service Monitoring (אופציונלי)

בקטע הזה, נגדיר יעדי SLI/SLO לשירותים שלנו בהתאם לעקרונות Site Reliability Engineering (SRE). תוכלו לראות ש-Cloud Monitoring מקל עליכם על ידי איתור אוטומטי של שירותים שפרסתם ב-Cloud Run, ושיכול לחשב בשבילכם שגיאות SLI עיקריות כמו זמינות, זמן אחזור וחישובי 'תקציב שגיאות' באופן אוטומטי.

עכשיו נגדיר את ה-SLO של זמן האחזור לשירות ה-API שלנו.

הגדרת SLO של זמן אחזור לשירות מלאי

בתפריט הראשי ב-Cloud Console, לוחצים על Monitoring ← Services. תוצג רשימת השירותים שהוגדרו ל-Service Monitoring.

נכון לעכשיו, אין לנו שירותים שהוגדרו לניטור SLI/SLO, ולכן הרשימה ריקה. לוחצים על הקישור הגדרת שירות בחלק העליון כדי להגדיר או לזהות שירות קודם.

42d14515a481213.png

הפעולה הזו תאתר באופן אוטומטי שירותים שעומדים בדרישות למעקב SLO. היא יכולה לאתר את שירותי Cloud Run, ולכן שירות Inventory API שנפרס ב-Cloud Run יופיע ברשימה.

522aaba719f85c54.png

השם המוצג עשוי להיות שונה, והוא תלוי במה שבחרתם כשפרסתם את השירות ב-Cloud Run. לוחצים על הלחצן SUBMIT. הפעולה הזו תפתח את המסך הבא:

eca08010ab6858a9.png

אפשר ללחוץ על CREATE SLO. עכשיו תוכלו לבחור מבין יעדי ה-SLI שמחושבים בשבילכם באופן אוטומטי.

556e49b10d22e5ac.png

בתור התחלה, בוחרים באפשרות Latency SLI. לוחצים על המשך. בשלב הבא יוצג מסך שמציג את הביצועים הנוכחיים של שירות זה ואת זמן האחזור הטיפוסי.

a9cc6f6778c13b52.png

אנחנו מזינים ערך לסף, כלומר 300ms , וזה מה שאנחנו רוצים להשיג. אם תרצו, תוכלו לבחור ערך אחר, אבל חשוב לזכור שהוא ישפיע על תקציב השגיאות שתגדירו בהתאם. לוחצים על המשך.

עכשיו מגדירים את ה-SLO (חלון יעד ומדידה) באופן הבא:

e1fc336d4191c08e.png

פירוש הדבר הוא שאנחנו בוחרים את חלון המדידה כחלון מסוג 'גלילה רציפה' ומודדים אותו על פני 7 ימים. באופן דומה, בחרנו ביעד של 90%. המטרה שלנו היא ש-90% מהבקשות לשירות ה-API אמורות להסתיים תוך 300 אלפיות השנייה, וצריך למדוד את התהליך הזה על פני 7 ימים.

לוחצים על המשך. ייפתח מסך הסיכום, שאותו אפשר לאשר בלחיצה על הלחצן Update SLO (עדכון יעד).

f2540173d9f4a4b7.png

פעולה זו שומרת את הגדרת ה-SLO שלכם, ותקציב השגיאות מחושב עבורכם באופן אוטומטי.

76393df0e189104.png

אפשר לנסות את הפעולות הבאות:

  1. אפשר להפעיל את ה-API באמצעות מספר קריאות ולראות את ביצועי השירות ואיך הוא משפיע על תקציב השגיאות שנותר.
  2. משנים את קוד המקור כדי להוסיף עיכוב נוסף (שינה) באופן אקראי בחלק מהשיחות. המצב הזה מאריך את זמן האחזור של מספר שיחות, וזה עלול להשפיע לרעה על תקציב השגיאות.

10. מזל טוב

כל הכבוד, פרסתם בהצלחה אפליקציה לדוגמה ב-Google Cloud ולמדתם איך להשתמש בחבילת התפעול של Google Cloud כדי לעקוב אחר תקינות האפליקציה!

אילו נושאים דיברנו?

  • פריסת שירות ב-Google Cloud Run.
  • הגדרת מרכז בקרה לשירות Google Cloud Run.
  • בדיקות זמני פעילות.
  • הגדרת מדדי יומן מותאמים אישית ולוח בקרה/תרשים על סמך הנתונים האלה.
  • התנסות ב-Metrics Explorer והגדרת מרכז בקרה/תרשים.
  • הגדרת מדיניות התראות.
  • הגדרה של SLI/SLO למעקב אחר שירות ב-Google Cloud.

הערה: אם ביצעתם את ה-Codelab באמצעות החשבון שלכם ופרויקט ב-Google Cloud, יכול להיות שתחויבו על המשאבים שהוקצו לכם. לכן, בסיום שיעור ה-Lab, מוחקים את הפרויקט ואת המשאבים.

מה השלב הבא?

לקבלת מידע נוסף על חבילת התפעול של Google Cloud, מומלץ לצפות ביחידת ה-Quest בנושא Cloud Skills Boost.

קריאה נוספת