מידע לפתרון בעיות בסוכן התפעול

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

אימות סטטוס הסוכן באמצעות gcpdiag

אתם יכולים להשתמש ב-gcpdiag כדי לדווח על הסטטוס של Ops Agent במכונות וירטואליות ספציפיות או בכל המכונות הווירטואליות בפרויקט, וכך לוודא שהסוכן מותקן ושולח באופן פעיל יומנים ומדדים. gcpdiag יכול ליצור דוחות סטטוס בכמה פורמטים, כולל פורמט CSV או JSON.

הדוגמה הבאה מציגה דוח סטטוס של סוכנים בכל הצי בפורמט CSV:

🔎 gce/ERR/2024_004: Verify Ops Agent is installed on GCE VMs and is sending logs and metrics.

gce/ERR/2024_004,projects/my-project/zones/my-location/instances/instance-1,failed,Ops Agent not installed on the VM,https://gcpdiag.dev/rules/gce/ERR/2024_004
gce/ERR/2024_004,projects/my-project/zones/my-location/instances/instance-2,skipped,VM Manager is needed for the ops agent detection. Please enable it at: https://cloud.google.com/compute/docs/manage-os#automatic and run this check again.,https://gcpdiag.dev/rules/gce/ERR/2024_004
gce/ERR/2024_004,projects/my-project/zones/my-location/instances/instance-3,skipped,VM Manager is needed for the ops agent detection. Please enable it at: https://cloud.google.com/compute/docs/manage-os#automatic and run this check again.,https://gcpdiag.dev/rules/gce/ERR/2024_004
gce/ERR/2024_004,projects/my-project/zones/my-location/instances/instance-4,ok,"Ops Agent installed on the VM, and is successfully sending logs and metrics.",https://gcpdiag.dev/rules/gce/ERR/2024_004
gce/ERR/2024_004,projects/my-project/zones/my-location/instances/instance-5,ok,"Ops Agent installed on the VM, and is successfully sending logs and metrics.",https://gcpdiag.dev/rules/gce/ERR/2024_004

הכלי gcpdiag נוצר על ידי Google Cloud התמיכה כדי לעזור לכם לאבחן בעצמכם בעיות נפוצות בפרויקט Google Cloud , כולל בעיות ב-Ops Agent. ‏gcpdiag הוא כלי בקוד פתוח, ולא מוצר רשמי של Google Cloud, אבל צוות התמיכה של Google Cloud מפתח ומתחזק אותו באופן פעיל. אתם יכולים לתרום או לדווח על בעיות ב-GitHub.

לפני שמתחילים

‫gcpdiag משולב עם Cloud Shell, כך שאפשר להריץ אותו בלי להתקין אותו. כדי להפעיל את gcpdiag, אתם צריכים לעמוד בדרישות המוקדמות הבאות:

  • הרשאה: gcpdiag משתמש ב-Application Default Credentials ‏ (ADC) ב-Cloud Shell כדי לבצע אימות.
    חשוב לוודא שלפרטי הכניסה שמשמשים עם gcpdiag יש לפחות את התפקידים הבאים בפרויקט Google Cloud שבו פועל סוכן התפעול:

    • בעל הרשאת צפייה (roles/viewer)
    • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
  • ‫APIs: כדי להשתמש ב-gcpdiag בפרויקט, צריך להפעיל את ממשקי ה-API הבאים:

    • Cloud Resource Manager API: cloudresourcemanager.googleapis.com
    • ‫Identity and Access Management API‏: iam.googleapis.com
    • Cloud Logging API: logging.googleapis.com
    • שימוש בשירות: serviceusage.googleapis.com

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

     gcloud --project=PROJECT_ID services enable \
       cloudresourcemanager.googleapis.com \
       iam.googleapis.com \
       logging.googleapis.com \
       serviceusage.googleapis.com
    
  • ‫VM Manager: מפעילים את VM Manager במכונה במסגרת רמת השימוש בחינם. אם התקנתם את סוכן תפעול במהלך יצירת מכונה וירטואלית או אם מדיניות סוכנים מנהלת את ההתקנה של סוכן תפעול במכונות וירטואליות, כבר עמדתם בדרישות לשימוש ב-VM Manager.

