Zabbix рдореЗрдВ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА, тАЛтАЛJMX LLD рдХреЗ рд▓рд┐рдП JavaGateway рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЬреЗрдмреАрдПрдХреНрд╕ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдЬрд╝реИрдмрд┐рдХреНрд╕ рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП ред рдпрд╣рд╛рдБ github.com/mfocuz/zabbix_plugins/tree/master/jmx_discovery рдЖрдк рдкреИрдЪ 2.0 рд╡рд░реНрдЬрди рдХреЗ рд▓рд┐рдП рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рд╣рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрд╛рддреЗрдВ рдкрд╣рд▓реЗред



рд╕рдВрд╕реНрдХрд░рдг 2.0 рдХреЗ рдмрд╛рдж рд╕реЗ, Zabbix рдореЗрдВ JMX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдорд░реНрдерди рд╣реИред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд╣рд░ рдХреЛрдИ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдореЗрдВ рднреА рдорд┐рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╛ рддреЛ рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдпрд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХрд╛рдлреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рдорд╛рдирд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдЧреЛрджреА рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛?), рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡рд╣рд╛рдВ рд╣реИ, рдФрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред



рд╕реНрд░реЛрдд рдХреЛрдб zabbix_javagw рдореЗрдВ JMXItemChecker.java рд╕рдВрд╕реНрдХрд░рдг 2.0.11 рд▓рд╛рдЗрди 157 рдХреЗ рдмрд╛рдж рдХреЗ рд▓рд┐рдП:



