?s possible descobrir tots els atributs MBeans o MBeans JMX o especificar una plantilla per a la descoberta d'aquests objectes.
Entendre la difer¨¨ncia entre els atributs Mbean i Mbean ¨¦s essencial per configurar les regles de descoberta. Un MBean ¨¦s un objecte que pot representar un dispositiu, una aplicaci¨® o qualsevol recurs que s'hagi de gestionar.
Per exemple, hi ha un Mbean que representa un servidor web. Els seus atributs s¨®n: nombre de connexions, nombre de fils, temps d'espera de la petici¨®, mem¨°ria cau de fitxers http, ¨²s de mem¨°ria, etc. Expressant aquest pensament en un llenguatge hum¨¤ complet, podem definir una m¨¤quina de caf¨¨ com un Mbean els atributs del qual a controlar s¨®n: quantitat d'aigua per tassa, consum mitj¨¤ d'aigua durant un per¨ªode determinat, nombre de grans de caf¨¨ necessaris per tassa, grans de caf¨¨ i rec¨¤rrega d'aigua, hora, etc.
A la configuraci¨® de la regla de descoberta, trieu agent JMX al camp Tipus.
S'admeten dues claus d'element per a la descoberta d'objectes JMX: jmx.discovery[] i jmx.get[]:
Clau d'element | |||
---|---|---|---|
Valor de retorn | ±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð²õ | Comentari | |
jmx.discovery[<mode de descoberta>,<nom de l'objecte>,<descripci¨® breu ¨²nica>] | |||
Aquest element retorna una matriu JSON amb macros LLD que descriuen objectes MBean o els seus atributs. | mode de descoberta - un dels seg¨¹ents: atributs (obtinguent els atributs MBean JMX, per defecte) o beans (obtinguent JMX). MBeans) nom de l'objecte - patr¨® de nom d'objecte (veieu la ) que identifica el Noms de MBean per recuperar (buit per defecte, recuperant tots els beans registrats) descripci¨® curta ¨²nica - una descripci¨® ¨²nica que permet diversos elements JMX amb el mateix mode de descoberta i el mateix nom d'objecte a l'equip (opcional) |
Exemples: ¡ú jmx.discovery - recupera tots els atributs JMX MBean ¡ú jmx.discovery[beans] - recupera tots els MBeans JMX ¡ú jmx.discovery[atributs,"*:type=GarbageCollector,nom =*"] - recupera tots els atributs del col¡¤lector d'escombraries ¡ú jmx.discovery[beans,"?*:type=GarbageCollector,name=*"] - recupera tots els col¡¤lectors d'escombraries Hi ha algunes limitacions pel que fa a les propietats de MBean que aquest element pot retornar en funci¨® dels car¨¤cters limitats admesos en la generaci¨® de noms de macro (els car¨¤cters admesos es poden descriure amb la seg¨¹ent expressi¨® regular: A-Z0-9_\. ). Aix¨ª, per exemple, per descobrir propietats de MBean amb paraules amb guionet o car¨¤cters no ASCII, haur¨ªeu d'emprar jmx.get[] . |
|
jmx.get[<mode de descoberta>,<nom de l'objecte>,<descripci¨® curta ¨²nica>] | |||
Aquest element retorna una matriu JSON amb objectes MBean o els seus atributs. En comparaci¨® amb jmx.discovery[] no defineix macros LLD. |
mode de descoberta - un dels seg¨¹ents: atributs (obt¨¦ els atributs JMX MBean, per defecte) o beans (obt¨¦ els MBeans JMX) nom de l'objecte - patr¨® de nom d'objecte (veieu ) identificant els noms MBean que cal recuperar (buit per defecte, recuperant tots els beans registrats) descripci¨® curta ¨²nica - una descripci¨® ¨²nica que permet diversos elements JMX amb el mateix mode de descoberta i el mateix nom d'objecte a l'equip (opcional) |
Quan s'empra aquest element, cal definir macros de descoberta de baix nivell personalitzades, que apunten als valors extrets de JSON retornat mitjan?ant JSONPath. |
Si no es passa cap par¨¤metre, es demanen tots els atributs JMX MBean. No especificar par¨¤metres per a la descoberta de JMX o intentar rebre tots els atributs d'una ¨¤mplia gamma com ara *:type=*,name=*
pot provocar problemes de rendiment potencials.
Aquest element retorna un objecte JSON amb macros de descoberta de baix nivell que descriuen objectes o atributs MBean. Per exemple, a la descoberta d'atributs MBean (reformatat per a m¨¦s claredat):
[
{
"{#JMXVALUE}":"0",
"{#JMXTYPE}":"java.lang.Long",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,CollectionCount",
"{#JMXATTR}":"CollectionCount"
},
{
"{#JMXVALUE}":"0",
"{#JMXTYPE}":"java.lang.Long",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,CollectionTime",
"{#JMXATTR}":"CollectionTime"
},
{
"{#JMXVALUE}":"true",
"{#JMXTYPE}":"java.lang.Boolean",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXDESC}":"java.lang:type=GarbageCollector,name=PS Scavenge,Valid",
"{#JMXATTR}":"Valid"
},
{
"{#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}":"Name"
},
{
"{#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}":"ObjectName"
}
]
A la descoberta de MBeans (reformatat per a m¨¦s claredat):
[
{
"{#JMXDOMAIN}":"java.lang",
"{#JMXTYPE}":"GarbageCollector",
"{#JMXOBJ}":"java.lang:type=GarbageCollector,name=PS Scavenge",
"{#JMXNAME}":"PS Scavenge"
}
]
S'admeten les macros seg¨¹ents per emprar-les al filtre de la regla de descoberta i als prototips d'elements, triggers i gr¨¤fics:
Macro | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® |
---|---|
Es s¨®n descobrint els atributs MBean | |
{#JMXVALUE} | Valor de l'atribut. |
{#JMXTYPE} | Tipus d'atribut. |
{#JMXOBJ} | Nom de l'objecte. |
{#JMXDESC} | Nom de l'objecte incl¨°s el nom de l'atribut. |
{#JMXATTR} | Nom de l'atribut. |
Descobrint MBeans | |
{#JMXDOMAIN} | Domini MBean. (Nom reservat Áú»¢¶Ä²©) |
{#JMXOBJ} | Nom de l'objecte. (Nom reservat Áú»¢¶Ä²©) |
{#JMX<propietat de clau>} | Propietats MBean (com {#JMXTYPE}, {#JMXNAME}) (veieu les limitacions m¨¦s avall). |
Hi ha algunes limitacions associades a l'algoritme per crear noms de macro LLD a partir de noms de propietat MBean:
A-Z0-9_\.
Si us plau, tingueu en compte aquest exemple jmx.discovery (amb mode "beans"). MBean t¨¦ definides les propietats seg¨¹ents (algunes de les quals s'ignoraran; veieu m¨¦s avall):
Com a resultat de la descoberta de JMX, es generaran les macros LLD seg¨¹ents:
Les propietats ignorades s¨®n:
Passem per dos exemples m¨¦s pr¨¤ctics de creaci¨® de regles LLD amb l'¨²s de Mbean. Per entendre millor la difer¨¨ncia entre una regla LLD que recull Mbeans i una regla LLD que recull atributs Mbean, consulteu la taula seg¨¹ent:
MBean1 | MBean2 | MBean3 |
MBean1Attribute1 | MBean2Attribute1 | MBean3Attribute1 |
MBean1Attribute2 | MBean2Attribute2 | MBean3Attribute2 |
MBean1Attribute3 | MBean2Attribute3 | MBean3Attribute3 |
Aquesta regla retornar¨¤ 3 objectes: la filera superior de la columna: MBean1, MBean2, MBean3.
Per obtindre m¨¦s informaci¨® sobre els objectes, consulteu la taula de macros compatibles, secci¨® Descoberta de MBeans.
La configuraci¨® de la regla de descoberta que recull els MBeans (sense els atributs) t¨¦ aquest aspecte:
La clau emprada aqu¨ª:
Es descobriran tots els recol¡¤lectors d'escombraries sense atributs. Com que els col¡¤lectors d'escombraries tenen el mateix conjunt d'atributs, podem emprar els atributs desitjats als prototips d'elements de la seg¨¹ent manera:
Claus emprades aqu¨ª:
La regla de descoberta d'LLD donar¨¤ lloc a alguna cosa semblant a aix¨° (es descobreixen elements per a dos col¡¤lectors d'escombraries):
Aquesta regla retornar¨¤ 9 objectes amb els seg¨¹ents camps: MBean1Attribute1, MBean2Attribute1, MBean3Attribute1, MBean1Attribute2, MBean2Attribute2, Mbean3Attribute2, MBean1Attribute3, MBean2Attribute3, Mbean3Attribute3.
Per obtindre m¨¦s informaci¨® sobre els objectes, consulteu la taula de macros compatibles, secci¨® Descoberta d'atributs MBean.
La configuraci¨® de la regla de descoberta que recull els atributs Mbean t¨¦ aquest aspecte:
La clau emprada aqu¨ª:
Es descobriran tots els recol¡¤lectors d'escombraries amb un ¨²nic atribut d'element.
En aquest cas particular, es crear¨¤ un element a partir del prototip per a cada atribut MBean. El principal desavantatge d'aquesta configuraci¨® ¨¦s que la creaci¨® de triggers a partir de prototips de triggers no ¨¦s possible perqu¨¨ nom¨¦s hi ha un prototip d'element per a tots els atributs. Per tant, aquesta configuraci¨® es pot emprar per a la recollida de dades, per¨° no es recomana per al monitoratge autom¨¤tic.
jmx.get[]
¨¦s similar a l'element jmx.discovery[]
, per¨° no transforma les propietats d'objectes Java en noms de macro de descoberta de baix nivell i, per tant, pot retornar valors sense limitacions que s'associen amb la generaci¨® de noms de macro LLD com ara guions o car¨¤cters no ASCII.
Quan s'emprajmx.get[]
per a la descoberta, les macros de descoberta de baix nivell es poden establir per separat a la pestanya personalitzada Macros LLD de la configuraci¨® de la regla de descoberta, emprant JSONPath per apuntar als valors requerits.
Element de descoberta: jmx.get[beans,"com.example:type=*,*"]
Resposta:
[
{
"object": &±ç³Ü´Ç³Ù;³¦´Ç³¾.±ð³æ²¹³¾±è±ô±ð:³Ù²â±è±ð=±á±ð±ô±ô´Ç,»å²¹³Ù²¹-²õ°ù³¦=»å²¹³Ù²¹-²ú²¹²õ±ð,§Ü§Ý§ð§é=§Ù§ß§Ñ§é§Ö§ß§Ú§Ö&±ç³Ü´Ç³Ù;,
"domain": "com.example",
"properties": {
"data-src": "data-base",
&±ç³Ü´Ç³Ù;§Ü§Ý§ð§é&±ç³Ü´Ç³Ù;: &±ç³Ü´Ç³Ù;§Ù§ß§Ñ§é§Ö§ß§Ú§Ö&±ç³Ü´Ç³Ù;,
"type": "Hello"
}
},
{
"object": "com.example:type=Atomic",
"domain": "com.example",
"properties": {
"type": "Atomic"
}
}
]
Element de descoberta: jmx.get[attributes,"com.example:type=*,*"]
Resposta:
[
{
"object": "com.example:type=*",
"domain": "com.example",
"properties": {
"type": "Simple"
}
},
{
"object": &±ç³Ü´Ç³Ù;³¦´Ç³¾.³ú²¹²ú²ú¾±³æ:³Ù²â±è±ð=²â±ð²õ,»å´Ç³¾²¹¾±²Ô=³ú²¹²ú²ú¾±³æ.³¦´Ç³¾,»å²¹³Ù²¹-²õ´Ç³Ü°ù³¦±ð=/»å±ð±¹/°ù²¹²Ô»å,§Ü§Ý§ð§é=§Ù§ß§Ñ§é§Ö§ß§Ú§Ö,´Ç²úÂá=³Ù°ù³Ü±ð&±ç³Ü´Ç³Ù;,
"domain": "com.zabbix",
"properties": {
"type": "Hello",
"domain": "com.example",
"data-source": "/dev/rand",
&±ç³Ü´Ç³Ù;§Ü§Ý§ð§é&±ç³Ü´Ç³Ù;: &±ç³Ü´Ç³Ù;§Ù§ß§Ñ§é§Ö§ß§Ú§Ö&±ç³Ü´Ç³Ù;,
"obj": true
}
}
]