הרצת gcpdiag

פקודת gcpdiag לשימוש עם סוכן תפעול כוללת את התחביר הבסיסי הבא:

gcpdiag lint --project=PROJECT_ID [--name=INSTANCE_NAME] --show-skipped --include=gce/err/2024_004 [--output=[CSV|JSON]]
  • ‫PROJECT_ID הוא מזהה Google Cloud הפרויקט.
  • ‫INSTANCE_NAME הוא השם של המכונה הווירטואלית ב-Compute Engine. משתמשים באפשרות --name כדי לשלוח שאילתה למכונה וירטואלית ספציפית. כדי לשלוח שאילתה לכל המכונות, לא מציינים את האפשרות הזו.
  • משתמשים באפשרות --output כדי לשמור את הדוח בקובץ בפורמט CSV או JSON. אם לא רוצים קובץ פלט, לא מציינים את האפשרות הזו.

הערך של האפשרות --include מציין כלל אחד או יותר של gcpdiag; ‫gce/ERR/2024-004 הוא הכלל של סוכן תפעול. מידע נוסף על התחביר של הפקודה gcpdiag זמין במאמר gcpdiag – אבחון ל- Google Cloud Platform.

לדוגמה, כדי ליצור דוח על כל הצי לפרויקט my-project, מריצים את הפקודה הבאה:

gcpdiag lint --project=my-project --show-skipped --include=gce/ERR/2024_004

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

🔎 gce/ERR/2024_004: Verify Ops Agent is installed on GCE VMs and is sending logs and metrics.
  - my-project/instance-1                                                 [FAIL] Ops Agent not installed on the VM
  - my-project/instance-2                                                 [FAIL] Ops Agent not installed on the VM
  - my-project/instance-3                                                 [SKIP] Unable to confirm Ops Agent installation
  VM Manager is needed for the ops agent detection. Please enable it at: https://cloud.google.com/compute/docs/manage-os#automatic and run this check again.
  - my-project/instance-4                                            [FAIL] Ops Agent is installed, but it's failing to send both logs and metrics to Google Cloud.
  Is Ops Agent sending logs? (Yes)  Is Ops Agent sending metrics? (No)
  - my-project/instance-5                                                 [FAIL] Ops Agent is installed, but it's failing to send both logs and metrics to Google Cloud.
  Is Ops Agent sending logs? (No)   Is Ops Agent sending metrics? (No)
  - my-project/instance-6                                                 [ OK ] Ops Agent installed on the VM, and is successfully sending logs and metrics.
  - my-project/instance-7                                                 [ OK ] Ops Agent installed on the VM, and is successfully sending logs and metrics.

כדי ליצור דוח עבור המופע my-instance בפרויקט my-project, מריצים את הפקודה הבאה:

gcpdiag lint  --project=my-project --name=my-instance --show-skipped --include=gce/err/2024_004

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

🔎 gce/ERR/2024_004: Verify Ops Agent is installed on GCE VMs and is sending logs and metrics.
  - my-project/my-instance   [ OK ] Ops Agent installed on the VM, and is successfully sending logs and metrics.

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

WARNING:googleapiclient.http:Encountered 403 Forbidden with reason "PERMISSION_DENIED"
[ERROR]:can't access project my-project: Cloud Resource Manager API has not been used in project my-project before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=my-project then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry..
[DEBUG]: An Http Error occurred whiles accessing projects.get

HttpError 403 when requesting https://cloudresourcemanager.googleapis.com/v3/projects/my-project?alt=json returned Cloud Resource Manager API has not been used in project my-project before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=my-project then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry. Details: ...
[ERROR]:exiting program...
error getting project details

פירוש הפלט של gcpdiag

