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

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

אימות סטטוס הסוכן באמצעות 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 או אם מדיניות סוכנים מנהלת את ההתקנה של סוכן תפעול במופעי ה-VM, כבר עמדתם בדרישות של 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 מתחיל, הוא מבצע סדרה של בדיקות לתנאים שמונעים מהסוכן לפעול בצורה תקינה. אם הסוכן מזהה אחד מהתנאים, הוא רושם ביומן הודעה שמתארת את הבעיה. סוכן התפעול בודק את הדברים הבאים:

  • בעיות בקישוריות
  • זמינות של יציאות שהסוכן משתמש בהן כדי לדווח על מדדים לגבי עצמו
  • בעיות בהרשאות
  • זמינות של ממשקי ה-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 של Logging. מוודאים שקובצי פרטי הכניסה, היקפי הגישה של מכונת ה-VM וההרשאות מוגדרים בצורה נכונה. מידע נוסף זמין במאמר בנושא מתן הרשאה ל-Ops Agent.
LogPingOpsAgent   הודעת מטען מידע שנכתבת כל 10 דקות ביומן ops-agent-health. אפשר להשתמש ברשומות היומן שמתקבלות כדי לוודא שהסוכן שולח יומנים. ההודעה הזו לא מציינת שגיאה. ההודעה הזו אמורה להופיע כל 10 דקות. אם ההודעה לא מופיעה במשך 20 דקות או יותר, יכול להיות שהסוכן נתקל בבעיה. מידע לפתרון בעיות זמין במאמר פתרון בעיות ב-Ops Agent.
LogParseErr זמן ריצה ‫סוכן התפעול לא הצליח לנתח יומן אחד או יותר. בודקים את ההגדרה של כל מעבד יומנים שיצרתם. מידע נוסף זמין במאמר בנושא שגיאות בניתוח יומנים.
LogPipeLineErr זמן ריצה צינור עיבוד הנתונים של הרישום ב-Ops Agent נכשל. מוודאים שלסוכן תפעול יש גישה לקובצי המאגר, בודקים אם הדיסק מלא ומוודאים שההגדרה של סוכן תפעול נכונה. מידע נוסף זמין במאמר בנושא שגיאות בצינורות.
MetaApiConnErr קישוריות הבקשה לשרת המטא-נתונים של GCE, לשליחת שאילתות לגבי היקפי גישה למכונות וירטואליות, אסימוני OAuth ותוויות משאבים, נכשלה. בודקים את החיבור לאינטרנט ואת הכללים של חומת האש. מידע נוסף זמין במאמר בנושא בעיות בקישוריות לרשת.
MonApiConnErr קישוריות בקשה ל-Monitoring API נכשלה. בודקים את החיבור לאינטרנט ואת הכללים של חומת האש. מידע נוסף זמין במאמר בנושא בעיות בקישוריות לרשת.
MonApiDisabledErr API ה-API של Monitoring מושבת בפרויקט הנוכחי 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 של סוכן תפעול. מעדכנים לגרסה סוכן תפעול 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. כשהסוכן תפעול מנוהל על ידי מדיניות הרחבה של 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. אם הסוכן לא הצליח להתחיל אבל הצליח לדווח על שגיאות לפני הכשל, יכול להיות שיוצגו גם שגיאות בשעת ההתחלה.

כדי לראות שגיאות בזמן ריצה מ-סוכן תפעול ב-רישום ביומן:

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

    כניסה אל Logs Explorer

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

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

כדי לראות שגיאות בזמן ריצה מ-סוכן תפעול ב-Error Reporting: פועלים לפי השלבים הבאים:

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

    כניסה אל Error Reporting

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

  2. כדי לראות שגיאות מ-סוכן תפעול, מסננים את השגיאות לפי 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 מדור קודם. מידע על תוצאות ניפוי הבאגים כולל פרטים כמו מידע על הפרויקט, מידע על VM, הגדרות הסוכן, יומני הסוכן, סטטוס שירות הסוכן ומידע שבדרך כלל נדרשת עבודה ידנית כדי לאסוף אותו. הכלי גם בודק את סביבת המכונה הווירטואלית המקומית כדי לוודא שהיא עומדת בדרישות מסוימות שנדרשות כדי שהסוכנים יפעלו בצורה תקינה, למשל קישוריות לרשת והרשאות נדרשות.

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

צריך להריץ את כלי האבחון של הסוכן מתוך המכונה הווירטואלית, ולכן בדרך כלל צריך קודם להתחבר למכונה הווירטואלית באמצעות 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. בסרגל הכלים, בוחרים את חלון הזמן. כברירת מחדל, בדף ניהול מדדים מוצג מידע על המדדים שנאספו ביום הקודם.

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