השילוב של JVM אוסף מדדי JVM שנחשפים דרך Java Management Extensions (JMX). השילוב אוסף בעיקר מדדים לגבי זיכרון ו-garbage collection. זמינים גם מדדים נוספים של זמן ריצה, כמו מספר השרשורים והמחלקות שנטענו.
מידע נוסף על JVM זמין במסמכי התיעוד של JVM.
דרישות מוקדמות
כדי לאסוף נתוני טלמטריה של JVM, צריך להתקין את Ops Agent:
- כדי להשתמש במדדים, צריך להתקין את גרסה 2.2.0 ואילך.
השילוב הזה תומך בגרסאות JVM Java 16 ו-Java 11.
הגדרת מופע JVM
כדי לחשוף נקודת קצה של JMX, צריך להגדיר את com.sun.management.jmxremote.port
מאפיין המערכת כשמפעילים את JVM. מומלץ גם להגדיר את מאפיין המערכת com.sun.management.jmxremote.rmi.port לאותו פורט.
כדי לחשוף נקודת קצה של JMX מרחוק, צריך להגדיר גם את מאפיין המערכת java.rmi.server.hostname.
כדי להגדיר מאפייני מערכת באמצעות ארגומנטים של שורת הפקודה, מוסיפים את הקידומת -D לשם המאפיין כשמפעילים את ה-JVM.
לדוגמה, כדי להגדיר את com.sun.management.jmxremote.port ליציאה 9999, מציינים את הפקודה הבאה כשמפעילים את ה-JVM:
-Dcom.sun.management.jmxremote.port=9999
הגדרת סוכן התפעול ל-JVM
פועלים לפי המדריך בנושא הגדרת Ops Agent, מוסיפים את הרכיבים הנדרשים לאיסוף טלמטריה ממופעי JVM ומפעילים מחדש את הסוכן.
הגדרה לדוגמה
הפקודות הבאות יוצרות את ההגדרה לאיסוף ולעיבוד של נתוני טלמטריה עבור JVM:
כדי שהשינויים האלה ייכנסו לתוקף, צריך להפעיל מחדש את Ops Agent:
Linux
- כדי להפעיל מחדש את הסוכן, מריצים את הפקודה הבאה במופע:
sudo systemctl restart google-cloud-ops-agent
- כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
sudo systemctl status "google-cloud-ops-agent*"
Windows
- מתחברים למופע באמצעות RDP או כלי דומה ומתחברים ל-Windows.
- פותחים טרמינל ב-PowerShell עם הרשאות אדמין על ידי לחיצה ימנית על סמל PowerShell ובחירה באפשרות הפעלה כמנהל מערכת.
- כדי להפעיל מחדש את הסוכן, מריצים את פקודת PowerShell הבאה:
Restart-Service google-cloud-ops-agent -Force
- כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
Get-Service google-cloud-ops-agent*
הגדרת איסוף מדדים
כדי להטמיע מדדים מ-JVM, צריך ליצור מקלט למדדים ש-JVM מייצר ואז ליצור צינור למקלט החדש.
המקלט הזה לא תומך בשימוש בכמה מופעים בהגדרה, למשל כדי לעקוב אחרי כמה נקודות קצה. כל המקרים האלה כותבים לאותה סדרת זמן, ואין ל-Cloud Monitoring דרך להבחין ביניהם.
כדי להגדיר נמען למדדים של jvm, צריך לציין את השדות הבאים:
| שדה | ברירת מחדל | תיאור |
|---|---|---|
collection_interval |
60s |
ערך של משך זמן, כמו 30s או 5m. |
endpoint |
localhost:9999 |
כתובת ה-URL של שירות JMX או המארח והיציאה שמשמשים ליצירת כתובת ה-URL של השירות. הערך צריך להיות בפורמט service:jmx:<protocol>:<sap> או host:port. הערכים בטופס host:port משמשים ליצירת כתובת URL של שירות service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi. |
password |
הסיסמה שהוגדרה אם JMX מוגדר לדרוש אימות. | |
type |
הערך חייב להיות jvm. |
|
username |
שם המשתמש שהוגדר אם JMX מוגדר לדרוש אימות. |
מה נבדק
בטבלה הבאה מפורטים המדדים שאותם אוסף סוכן תפעול ממופע JVM.
| סוג המדד | |
|---|---|
| סוג, סוג משאבים במעקב |
תוויות |
workload.googleapis.com/jvm.classes.loaded
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.gc.collections.count
|
|
CUMULATIVE, INT64gce_instance |
name
|
workload.googleapis.com/jvm.gc.collections.elapsed
|
|
CUMULATIVE, INT64gce_instance |
name
|
workload.googleapis.com/jvm.memory.heap.committed
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.heap.init
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.heap.max
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.heap.used
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.committed
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.init
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.max
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.nonheap.used
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/jvm.memory.pool.committed
|
|
GAUGE, INT64gce_instance |
name
|
workload.googleapis.com/jvm.memory.pool.init
|
|
GAUGE, INT64gce_instance |
name
|
workload.googleapis.com/jvm.memory.pool.max
|
|
GAUGE, INT64gce_instance |
name
|
workload.googleapis.com/jvm.memory.pool.used
|
|
GAUGE, INT64gce_instance |
name
|
workload.googleapis.com/jvm.threads.count
|
|
GAUGE, INT64gce_instance |
|
אימות ההגדרה
בקטע הזה מוסבר איך לוודא שהגדרתם נכון את מקלט ה-JVM. יכול להיות שיעברו דקה או שתיים עד שהסוכן של Ops יתחיל לאסוף נתוני טלמטריה.
כדי לוודא שמדדי ה-JVM נשלחים אל Cloud Monitoring, מבצעים את הפעולות הבאות:
-
במסוף Google Cloud , עוברים לדף leaderboard Metrics explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים של חלונית הכלי ליצירת שאילתות, לוחצים על הלחצן ששמו הוא code MQL או code PromQL.
- מוודאים שהאפשרות PromQL נבחרה במתג שפה. המתג לשפה נמצא באותו סרגל כלים שבו אפשר לעצב את השאילתה.
- מזינים את השאילתה הבאה בעורך ולוחצים על Run query:
{"workload.googleapis.com/jvm.memory.heap.used", monitored_resource="gce_instance"}
צפייה בלוח הבקרה
כדי להציג את מדדי ה-JVM, צריך להגדיר תרשים או לוח בקרה. שילוב ה-JVM כולל לוח בקרה אחד או יותר. כל לוחות הבקרה מותקנים אוטומטית אחרי שמגדירים את השילוב וסוכן Ops מתחיל לאסוף נתונים של מדדים.
אפשר גם לראות תצוגה מקדימה סטטית של מרכזי בקרה בלי להתקין את האינטגרציה.
כדי לראות מרכז בקרה שהותקן:
-
במסוף Google Cloud , עוברים לדף Dashboards:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- לוחצים על הכרטיסייה רשימת לוחות בקרה ואז בוחרים בקטגוריה שילובים.
- לוחצים על השם של מרכז הבקרה שרוצים להציג.
אם הגדרתם שילוב אבל לוח הבקרה לא הותקן, צריך לבדוק שסוכן התפעול פועל. אם אין נתוני מדדים לתרשים במרכז הבקרה, ההתקנה של מרכז הבקרה נכשלת. אחרי שסוכן התפעול מתחיל לאסוף מדדים, לוח הבקרה מותקן בשבילכם.
כדי לראות תצוגה מקדימה סטטית של מרכז הבקרה:
-
נכנסים לדף
Integrations במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- לוחצים על המסנן Compute Engine של פלטפורמת הפריסה.
- מחפשים את הרשומה של JVM ולוחצים על הצגת פרטים.
- לוחצים על הכרטיסייה מרכזי בקרה כדי לראות תצוגה מקדימה סטטית. אם מרכז הבקרה מותקן, אפשר ללחוץ על View dashboard (הצגת מרכז הבקרה) כדי לעבור אליו.
מידע נוסף על מרכזי בקרה ב-Cloud Monitoring זמין במאמר בנושא מרכזי בקרה וטבלאות.
מידע נוסף על השימוש בדף Integrations (שילובים) זמין במאמר ניהול שילובים.
התקנה של כללי מדיניות התראות
מדיניות התראות מורה ל-Cloud Monitoring לשלוח לכם התראה כשמתרחשים תנאים מסוימים. השילוב של JVM כולל מדיניות התראות אחת או יותר שתוכלו להשתמש בהן. אפשר לראות ולהתקין את מדיניות ההתראות הזו בדף שילובים ב-Monitoring.
כדי לראות את התיאורים של כללי מדיניות ההתראות הזמינים ולהתקין אותם:
-
נכנסים לדף
Integrations במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- מחפשים את הרשומה של JVM ולוחצים על הצגת פרטים.
- לוחצים על הכרטיסייה התראות. בכרטיסייה הזו מופיעים תיאורים של מדיניות ההתראות הזמינה וממשק להתקנתן.
- התקנה של כללי מדיניות התראות. כדי שמדיניות ההתראות תדע לאן לשלוח התראות על הפעלה של התראה, היא צריכה לקבל מכם מידע להתקנה.
כדי להתקין מדיניות התראות:
- ברשימת מדיניות ההתראות הזמינה, בוחרים את אלה שרוצים להתקין.
בקטע הגדרת התראות, בוחרים ערוץ התראות אחד או יותר. יש לכם אפשרות להשבית את השימוש בערוצי התראות, אבל אם תעשו את זה, מדיניות ההתראות שלכם תופעל ללא התראות. אפשר לבדוק את הסטטוס שלהם בדף 'מעקב', אבל לא תקבלו התראות.
מידע נוסף על ערוצי התראות זמין במאמר בנושא ניהול ערוצי התראות.
- לוחצים על יצירת מדיניות.
למידע נוסף על מדיניות התראות ב-Cloud Monitoring, אפשר לעיין במאמר מבוא להתראות.
מידע נוסף על השימוש בדף Integrations (שילובים) זמין במאמר ניהול שילובים.
המאמרים הבאים
בסרטון Install the Ops Agent to troubleshoot third-party applications מוסבר איך להשתמש ב-Ansible כדי להתקין את סוכן התפעול, להגדיר אפליקציית צד שלישי ולהתקין לוח בקרה לדוגמה.