בקטע הזה מוסבר איך להבין את הדוחות שנוצרים על ידי gcpdiag ואיך להשתמש בהם.

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

  • אינדיקטור של כלל gcpdiag שאיתו הופעלה הפקודה. ב-Ops Agent, המידע הזה נראה כך:
    🔎 gce/ERR/2024_004: Verify Ops Agent is installed on GCE VMs and is sending logs and metrics
  • מזהה של התוצאה למכונה וירטואלית ספציפית בפורמט PROJECT_ID/INSTANCE_ID. בדוח על כל המכונות, הפלט כולל רשומה לכל מכונה וירטואלית. בדוח של מכונה וירטואלית אחת, הפלט כולל רשומה אחת.
  • הסטטוס של הבדיקה. הסטטוס יכול להיות אחד מהערכים הבאים:
  • תיאור של ערך הסטטוס.

בקטעים הבאים מוסבר בהרחבה על ערכי הסטטוס והמשמעות שלהם.

סטטוס: OK

סטטוס OK מציין שסוכן התפעול פועל במכונת ה-VM ושולח יומנים ומדדים ממכונת ה-VM. הדוח כולל את תיאורי הסטטוס הבאים:
Ops Agent installed on the VM, and is successfully sending logs and metrics.

סטטוס: FAIL

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

  • אם Ops Agent לא מותקן, יופיע תיאור הסטטוס הבא:
    Ops Agent not installed on the VM
  • אם סוכן תפעול לא שולח גם יומנים וגם מדדים מהמכונה הווירטואלית, תופיע הודעת סטטוס כמו זו:
    Agent is installed, but it's failing to send both logs and metrics to Google Cloud.
    Is Ops Agent sending logs? (Yes) Is Ops Agent sending metrics? (No)

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

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

סטטוס: SKIP

סטטוס SKIP מציין ש-gcpdiag לא הצליח לקבוע אם סוכן התפעול מותקן במכונה הווירטואלית. הדוח כולל את תיאורי הסטטוס הבאים:
Unable to confirm Ops Agent installation
  VM Manager is needed for the ops agent detection.
  Please enable it at: https://cloud.google.com/compute/docs/manage-os#automatic and run this check again.

כדי לבדוק את הסטטוס של הסוכן, צריך להפעיל את VM Manager במכונה הווירטואלית. כדי לפתור את הבעיה, צריך להתקין את המהדורה החינמית של VM Manager במופע. אחרי ההתקנה, ממתינים 15 דקות ומנסים להריץ שוב את הפקודה gcpdiag.

בדיקות תקינות של סוכנים

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

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

בגרסה 2.37.0 נוספו בדיקות תקינות בזמן ריצה ל-סוכן תפעול. השגיאות האלה מדווחות ל-Cloud Logging ול-Error Reporting. מידע על איתור שגיאות זמן ריצה זמין במאמר איתור שגיאות זמן ריצה.

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

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

