Мониторинг очереди Apache Artemis с помощью Zabbix

Я хотел бы отслеживать данные, которые могут застрять в очередях Apache Artemis, и я хотел бы использовать его возможности управления JMX вместе с нашим экземпляром Zabbix.

Какие шаги мне нужно предпринять, чтобы успешно подключить Zabbix к Artemis через JMX? Те, что упомянуты в https://activemq.apache.org/artemis/docs/latest/management.html, мне не совсем понятны.

2 ответа

Мне пришлось отключить внутренний разъем и пойти наоборот, добавив это в artemis.profile файл:

JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.port=1099"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.rmi.port=1098"
JAVA_ARGS="$JAVA_ARGS -Djava.rmi.server.hostname=edimq-broker-master-az1.dc01.clouedi.local"

Тем не менее, я знаю, что это не безопасно.

Как указано в документации, вы должны добавить это к management.xml:

<connector connector-port="1099"/>

Это выставит разъем JMX на localhost поэтому, если вы хотите иметь доступ к нему удаленно с другого компьютера в вашей сети (например, с вашего экземпляра Zabbix), вам следует сделать что-то вроде:

<connector connector-port="1099" connector-host="myhost" />

Кроме того, если у вас есть несколько IP-адресов на компьютере, на котором размещен брокер, вы можете установить это системное свойство в JAVA_ARGS переменная в artemis.profile:

-Djava.rmi.server.hostname=myhost

Затем укажите свой экземпляр Zabbix на брокера, используя URL-адрес, например:

service:jmx:rmi:///jndi/rmi://myhost:1099/jmxrmi

Вы можете увидеть это в действии, запустив jmx пример с Артемидой в examples/features/standard/ каталог. Просто перейдите в этот каталог и запустите mvn verify, Выполнение примера создаст экземпляр посредника, запустит экземпляр посредника и автоматически запустит клиент. После запуска примера вы можете перейти в target/server0 каталог и посмотрите на все файлы конфигурации, чтобы сравнить их с вашими. Вы также можете запустить брокера независимо от примера, если хотите (запустив ./artemis run от target/server0/bin каталог). После запуска брокера вы сможете без проблем подключиться к нему с помощью JConsole, используя URL-адрес JMX, например:

service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
Другие вопросы по тегам