else if (item.getKeyId().equals("jmx.discoveryтАЭ)) { тАж for (ObjectName name : mbsc.queryNames(null, null)) { logger.trace("discovered object '{}'", name); for (MBeanAttributeInfo attrInfo : mbsc.getMBeanInfo(name).getAttributes()) { logger.trace("discovered attribute '{}'", attrInfo.getName()); if (!attrInfo.isReadable()) { logger.trace("attribute not readable, skipping"); continue; } try { logger.trace("looking for attributes of primitive types"); String descr = (attrInfo.getName().equals(attrInfo.getDescription()) ? null : attrInfo.getDescription()); findPrimitiveAttributes(counters, name, descr, attrInfo.getName(), mbsc.getAttribute(name, attrInfo.getName())); } catch (Exception e) { Object[] logInfo = {name, attrInfo.getName(), e}; logger.trace("processing '{},{}' failed", logInfo); } } } }
      
      







рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдирд┐рдпрдореЛрдВ рдХреА рдЦреЛрдЬ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ "jmx.discovery" рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдХреБрдВрдЬреА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреЛ рдкрд╛рдП рдЧрдП рд╕рднреА mbeans рдХреЗ рд▓рд┐рдП рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред

рдпрд╣рд╛рдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреА рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрдиреБрд░реЛрдз рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдмрд┐рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбрд┐рдмреНрдмреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рдирд┐рдпрдо рдЦреЛрдЬ рдХреБрдВрдЬреА рдЬрд╝реИрдмрд┐рдХреНрд╕ рдореЗрдВ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдп рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ jmx.discovery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рдПрдХ рд╣реА рдореЗрдЬрдмрд╛рди рдХреЗ рднреАрддрд░ рдЬреЗрдПрдордПрдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдирд┐рдпрдо рдЦреЛрдЬ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИред рдФрд░ рддреАрд╕рд░рд╛, рдкреНрд░рддреНрдпреЗрдХ рдЬрд╛рд╡рд╛ mbean рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдПрдХ рд╣реА рдмрд┐рди рдХреЗ рднреАрддрд░ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдерд┐рд░ рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдЗрдЯрдо рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдФрд░ рдХреЛрдб рдХреЗ рднрд╛рдЧ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕реНрд╡рдпрдВ рдмреЗрд╣рддрд░ рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд░реЗрдХ рд╣реИ:



  for (MBeanAttributeInfo attrInfo : mbsc.getMBeanInfo(name).getAttributes()) { ....... try { (attrInfo.getName().equals(attrInfo.getDescription()) ? null : attrInfo.getDescription()); findPrimitiveAttributes(counters, name, descr, attrInfo.getName(), mbsc.getAttribute(name, attrInfo.getName())); ......
      
      







рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди mbeans рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Oracle Coherence рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рддрд╣рдд рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реЗрдо рдмрдирд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реЗрдо рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдХреЗрд╡рд▓ рдиреЛрдбрдЖрдИрдб рдореЗрдВ рднрд┐рдиреНрди рд╣реИ ред рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдиреЛрдбрдЖрдИрдб рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдЬрд╛рд╡рд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдбрд╛рдпрдирд╛рдорд┐рдХ mbeans рд╣реИ ред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдПрд▓рдПрд▓рдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди:



1. рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рдпрдВ mbeans рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЖрдк рдЙрдиреНрд╣реЗрдВ рднреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди IMHO рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ)ред

2. рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╣реА рдореЗрдЬрдмрд╛рди рдкрд░ рдХрдИ рдирд┐рдпрдореЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВред

3. рд╣рдореЗрдВ рдирд┐рдпрдо рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХ рдХреЛ рдХреВрдЯрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рд┐рдПред



рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдПрдХ рд▓реЗрдЦ JMX рдбрд┐рд╕реНрдХрд╡рд░реА www.zabbix.org/wiki/Docs/howto/jmx_discovery рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдореИрдВрдиреЗ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛ред рдЕрдВрдд рдореЗрдВ: рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рд╛рд░ .jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрд╛рд╣рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдирд╛ рд╣реИред рдЗрд╕рдХрд╛ рд╡рд┐рд╢рд╛рд▓ рдЛрдг рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдХреЛ рдХрдИ рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рдпрд┐рдд рднрд╛рд╖рд╛рдУрдВ рдЬреИрд╕реЗ рдЕрдЬрдЧрд░ рдпрд╛ рдкрд░реНрд▓ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдЗрдирд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЧреИрд░-рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХрд╣рддреЗ рд╣реИрдВ, 2 рдХреЛрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдкрд░, 20 рдирд┐рдпрдореЛрдВ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реАрдкреАрдпреВ рд▓реЛрдб рд╢реЗрд▓реНрдл рд╕реЗ рджреВрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдмрд╛рд╣рд░реА рдЪреЗрдХ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╕ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рдЧрд┐рд░ рдЧрдпрд╛ред рд▓реЛрд╣реЗ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдкрд░ рдЬрд╣рд╛рдВ рдпрд╣ 8kor рдерд╛, рдпрд╣ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╕рднреА рдПрдХ рд╣реА, рд╣рд░ N рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдмрд╛рд░ JVM рдмрдВрдбрд▓ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдПрдХ рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдмреИрд╕рд╛рдЦреА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреА



рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╝реИрдмрд┐рдХреНрд╕ рд╕рд░реНрд╡рд░ рдФрд░ рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХреИрд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЬреЗрдПрдордПрдХреНрд╕ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╝реИрдмрд┐рдХреНрд╕ рд╕рд░реНрд╡рд░ рдЯреАрд╕реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╡рд░рдг рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рд╣рдореЗрдВ рдПрд▓рдПрд▓рдбреА рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреА рдЬрд░реВрд░рдд рд╣реИред

рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдВрджреЗрд╢ рдФрд░ рдЙрд╕ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 3 рднрд╛рдЧреЛрдВ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ:



1. рд╣реИрдбрд░ ZBXD \ 1

2. рд╕рдВрджреЗрд╢ рдХреА рд▓рдВрдмрд╛рдИ

3. рд╕рдВрджреЗрд╢ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИред



рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдЫрд╡рд┐



рдореИрдВ Zabbix рдХреЛрдб рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо Zabbix рд╕рд░реНрд╡рд░ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рдЫреВрддреЗ рд╣реИрдВ, рдКрдкрд░ рджрд┐рдП рдЧрдП рдбрд╛рдпрдЧреНрд░рд╛рдо рдореЗрдВ рд╣рдо Zabbix рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХреНрд╕рдЯрд░реНрдирд▓рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдмрджрд▓рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдорд╛рди рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдПрдЧрд╛ред рдФрд░ рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХреЛрдб рдореЗрдВ рд╣рдореЗрдВ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИред рдФрд░ рдЕрдм, рдПрд▓рдПрд▓рдбреА рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдЫрд╡рд┐



рдЕрд░реНрдерд╛рддреН, regexp рдлрд╝реАрд▓реНрдб рдФрд░ рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрд░реЛрдз = "рдЬрд╛рд╡рд╛ jmx lld" рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред



рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХреЛрдб рдмрджрд▓рдирд╛



JMX рдЦреЛрдЬ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рддреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЬреИрд╕рд╛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рд╣реИ, JavaGateway рдореЗрдВ рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдиреБрд░реЛрдз рдЕрдиреБрд░реЛрдз рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ ItemChecker.java рдХреЛрдб рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпреЗ JSON_REQUEST_INTERNAL рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИрдВ рдЬреЛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЖрдВрддрд░рд┐рдХ рдЧреЗрдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЬреЛрдбрд╝реА рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдФрд░ JSON_REQUEST_JMX - рдЬреЛ рдХрд┐ рдореБрдЦреНрдп рдЕрдиреБрд░реЛрдз рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реЙрдХреЗрдЯрдкреНрд░реЛрд╕реЗрд╕рд░.рдЬрд╡рд╛ рдХреЛрдб рдореЗрдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ:



 if (request.getString(ItemChecker.JSON_TAG_REQUEST).equals(ItemChecker.JSON_REQUEST_INTERNAL)) checker = new InternalItemChecker(request); else if (request.getString(ItemChecker.JSON_TAG_REQUEST).equals(ItemChecker.JSON_REQUEST_JMX)) checker = new JMXItemChecker(request); тАж.. JSONArray values = checker.getValues();
      
      







рдпрд╣реА рд╣реИ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЪреЗрдХрд░ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрдЧрд╛ред рд╣рдо 3 рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдЬреЛрдбрд╝реЗрдВрдЧреЗ - JSON_JMX_LLD ред рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╕реЙрдХреЗрдЯрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╢рд░реНрддред рдЬрд╛рд╡рд╛:



 тАж... else if (request.getString(ItemChecker.JSON_TAG_REQUEST).equals(ItemChecker.JSON_JMX_LLD)) checker = new JMXItemDiscoverer(request); тАжтАж JSONArray values = checker.getValues();
      
      







рдЕрдм, рдЬрдм рд╕рд░реНрд╡рд░ рдХреЛ JSON_JMX_LLD рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ JMXItemDiscoverer рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ getValues рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ JMXItemDiscoverer рд╡рд░реНрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рдЦреЛрдЬ рдирд┐рдпрдо рдмрдирд╛ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рддреН, рдпрд╣ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдбрд┐рдмреНрдмреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдпрд╣ рджрд┐рдП рдЧрдП regexp рдХреЗ рд▓рд┐рдП рдбрд┐рдмреНрдмреЗ рдХреА рд╕реВрдЪреА рд▓реМрдЯрд╛рдПрдЧрд╛ред рдирдП рд╡рд░реНрдЧ рдХреЗ рдХреЛрдб рдХреЛ рдкреИрдЪ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдирдпрд╛ рдЬрд╛рд╡рд╛ рдЧреЗрдЯрд╡реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ



рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЖрдк рд╕реНрд╡рдпрдВ рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдПрдХ рдФрд░ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рдПрд▓рдПрд▓рдбреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЕрдЧрд░ рдореИрдВ рдЧреЗрдЯрд╡реЗ рдХреЛ PRO рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ:

1. Zabbix рд╕рд╛рдЗрдб рдореЗрдВ, рдХреЗрд╡рд▓ JavaGateway рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЖрдк zabbix рдЬрд╛рд╡рд╛ рдЧреЗрдЯрд╡реЗ рд╕рдВрд╕реНрдХрд░рдг 2.0.11 рдкрд░ рдкреИрдЪ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдХреЛрдб 2.2 рдФрд░ 2.0.11 рдкрд░ рдереЛрдбрд╝рд╛ рднрд┐рдиреНрди рдерд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдЧреЗрдЯрд╡реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдкреИрдЪ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

2. рдЕрдЧрд▓рд╛, рдкреИрдЪ рдХреЛ рд░реЛрд▓ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рд╡рд╛ рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВред

3. рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рдорд┐рд▓рддрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ рдХреЗ рд╕реНрдерд╛рди рдкрд░ред рд╣рдо рд╕рднреА рдЕрдиреНрдп рдЬрд╛рд╡рд╛ рдЧреЗрдЯрд╡реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ, рдЬреИрд╕рд╛ рд╣реИред

4. рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рд╣реА рдЬрд╛рд╡рд╛ рдЧреЗрдЯрд╡реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдПрдХ рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред

5. рд╕реНрд╡рдпрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЯреАрд╕реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЪрд┐рдкрдХреЗрдЧреА рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╕реНрд╡рдпрдВ рдХрд░реЗрдЧреАред рдореИрдВрдиреЗ рдкрд░реНрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ JMXDiscovery.pm рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕реНрдХреЗрдЪ рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдЦреЛрдЬ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рдФрд░ рд╕рд╛рде рд╣реА jmx_discovery.pl рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреЛрдЬ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг (рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдВрдХ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

6. рдареАрдХ рд╣реИ, рдЕрдВрдд рдореЗрдВ, рдирд┐рдпрдо рдХреА рдЦреЛрдЬ рдмрдирд╛рдПрдВ, рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрд╛рд╣реНрдп рд╡рд┐рд╡рд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджрд┐рдП рдЧрдП рдкреИрд░рд╛рдореАрдЯрд░ рдХреБрдВрдЬреА рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдирд┐рдпрдо рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред



рдпрджрд┐ рдЖрдк рдПрд▓рдПрд▓рдбреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рдЙрдард╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЪрд░рдг 3 рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ, рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдмрд╛рдж, рдкреИрдЪ рдХреЗ рд╕рд╛рде, рд╣рдо рдмрд╕ рдЬрд╛рд╡рд╛рдЧреЗрдЯрд╡реЗ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ ред



рдирд┐рд╖реНрдХрд░реНрд╖



рдпрд╣ рдЬрд▓реНрджреА рдФрд░ stably рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



All Articles