קוד בדיקת תקינות קטגוריה משמעות הצעה
DLApiConnErr קישוריות הבקשה לתת-הדומיין של ההורדות, dl.google.com, נכשלה. בודקים את החיבור לאינטרנט ואת הכללים של חומת האש. מידע נוסף זמין במאמר בנושא בעיות בקישוריות לרשת.
FbMetricsPortErr זמינות של ניוד יציאה 20202, שנדרשת למדדים עצמיים של סוכן תפעול, לא זמינה. מוודאים שהיציאה 20202 פתוחה. מידע נוסף זמין במאמר בנושא היציאה הנדרשת לא זמינה.
HcFailureErr גנרי שגרת בדיקת התקינות של סוכן תפעול נתקלה בשגיאה פנימית. שליחת בקשת תמיכה ממסוף Google Cloud . מידע נוסף זמין במאמר בנושא קבלת תמיכה.
LogApiConnErr קישוריות הבקשה ל-Logging API נכשלה. בודקים את החיבור לאינטרנט ואת הכללים של חומת האש. מידע נוסף זמין במאמר בנושא בעיות בקישוריות לרשת.
LogApiDisabledErr API ‫Logging API מושבת בפרויקט הנוכחי. Google Cloud מפעילים את Logging API.
LogApiPermissionErr הרשאה לחשבון השירות חסר התפקיד 'כתיבה ביומן' (roles/logging.logWriter). מקצים לחשבון השירות את התפקיד 'כתיבת יומנים'. מידע נוסף מופיע במאמר בנושא חסרות לאגנט הרשאות API.
LogApiScopeErr הרשאה במכונה הווירטואלית חסר היקף הגישה https://www.googleapis.com/​auth/​logging.write. מוסיפים את ההיקף https://www.googleapis.com/​auth/​logging.write למכונה הווירטואלית. מידע נוסף זמין במאמר בנושא אימות היקפי הגישה.
LogApiUnauthenticatedErr API המכונה הווירטואלית הנוכחית לא הצליחה לבצע אימות לממשק ה-API של רישום ביומן. מוודאים שקובצי פרטי הכניסה, היקפי הגישה של מכונת ה-VM וההרשאות מוגדרים בצורה נכונה. מידע נוסף זמין במאמר בנושא מתן הרשאה ל-Ops Agent.
LogPingOpsAgent   הודעת מטען מידע שנכתבת כל 10 דקות ביומן ops-agent-health. אפשר להשתמש ברשומות היומן שמתקבלות כדי לוודא שהסוכן שולח יומנים. ההודעה הזו לא מציינת שגיאה. ההודעה הזו אמורה להופיע כל 10 דקות. אם ההודעה לא מופיעה במשך 20 דקות או יותר, יכול להיות שהסוכן נתקל בבעיה. מידע על פתרון בעיות זמין במאמר בנושא פתרון בעיות ב-Ops Agent.
LogParseErr זמן ריצה סוכן התפעול לא הצליח לנתח יומן אחד או יותר. בודקים את ההגדרות של מעבדי הרישום שיצרתם. מידע נוסף זמין במאמר בנושא שגיאות בניתוח יומנים.
LogPipeLineErr זמן ריצה צינור עיבוד הנתונים של Ops Agent נכשל. מוודאים שלסוכן תפעול יש גישה לקובצי המאגר. בודקים אם הדיסק מלא ומוודאים שההגדרה של סוכן תפעול נכונה. מידע נוסף זמין במאמר בנושא שגיאות בצינורות.
MetaApiConnErr קישוריות הבקשה לשרת המטא-נתונים של G​C​E, לשאילתות לגבי היקפי גישה למכונות וירטואליות, אסימוני OAuth ותוויות משאבים, נכשלה. בודקים את החיבור לאינטרנט ואת הכללים של חומת האש. מידע נוסף זמין במאמר בנושא בעיות בקישוריות לרשת.
MonApiConnErr קישוריות בקשה ל-Monitoring API נכשלה. בודקים את החיבור לאינטרנט ואת הכללים של חומת האש. מידע נוסף זמין במאמר בנושא בעיות בקישוריות לרשת.
MonApiDisabledErr API ‫Monitoring API מושבת בפרויקט הנוכחי Google Cloud . מפעילים את Monitoring API.
MonApiPermissionErr הרשאה לחשבון השירות חסר התפקיד 'כתיבת מדדים של ניטור' (roles/monitoring.metricWriter). מקצים לחשבון השירות את התפקיד 'כתיבת מדדים ב-Monitoring' . מידע נוסף מופיע במאמר בנושא חסרות לאגנט הרשאות API.
MonApiScopeErr הרשאה במכונה הווירטואלית חסר היקף הגישה https://www.googleapis.com/​auth/​monitoring.write. מוסיפים את היקף ההרשאות https://www.googleapis.com/​auth/​monitoring.write למכונה הווירטואלית. מידע נוסף זמין במאמר בנושא אימות היקפי הגישה.
MonApiUnauthenticatedErr API לא הייתה אפשרות לאמת את מכונת ה-VM הנוכחית באמצעות Monitoring API. מוודאים שקובצי פרטי הכניסה, היקפי הגישה של מכונת ה-VM וההרשאות מוגדרים בצורה נכונה. מידע נוסף זמין במאמר בנושא מתן הרשאה ל-Ops Agent.
OtelMetricsPortErr זמינות של ניוד יציאה 20201, שנדרשת למדדים עצמיים של סוכן תפעול, לא זמינה. מוודאים שהיציאה 20201 פתוחה. מידע נוסף זמין במאמר בנושא יציאה נדרשת לא זמינה.
PacApiConnErr קישוריות הקוד הזה לבדיקת תקינות לא אמין. הקוד הזה מושבת בגרסה 2.46.1 של סוכן תפעול. מעדכנים לגרסה Ops Agent 2.46.1 ואילך.

