במאמר הזה מוסבר איך לאמת את ההתקנה של תוסף למכונה וירטואלית, לאבחן בעיות בהשקת מדיניות ובמצב של תוסף למכונה וירטואלית, ולצפות ביומני ניפוי באגים של סוכן אורח במכונות וירטואליות (VM) של Compute Engine. כאן מוסבר איך לזהות למה תוסף צפוי לא הותקן, למה תוסף לא צפוי פועל במכונה וירטואלית או למה תהליך של תוסף נעצר.
לפני שמתחילים
לפני שאתם פותרים בעיות בתוספים של המכונות הווירטואליות, אתם צריכים לבצע את הפעולות הבאות:
- מוודאים שיש לכם את ההרשאות הנדרשות כדי לבדוק את כללי המדיניות של התוספים, את המטא-נתונים של התוספים שנתמכים ב-VM Extension Manager ואת המצבים של תוספי ה-VM בהיררכיית המשאבים של Google Cloud . מידע נוסף זמין במאמר הצגת הפרטים והסטטוס של תוסף VM.
- כדי לזהות כשלים בהתקנה, קריסות או החזרות למצב קודם לפני שמתחברים למכונות וירטואליות ספציפיות, בודקים את האירועים ההיסטוריים של אכיפת התוספים ב-Cloud Logging. מידע נוסף זמין במאמר צפייה ביומנים של תוספי VM.
- כדי לבדוק תהליכים של תוספים שפועלים ויומני ניפוי באגים של סוכן אורח ישירות ב-VM, ודאו שאתם יכולים להתחבר ל-VM באמצעות SSH או RDP.
איך בודקים אם התוסף מותקן
כדי לבדוק אם תוסף מותקן ופועל במכונה וירטואלית של Compute Engine, בודקים את מצב התוסף של המכונה הווירטואלית באמצעות השיטות לקריאה בלבד. התחברו למכונה הווירטואלית רק אם אתם צריכים פרטים על התהליכים או היומנים של מערכת ההפעלה של האורח.
בדיקת המצב של תוסף ה-VM באמצעות השיטות לקריאה בלבד
כדי לבדוק את מצב זמן הריצה ואת סטטוס התקינות של התוספים המותקנים בלי להתחבר למכונה הווירטואלית, מריצים את הפקודה gcloud beta compute instances list-vm-extension-states או gcloud beta compute instances get-vm-extension-state, או קוראים לשיטות המקבילות של API בארכיטקטורת REST. התשובה מחזירה את הגרסה הפעילה של כל תוסף, מצב האכיפה (enforcementState), מצב התקינות (healthStatus), הודעת האבחון (healthMsg) ומזהה המדיניות השולטת (policyId). מידע נוסף זמין במאמר הצגת מצבי תוסף VM במכונה.
בדיקת תהליכי התוספים שפועלים ב-VM
אם שאילתות של מצב מרוחק לא מחזירות את הסטטוס הצפוי, מתחברים ל-VM ובודקים אם תהליך התוסף פועל במערכת ההפעלה של האורח.
בטבלה הבאה מפורטים שמות התהליכים של כל תוסף נתמך:
| שם התוסף | שם התהליך של התוסף |
|---|---|
google-cloud-sap-extension |
google_cloud_sap_agent |
google-cloud-workload-extension |
google_cloud_workload_agent |
ops-agent |
ops_agent |
כדי לבדוק אם תהליך התוסף פועל ב-VM, בוחרים את מערכת ההפעלה:
Linux
כדי להציג את רשימת התהליכים של התוספים שפועלים, מריצים את הפקודה הבאה:
ps aux | grep 'EXTENSION_PROCESS_NAME'
EXTENSION_PROCESS_NAME בשם התהליך של התוסף מהטבלה שלמעלה.
לדוגמה, כדי להציג את תהליך התוסף ops-agent, מריצים את הפקודה הבאה:
ps aux | grep 'ops_agent'
Windows
כדי להציג את רשימת התהליכים של התוספים שפועלים, מריצים את הפקודה הבאה:
tasklist | findstr "EXTENSION_PROCESS_NAME"
EXTENSION_PROCESS_NAME בשם התהליך של התוסף מהטבלה שלמעלה.
לדוגמה, כדי להציג את תהליך התוסף ops-agent, מריצים את הפקודה הבאה:
tasklist | findstr "ops_agent"
בקטע הקוד הבא מוצג פלט לדוגמה מהפקודה ps כשהתוסף ops-agent פועל במכונה וירטואלית של Linux:
.... /var/lib/google-guest-agent/931374772276853249/plugins/ops-agent_baddabb3dac3 ....
בדיקת רשומות ההתקנה של סוכן האורח
כדי לוודא מתי הסוכן של המכונה הוריד, חילץ והפעיל פלאגין של תוסף, מפעילים את יומני ניפוי הבאגים של הסוכן של המכונה ומציגים אותם.
קטע הקוד הבא מציג רשומות לדוגמה ביומן הפעילות של סוכן האורח, כשהסוכן מתקין ומפעיל את התוסף ops-agent ב-VM של Linux:
my-instance google_guest_agent [14972]: Installing plugin "ops-agent", revision "2dfa648c1892da87" my-instance google_guest_agent [14972]: (client.go:181) Sent message [[type.googleapis.com/agent_controlplane.PluginEventMessage: (revision_id:"2dfa648c1892da87)]] my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "DownloadPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:316) Successfully downloaded "https://storage.googleapis.com/acp-gcs-bucket-us-central1-a/ops-agent my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "UnpackPluginArchiveStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:361) Successfully unpacked "/var/lib/google-guest-agent/ops-agent.tar.gz" to "/google-guest-agent/ops-agent_2dfa648c1892da87 my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "LaunchPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (run_linux.go:32) Attempting process start: (OutputType:0 Name:/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87) my-instance google_guest_agent [14972]: (pluginlauncher.go:132) Launched a plugin process from "/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:136) Dialing in on plugin "ops-agent 2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:51) Executing start request on plugin "ops-agent_2dfa648c1892da87"
פתרון בעיות בהתקנה
אם תוסף לא מותקן ב-VM או שתוסף לא צפוי פועל ב-VM, צריך לאבחן את השקת המדיניות, תוויות היעד ומצב האכיפה לפני שמנסים שוב להתקין.
כדי לזהות למה ההתקנה של התוסף נכשלה ב-VM, מבצעים את שלבי האבחון הבאים:
- ממתינים לאכיפת המדיניות. השקת מדיניות, כולל ניסיונות חוזרים, יכולה להימשך עד שעה במכונות הווירטואליות המטורגטות. מידע נוסף על בדיקת ההתקדמות של ההשקה זמין במאמר הצגת מדיניות ההרחבה.
- בודקים שתוויות ההכללה שציינתם במדיניות תואמות לתוויות במכונה הווירטואלית, ומאמתים את המטא-נתונים של התוספים שנתמכים ב-VM Extension Manager:
- כדי לבדוק את בוררי תוויות המדיניות ואת מספרי העדיפות בארגון, בתיקייה או בפרויקט, קראו את המאמר הצגת מדיניות התוספים.
- כדי לבדוק את השמות, מספרי הגרסאות ורמות התמיכה של התוספים שנתמכים על ידי VM Extension Manager בכל האזורים או באזור ספציפי, קראו את המאמר הצגת התוספים והגרסאות של המכונות הווירטואליות.
- כדי לבדוק את מצב האכיפה, מצב התקינות, הודעת האבחון ומזהה המדיניות השולטת (
policyId), בודקים את מצב התוסף במכונה הווירטואלית המושפעת. מצבי שגיאה נפוצים כוללים אתINSTALL_FAILED,INCOMPATIBLEו-ROLLED_BACK. אם כמה כללי מדיניות מטרגטים את אותה מכונה וירטואלית, השדהpolicyIdמראה איזה כלל מדיניות חל על כל תוסף. מידע נוסף זמין במאמר הצגת מצבי התוספים של מכונות וירטואליות במכונה. - כדי לזהות שגיאות התקנה ברמת האורח ב-VM, מפעילים את יומני ניפוי הבאגים של סוכן האורח ומציגים אותם.
ניסיון נוסף להתקין את התוסף
אחרי שמתקנים את הבעיה הבסיסית בהגדרת המדיניות או במערכת ההפעלה של האורח, צריך להחיל מחדש את הגדרת המדיניות כדי שסוכן האורח ינסה שוב להתקין את החבילה במכונות הווירטואליות המושפעות.
כדי לנסות שוב להתקין את התוסף, בוחרים באחת מהאפשרויות הבאות:
- ליצור מחדש את המדיניות: מוחקים את המדיניות ואז יוצרים מדיניות חדשה.
החלת מדיניות זמנית בעדיפות גבוהה יותר: כדי לנסות שוב להתקין במכונות וירטואליות ספציפיות בלי ליצור מחדש מדיניות שמשפיעה על צי גדול, מבצעים את השלבים הבאים:
- מוסיפים תווית זמנית, כמו
status=failed, למכונות הווירטואליות שבהן ההתקנה נכשלה. יוצרים מדיניות זמנית עם עדיפות גבוהה יותר (ערך שלם נמוך יותר) שמטרגטת את התווית הזמנית. לדוגמה, אם במדיניות המקורית מוגדרת עדיפות ברירת המחדל
1000, כדי ליצור מדיניות זמנית עם עדיפות500, מריצים את הפקודה הבאה:gcloud compute zone-vm-extension-policies create temp-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=status=failedאחרי שסוכן האורח מתקין את התוסף במכונות הווירטואליות המטורגטות, מוחקים את המדיניות הזמנית.
מסירים את התווית הזמנית מהמכונות הווירטואליות. התוסף נשאר מותקן כי המדיניות המקורית עדיין חלה על המכונות הווירטואליות האלה.
- מוסיפים תווית זמנית, כמו
הצגת יומני ניפוי באגים של סוכן האורח
אם שאילתות של מצב מרוחק ויומני אירועים של רישום ביומן לא מראים למה ההורדה או ההפעלה של התוסף נכשלו, הפעילו רישום מפורט של יומן ניפוי באגים בקטע Core של קובץ התצורה של סוכן האורח.
כדי להפעיל את יומני ניפוי הבאגים של סוכן האורח ולצפות בהם, בוחרים את מערכת ההפעלה:
Linux
כדי להפעיל רישום ביומן של ניפוי באגים במכונה וירטואלית של Linux, מבצעים את הפעולות הבאות:
- פותחים את קובץ התצורה של סוכן האורח ב-
/etc/default/instance_configs.cfg. ב-
/etc/default/instance_configs.cfg, מוסיפים את ההגדרות הבאות. אם הקטע[Core]כבר קיים, מוסיפים אתlog_levelואתlog_verbosityמתחת ל-[Core]:[Core] log_level = 4 log_verbosity = 4כדי להפעיל מחדש את מנהל הסוכן של המכונה הווירטואלית, מריצים את הפקודה הבאה:
sudo systemctl restart google-guest-agent-managerכדי להציג את יומני סוכן האורח שנוצרו במהלך התקנת התוסף, מריצים את הפקודה הבאה:
journalctl -u google-guest-agent-manager
Windows
כדי להפעיל רישום ביומן של ניפוי באגים ב-VM של Windows:
- פותחים את קובץ התצורה של סוכן האורח ב-
C:\Program Files\Google\Compute Engine\instance_configs.cfg. ב-
instance_configs.cfg, מוסיפים את ההגדרות הבאות. אם הקטע[Core]כבר קיים, מוסיפים אתlog_levelואתlog_verbosityמתחת ל-[Core]:[Core] log_level = 4 log_verbosity = 4בחלון מורחב של שורת הפקודה או של PowerShell, מריצים את הפקודות הבאות כדי להפעיל מחדש את מנהל סוכן האורח:
net stop GCEAgentManager net start GCEAgentManagerכדי להציג ב-PowerShell את יומני הסוכן האורח שנוצרו במהלך התקנת התוסף, מריצים את הפקודה הבאה:
Get-Eventlog -Source google_guest_agent_manager -LogName Application
פתרון שגיאות נפוצות ביומן הפעילות של סוכן האורח
כשבודקים את יומני ניפוי הבאגים של סוכן האורח, צריך לחפש שגיאות שקשורות לאילוצי משאבים שמונעות מהתוספים לחלץ או לפעול ב-VM.
בטבלה הבאה מפורטות שגיאות נפוצות שמופיעות ביומני ניפוי הבאגים של סוכן האורח, ואיך לפתור אותן:
| מצב שגיאה | רזולוציה |
|---|---|
| אין מספיק מקום בכונן | אם ביומנים מדווח שאין מספיק מקום בדיסק של ה-VM כדי להוריד או לחלץ את ארכיון התוסף, צריך למחוק קבצים שלא בשימוש או לשנות את הגודל של דיסק האתחול. |
| שימוש מופרז במשאבים | אם ביומנים מצוין שהסוכן האורח הפסיק את התוסף בגלל שימוש גבוה בזיכרון או במעבד (CPU), משנים את סוג המכונה של ה-VM למכונה עם יותר זיכרון או מעבדי vCPU. |
המאמרים הבאים
- כדי לבדוק את התקדמות ההשקה ואת סטטוס התקינות של התוסף, קראו את המאמר הצגת הפרטים והסטטוס של תוסף למכונה וירטואלית.
- כדי לשלוח שאילתות לגבי אירועי אכיפה היסטוריים ולבדוק את ההתקנה ב-Logging, קראו את המאמר הצגת יומני התוספים של VM.
- כדי ליצור לוחות בקרה של Cloud Monitoring ולהגדיר התראות על תקינות הסוכן, המעבד (CPU) והשימוש בזיכרון, קראו את המאמר מעקב אחרי תוספים של מכונות וירטואליות.
- כדי לשנות את הגדרות התצורה, לשנות גרסאות מוצמדות או להסיר סוכנים שנפרסו, קראו את המאמר ניהול תוספים של מכונות וירטואליות באמצעות מדיניות תוספים.