במדריך הזה נסביר איך להגדיר התראה על זמני פעילות עבור אפליקציית Python Hello World שפועלת בסביבה הגמישה של App Engine באמצעות Cloud Monitoring. התראות על זמן פעולה רציפה מאפשרות לכם לדעת מתי האפליקציה לא משרתת תנועה. אפשר גם להגדיר התראות על זמינות לאפליקציות שפועלות ב-Compute Engine או ב-Google Kubernetes Engine (GKE).
מטרות
- מריצים אפליקציית Hello World בסיסית.
- יוצרים בדיקת זמינות שעוקבת אחרי קוד הסטטוס HTTP '200' שמוחזר מהאפליקציה.
- יוצרים התראה ששולחת לכם הודעת אימייל אם בדיקת זמני הפעילות נכשלת.
- מפעילים מחדש את האפליקציה כדי להפעיל את ההתראה.
עלויות
התכונה 'מעקב' מוצעת כרגע למשתמשי בטא ללא תשלום.
לפני שמתחילים
- נכנסים לחשבון 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.
-
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.
שיבוט של האפליקציה לדוגמה
אפליקציית הדוגמה זמינה ב-GitHub בכתובת
GoogleCloudPlatform/getting-started-python.
משכפלים את המאגר.
git clone https://github.com/GoogleCloudPlatform/getting-started-python.gitעוברים לספריית הדוגמאות.
cd getting-started-python/gceהאפליקציה מחזירה רק את המחרוזת Hello World!, לכן לא צריך להגדיר אותה ואפשר להפעיל אותה מיד.
gcloud app deployכדי לראות את ההודעה שהוחזרה, מזינים את כתובת ה-URL הבאה בדפדפן:
https://PROJECT_ID.REGION_ID.r.appspot.comמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud -
REGION_ID: קוד שמוקצה לאפליקציה על ידי App Engine
-
יצירת בדיקה של זמני פעילות
אחרי פריסת האפליקציה, אפשר להשתמש ב-Monitoring כדי ליצור בדיקת זמינות. הבדיקה שולחת פינגים לאפליקציה שפרסתם באופן רציף כדי לוודא שהיא מחזירה תגובה תקינה.
-
במסוף Google Cloud , עוברים לדף
בדיקת זמני פעילות:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- לוחצים על יצירת בדיקת זמינות.
נותנים שם לבדיקה, כמו
Check Hello World, ואז לוחצים על הבא.בקטע יעד מציינים מה צריך להיות בפיקוח של בדיקת הזמינות:
- מכיוון שפרסתם ב-App Engine, צריך לשנות את סוג המשאב ל-App Engine במקום ל-URL. (URL משמש ליצירת כתובת URL מותאמת אישית במכונה של Compute Engine).
- בוחרים את השירות שרוצים לעקוב אחרי זמני הפעילות שלו.
- משאירים את השדה Path (נתיב) ריק כדי להגדיר כברירת מחדל את דף האינדקס הראשי.
- משאירים את Check frequency בערך ברירת המחדל 1 minute.
- לוחצים על הבא.
משאירים את ערכי ברירת המחדל בשדות Response Validation ולוחצים על Next.
בקטע התראה והודעה, מציינים איך רוצים לקבל התראה אם מתרחשת התראה:
- מוודאים שהתווית של המתג היא התראות מופעלות.
- משאירים את ערכי ברירת המחדל בשדות של השם והמשך.
כדי להוסיף ערוץ התראות למדיניות ההתראות, בתיבת הטקסט עם התווית ערוצי התראות, לוחצים על תפריט. בוחרים את הערוצים שרוצים להוסיף ולוחצים על אישור. ההתראות מקובצות בסדר אלפביתי לפי סוג הערוץ.
כדי להוסיף רשומה לרשימת תיבות הסימון, לוחצים על ניהול ערוצי התראות ופועלים לפי ההוראות. כשחוזרים לתיבת הדו-שיח הזו, לוחצים על רענון refresh.
לוחצים על יצירה. אם פעולת היצירה מצליחה, מוצגת ההודעה Check and alert created (הבדיקה וההתראה נוצרו), ואז מוצג דף לוח הבקרה Uptime checks (בדיקות זמני פעילות).
במרכז הבקרה של בדיקות זמני פעילות, בדיקת הזמינות החדשה מופיעה ברשימה. אם לוחצים על שם הבדיקה, נפתחת תצוגת הפרטים של בדיקת זמני הפעילות הזו. בתצוגה הזו מוצגים כמה תרשימים, אחוז הזמינות ופרטי ההגדרה, ומופיעה רשימה של מדיניות ההתראות שהוגדרה. כדי לראות מדיניות, לוחצים על השם שלה.
אפשר גם לראות את מדיניות ההתראות דרך הדף התראות. בחלונית Policies (מדיניות) בדף ההתראות מופיעה קבוצת משנה של מדיניות. כדי לראות את רשימת כל פריטי המדיניות, לוחצים על הצגת כל פריטי המדיניות.
סימולציה של הפסקת שירות
אחרי שיוצרים את בדיקת הזמינות, אפשר לדמות הפסקת פעולה על ידי שינוי האפליקציה כך שתגיב עם שגיאת HTTP 404 Sorry, we can't find that page ולא עם תגובת HTTP 200 OK.
בדוגמה הבאה אפשר לראות איפה אפליקציית Hello World מחזירה רק את ההודעה Hello World!, וקוד הסטטוס של התגובה מוגדר כברירת מחדל ל-
200 OK. כדי לראות את הקוד הזה באפליקציית Hello World, משתמשים בפונקציית התצוגה.כדי לגרום לאפליקציית Hello World להחזיר קוד שגיאה מסוג HTTP
404, משנים את שורת ההחזרה על ידי הוספת ערך404לחלק השני של ערך ההחזרה.return 'Hello World', 404
פורסים את האפליקציה החדשה, שכוללת באגים בכוונה.
gcloud app deploy
תוך חצי שעה תקבלו הודעת אימייל שבה מצוין שהבדיקה של זמן הפעולה התקין נכשלה.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך.
כדי למחוק את הפרויקט:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.