איתור שגיאות שקשורות לשעת ההתחלה

המיקום של קובצי היומן של בדיקת תקינות מקומית שונה עבור סוכנים שמותקנים באמצעות מדיניות של תוסף VM Extension Manager ועבור סוכנים שמותקנים בכל שיטה אחרת.

לא הותקן על ידי VM Extension Manager

החל מגרסה 2.35.0, מידע על בדיקות תקינות נכתב ליומן ops-agent-health על ידי Cloud Logging API (בגרסאות 2.33.0 ו-2.34.0 נעשה שימוש ב-ops-agent-health-checks). אותו מידע נכתב גם לקובץ health-checks.log באופן הבא:

  • ‫Linux: /var/log/google-cloud-ops-agent/health-checks.log
  • ‫Windows: C:\ProgramData\Google\Cloud Operations\Ops Agent\log\health-checks.log

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

  • ב-Linux, מריצים את הפקודה הבאה:
       sudo systemctl status google-cloud-ops-agent"*"
       

    מחפשים הודעות כמו '[Ports Check] Result: PASS'. תוצאות אחרות כוללות את הערכים ERROR ו-FAIL.

  • ב-Windows, משתמשים בEvent Viewer (צפייה באירועים). מחפשים הודעות מסוג Information,‏ Error או Failure שמשויכות לשירות google-cloud-ops-agent.

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

ההתקנה בוצעה על ידי VM Extension Manager

המידע על בדיקות תקינות נכתב ביומן ops-agent-health באמצעות Cloud Logging API. כש-Ops Agent מנוהל על ידי מדיניות של תוסף VM Extension Manager, אותו מידע נכתב גם לקובץ health-checks.log באופן הבא:

  • ‫Linux: /var/lib/google-guest-agent/INSTANCE_ID/agent_state/plugins/ops-agent/logs/google-cloud-ops-agent/health-checks.log
  • ‫Windows: C:\ProgramData\Google\Compute Engine\google-guest-agent\INSTANCE_ID\agent_state\plugins\ops-agent\health-checks.log

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

איתור שגיאות זמן ריצה

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

כדי לראות שגיאות בזמן ריצה מ-Ops Agent ב-Logging:

  1. במסוף Google Cloud , נכנסים לדף Logs Explorer:

    כניסה אל Logs Explorer

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

  2. מזינים את השאילתה הבאה ולוחצים על Run query (הפעלת שאילתה):
    log_id("ops-agent-health")

כדי לראות שגיאות בזמן ריצה מ-Ops Agent בדף 'דיווח על שגיאות': פועלים לפי השלבים הבאים:

  1. נכנסים לדף Error Reporting במסוף Google Cloud :

    עבור אל Error Reporting

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

  2. כדי לראות שגיאות מ-Ops Agent, מסננים את השגיאות לפי Ops Agent.

אימות של איסוף יומנים מוצלח

בגרסה 2.46.0 של סוכן תפעול נוספה בדיקת התקינות LogPingOpsAgent informational. במהלך הבדיקה הזו נכתבת הודעה אינפורמטיבית ב-ops-agent-health כל 10 דקות. אפשר להשתמש בנוכחות של ההודעות האלה כדי לוודא שסוכן התפעול כותב יומנים. לשם כך, אפשר לבצע אחת מהפעולות הבאות:

אם אחת מהאפשרויות האלה מציינת שהודעות היומן לא נבלעות, אפשר לבצע את הפעולות הבאות:

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

  • נכנסים לדף VM instances במסוף Google Cloud :

    כניסה לדף VM instances

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שבה כותרת המשנה היא Compute Engine.

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

כלי לאבחון סוכנים במכונות וירטואליות

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

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

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

Linux

curl -sSO https://dl.google.com/cloudagents/diagnose-agents.sh
sudo bash diagnose-agents.sh

‫Windows

