אפשר לגלות הכל תכונות JMX MBeans או MBean או כדי לציין דפוס עבור הגילוי של החפצים הללו.
חובה להבין את ההבדל בין MBean ל-MBean תכונות עבור תצורת כלל גילוי. MBean הוא אובייקט אשר יכול לייצג מכשיר, אפליקציה או כל משאב שצריך מנוהל.
לדוגמה, יש MBean המייצג שרת אינטרנט. שֶׁלָה התכונות הן ספירת חיבורים, ספירת שרשורים, פסק זמן של בקשה, http מטמון קבצים, שימוש בזיכרון וכו'. הבעת מחשבה זו באדם שפה מקיפה אנו יכולים להגדיר מכונת קפה כ-MBean אשר יש לנטר את התכונות הבאות: כמות מים לכל כוס, צריכה ממוצעת של מים לפרק זמן מסוים, מספר של פולי קפה נדרשים לכוס, זמן מילוי פולי קפה ומים וכו'.
ב גילוי כלל תצורה, בחר סוכן JMX בשדה סוג.
שני מפתחות פריטים נתמכים לגילוי אובייקט JMX - jmx.discovery[] ו-jmx.get[]:
מפתח פריט | |||
---|---|---|---|
ערך החזרה | פרמטרים | הערה | |
jmx.discovery[<מצב גילוי>,<שם אובייקט>,<תיאור קצר ייחודי>] | |||
פריט זה מחזיר מערך JSON עם פקודות מאקרו LLD המתארות אובייקטי MBean או תכונותיהם. | מצב גילוי - אחד מהבאים: attributes (אחזר תכונות JMX MBean, ברירת מחדל) או beans (אחזר JMX MBeans) שם אובייקט - דפוס שם אובייקט (ראה תיעוד) המזהה את יש לאחזר שמות MBean (ריק כברירת מחדל, אחזור כל הפולים הרשומים) תיאור קצר ייחודי - תיאור ייחודי המאפשר מספר פריטי JMX עם אותו מצב גילוי ושם אובייקט במארח (אופציונלי) |
דוגמאות : → jmx.discovery - אחזר את כל תכונות JMX MBean → jmx.discovery[שעועית] - אחזר את כל JMX MBeans → jmx.discovery[attributes,"*:type=GarbageCollector, name=*"] - אחזר את כל תכונות אספן האשפה → jmx.discovery[beans,"*:type=GarbageCollector,name=*"] - אחזר את כל אספני האשפה יש כמה מגבלות לאילו מאפייני MBean פריט זה יכול להחזיר בהתבסס על תווים מוגבלים הנתמכים ביצירת שמות מאקרו (תווים נתמכים יכולים להיות מתוארים על ידי הביטוי הרגולרי הבא: A-Z0-9_\. ). אז, למשל, כדי לגלות מאפייני MBean עם מילה מקף או תווים שאינם ASCII, עליך להשתמש ב-'jmx.get[]'.נתמך מאז Zabbix Java gateway 3.4. |
|
jmx.get[<מצב גילוי>,<שם אובייקט>,<תיאור קצר ייחודי>] | |||
פריט זה מחזיר מערך JSON עם אובייקטי MBean או התכונות שלהם. בהשוואה ל- jmx.discovery[] הוא אינו מגדיר פקודות מאקרו LLD. |
מצב גילוי - אחד מהבאים : תכונות (אחזר תכונות JMX MBean, ברירת מחדל) או שעועית (אחזר JMX MBeans) שם אובייקט - דפוס שם אובייקט (ראה תיעוד) מזהה את שמות ה-MBean שיש לאחזר (ריק כברירת מחדל, אחזור כל הפולים הרשומים) תיאור קצר ייחודי - תיאור ייחודי המאפשר פריטי JMX מרובים עם אותו מצב גילוי ושם אובייקט במארח (אופציונלי) |
כשמשתמשים בפריט זה, יש צורך להגדיר פקודות מאקרו גילוי מותאמות אישית ברמה נמוכה, המצביעים על ערכים שחולצו מה-JSON שהוחזר באמצעות JSONPath. br>נתמך מאז Zabbix Java gateway 4.4. |
::: שימו לב חשוב אם לא מועברים פרמטרים, כל תכונות MBean מ-JMX מתבקשים. לא מציין פרמטרים לגילוי JMX או מנסה לקבל את כל התכונות עבור טווח רחב כמו *:type=*,name=*
עלול להוביל לבעיות ביצועים אפשריות. :::
פריט זה מחזיר אובייקט JSON עם פקודות מאקרו גילוי ברמה נמוכה תיאור אובייקטים או תכונות MBean. למשל, בגילוי של תכונות MBean (פורמט מחדש לצורך הבהירות):
[
{
"{#JMXVALUE}":"0",
"{#JMXTYPE}":"java.lang.Long",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,CollectionCount",
"{#JMXATTR}": "ספירת אוסף"
},
{
"{#JMXVALUE}":"0",
"{#JMXTYPE}":"java.lang.Long",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,CollectionTime",
"{#JMXATTR}":"זמן איסוף"
},
{
"{#JMXVALUE}":"נכון",
"{#JMXTYPE}":"java.lang.Boolean",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,Valid",
"{#JMXATTR}":"תקף"
},
{
"{#JMXVALUE}":"PS Scavenge",
"{#JMXTYPE}":"java.lang.String",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,Name",
"{#JMXATTR}":"שם"
},
{
"{#JMXVALUE}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXTYPE}":"javax.management.ObjectName",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,ObjectName",
"{#JMXATTR}":"שם אובייקט"
}
]
בגילוי של MBeans (פורמט מחדש לצורך הבהירות):
[
{
"{#JMXDOMAIN}":"java.lang",
"{#JMXTYPE}":"אספן זבל",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXNAME}":"PS Scavenge"
}
]
פקודות המאקרו הבאות נתמכות לשימוש בכלל הגילוי מסנן ואבות טיפוס של פריטים, טריגרים וגרפים:
מאקרו | תיאור |
---|---|
גילוי של תכונות MBean | |
{#JMXVALUE} | ערך תכונה. |
{#JMXTYPE} | סוג תכונה. |
{#JMXOBJ} | שם האובייקט. |
{#JMXDESC} | שם אובייקט כולל שם תכונה. |
{#JMXATTR} | שם תכונה. |
גילוי של MBeans | |
{#JMXDOMAIN} | דומיין MBean. (שם שמור זביביקס) |
{#JMXOBJ} | שם האובייקט. (שם שמור זביביקס) |
{#JMX<נכס מפתח>} | מאפייני MBean (כמו {#JMXTYPE}, {#JMXNAME}) (ראה הגבלות למטה). |
ישנן כמה מגבלות הקשורות לאלגוריתם של יצירת LLD שמות מאקרו משמות מאפיינים של MBean:
A-Z0-9_\.
אנא שקול את הדוגמה הזו של jmx.discovery (עם מצב "שעועית"). MBean בעל המאפיינים הבאים מוגדרים:
כתוצאה מגילוי JMX, פקודות המאקרו של LLD הבאות יהיו נוצר:
מאפיינים שמתעלמים מהם הם:
בואו נסקור עוד שתי דוגמאות מעשיות ליצירת כלל LLD עם ה שימוש ב-Mbean. כדי להבין את ההבדל בין איסוף כללי LLD Mbeans וכלל LLD האוספים תכונות Mbean טוב יותר בבקשה לקחת א תסתכל בטבלה הבאה:
MBean1 | MBean2 | MBean3 |
MBean1Attribute1 | MBean2Attribute1 | MBean3Attribute1 |
MBean1Attribute2 | MBean2Attribute2 | MBean3Attribute2 |
MBean1Attribute3 | MBean2Attribute3 | MBean3Attribute3 |
כלל זה יחזיר 3 אובייקטים: השורה העליונה של העמודה: MBean1, MBean2, MBean3.
למידע נוסף על אובייקטים, עיין ב-נתמך פקודות מאקרו טבלה, סעיף גילוי של MBeans.
תצורת כלל גילוי האוספת Mbeans (ללא התכונות) נראה כמו הבא:
המפתח המשמש כאן:
כל אספני האשפה ללא תכונות יתגלו. כפי ש לאספנים יש את אותה סט תכונות, אנחנו יכולים להשתמש הרצוי מייחס באבות טיפוס של פריט בצורה הבאה:
המפתחות המשמשים כאן:
כלל גילוי LLD יביא למשהו קרוב לזה (פריטים הם התגלה עבור שני אספני אשפה):
כלל זה יחזיר 9 אובייקטים עם השדות הבאים: MBean1Attribute1, MBean2Attribute1, Mbean3Attribute1,MBean1Attribute2,MBean2Attribute2, Mbean3Attribute2, MBean1Attribute3, MBean2Attribute3, Mbean3Attribute3.
למידע נוסף על אובייקטים, עיין ב-נתמך פקודות מאקרו טבלה, סעיף גילוי של תכונות MBean.
תצורת כלל גילוי שאוספת תכונות Mbean נראית כמו הבא:
המפתח המשמש כאן:
כל אספני האשפה עם תכונת פריט בודד יהיו גילה.
במקרה הספציפי הזה ייווצר פריט מאב טיפוס עבור כל אחד מאפיין MBean. החיסרון העיקרי של תצורה זו הוא הטריגר הזה יצירה מאבות טיפוס של טריגר היא בלתי אפשרית מכיוון שיש רק פריט אחד אב טיפוס עבור כל התכונות. אז ניתן להשתמש בהגדרה הזו עבור נתונים איסוף, אך אינו מומלץ לניטור אוטומטי.
jmx.get[]
דומה לפריט jmx.discovery[]
, אך אינו להפוך מאפייני אובייקט Java לשמות מאקרו גילוי ברמה נמוכה ו לכן יכול להחזיר ערכים ללא limitations שהם קשור ליצירת שמות מאקרו LLD כגון מקפים או לא-ASCII דמויות.
בעת שימוש ב-'jmx.get[]' לגילוי, פקודות מאקרו גילוי ברמה נמוכה יכולות להיות מוגדר בנפרד במנהג LLD מאקרו של הכרטיסייה תצורת כלל גילוי, באמצעות JSONPath כדי להצביע על הנדרש ערכים.
פריט גילוי: jmx.get[beans,"com.example:type=*,*"]
תְגוּבָה:
[
{
"object": "com.example:type=Hello,data-src=data-base,ключ=значение",
"domain": "com.example",
"נכסים": {
"data-src": "בסיס נתונים",
"ключ": "זנאчение",
"type": "שלום"
}
},
{
"object": "com.example:type=Atomic",
"domain": "com.example",
"נכסים": {
"type": "אטומי"
}
}
]
פריט גילוי: jmx.get[attributes,"com.example:type=*,*"]
תְגוּבָה:
[
{
"object": "com.example:type=*",
"domain": "com.example",
"נכסים": {
"type": "פשוט"
}
},
{
"object": "com.zabbix:type=yes,domain=zabbix.com,data-source=/dev/rand,ключ=значение,obj=true",
"domain": "com.zabbix",
"נכסים": {
"type": "שלום",
"domain": "com.example",
"data-source": "/dev/rand",
"ключ": "זנאчение",
"obj": נכון
}
}
]