Список объектов и атрибутов JMX? - PullRequest
15 голосов
/ 07 июля 2011

Я пытаюсь реализовать плагин nagios, и для этого требуется, чтобы я точно знал, какой объект и атрибут я хочу отслеживать.Дело в том, что мне нигде не удалось найти список стандартных системных объектов и атрибутов jmx.Может кто-то указать мне верное направление?Мне нужно следить за такими вещами, как пулы памяти, размер кучи и т. Д.

Ответы [ 5 ]

19 голосов
/ 05 октября 2014

Вы можете использовать

Set mbeans = mBeanServer.queryNames(null, null);
for (Object mbean : mbeans)
{
    WriteAttributes(mBeanServer, (ObjectName)mbean);
}

private void WriteAttributes(final MBeanServer mBeanServer, final ObjectName http)
        throws InstanceNotFoundException, IntrospectionException, ReflectionException
{
    MBeanInfo info = mBeanServer.getMBeanInfo(http);
    MBeanAttributeInfo[] attrInfo = info.getAttributes();

    System.out.println("Attributes for object: " + http +":\n");
    for (MBeanAttributeInfo attr : attrInfo)
    {
        System.out.println("  " + attr.getName() + "\n");
    }
}

Это запишет все имена объектов и их атрибуты ...

18 голосов
/ 07 июля 2011

Вы всегда можете использовать mBeanServer.queryNames (null, null); для доступа ко всем MBean-компонентам, зарегистрированным на определенном MBeanServer (где mBeanServer - это MBeanServerConnection, полученный вами локально или удаленно) ,

Однако, прежде чем внедрять собственные плагины Nagios, почему бы не использовать уже существующие? Например. jmx4perl * check_jmx4perl, который поставляется с инструментами для исследования пространства имен JMX (например, jmx4perl <url> list для перечисления всех JMX MBean с их атрибутами и операциями или j4psh оболочка JMX на основе readline с контекстно-зависимой командной строкой завершение).

1 голос
/ 01 октября 2013

С точки зрения системного администратора, я полностью понимаю основы вопроса. Стандартная документация JMX или объекты, с которыми можно столкнуться при попытке просмотра деревьев объектов JMX, могут быть слишком сложными и запутанными.

Я нашел эту статью Op5 KB весьма полезной для обеспечения приличного обзора объектов JMX, представляющих интерес для JBoss.

Очевидно, что нужно приспособиться к системе мониторинга, которую они фактически используют, но в примерах достаточно того, какая система мониторинга на основе nagios используется.

0 голосов
/ 08 июля 2011

Проверьте MC4J или JConcole - это тривиально, чтобы начать работать с ними обоими.

0 голосов
/ 07 июля 2011

Вы ищете JVM-платформу MBean docs ?

Есть примеры того, как получить MBeans и опросить их, например,

ThreadMXBean платформа MBean обеспечивает поддержку потока мониторинга состязание и процессорное время потока.

...