(New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/diagnose-agents.ps1", "${env:UserProfile}\diagnose-agents.ps1")
Invoke-Expression "${env:UserProfile}\diagnose-agents.ps1"

עוקבים אחרי הפלט של הרצת הסקריפט כדי לאתר את הקבצים שכוללים את המידע שנאסף. בדרך כלל אפשר למצוא אותם בספרייה /var/tmp/google-agents ב-Linux ובספרייה $env:LOCALAPPDATA/Temp ב-Windows, אלא אם התאמתם אישית את ספריית הפלט כשמריצים את הסקריפט.

מידע מפורט זמין בסקריפט diagnose-agents.sh ב-Linux או בסקריפט diagnose-agents.ps1 ב-Windows.

כלי לאבחון בעיות בסוכנים במדיניות התקנה אוטומטית

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

  • ההתקנה של סוכן התפעול נכשלת אם השתמשתם בתיבת הסימון Install Ops Agent for Monitoring and Logging כדי להתקין את סוכן התפעול במהלך יצירת המכונה הווירטואלית.
  • הסטטוס של הסוכן בלוח הבקרה VM instances של Cloud Monitoring או בכרטיסייה Observability בדף הפרטים של מכונת VM ב-Compute Engine נשאר במצב Pending למשך יותר מ-10 דקות. סטטוס בהמתנה שנמשך זמן רב עשוי להצביע על אחת מהבעיות הבאות:

    • בעיה בהחלת המדיניות.
    • בעיה בהתקנה בפועל של סוכן התפעול.
    • בעיה בקישוריות בין מכונת ה-VM לבין Cloud Monitoring.

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

כדי להריץ את הסקריפט policy-diagnostics, מריצים את הפקודות הבאות:

curl -sSO https://dl.google.com/cloudagents/diagnose-ui-policies.sh
bash diagnose-ui-policies.sh VM_NAME VM_ZONE

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

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

יומנים של הסוכן

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

המיקום של קובצי היומן העצמי של הסוכן שונה עבור סוכנים שמותקנים באמצעות מדיניות של תוסף VM Extension Manager ועבור סוכנים שמותקנים בכל השיטות האחרות. אפשר לעיין בקטעים הבאים:

לא מותקן על ידי VM Extension Manager

Linux

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

journalctl -u google-cloud-ops-agent*

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

vim -M /var/log/google-cloud-ops-agent/subagents/logging-module.log

‫Windows

כדי לבדוק את היומנים העצמיים שנכתבים ב-Windows Event Logs, מריצים את הפקודה הבאה:

Get-WinEvent -FilterHashtable @{ Logname='Application'; ProviderName='google-cloud-ops-agent*' } | Format-Table -AutoSize -Wrap

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

notepad "C:\ProgramData\Google\Cloud Operations\Ops Agent\log\logging-module.log"

כדי לבדוק את היומנים מ-Windows Service Control Manager בשביל שירותי סוכן תפעול, מריצים את הפקודה הבאה::

Get-WinEvent -FilterHashtable @{ Logname='System'; ProviderName='Service Control Manager' } | Where-Object -Property Message -Match 'Google Cloud Ops Agent' | Format-Table -AutoSize -Wrap

ההתקנה בוצעה על ידי VM Extension Manager

Linux

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

vim -M /var/lib/google-guest-agent/INSTANCE_ID/agent_state/plugins/ops-agent/log/google-cloud-ops-agent/subagents/logging-module.log

‫Windows

כדי לבדוק את היומנים העצמיים שנכתבים ב-Windows Event Logs, מריצים את הפקודה הבאה:

Get-WinEvent -FilterHashtable @{ Logname='Application'; ProviderName='google-cloud-ops-agent*' } | Format-Table -AutoSize -Wrap

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

notepad "C:\ProgramData\Google\Compute Engine\google-guest-agent\INSTANCE_ID\agent_state\plugins\ops-agent\logging-module.log"

הצגת מדדי דפוסי שימוש וביצועים ב-Cloud Monitoring

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

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

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

כדי להציג את הדף ניהול מדדים:

  1. נכנסים לדף  Metrics management במסוף Google Cloud :

    נכנסים אל ניהול מדדים.

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

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

מידע נוסף על הדף ניהול מדדים זמין במאמר איך רואים את השימוש במדדים ומנהלים אותו.