Есть примитивное приложение Java:
public class SimpleAgent
{
private MBeanServer mbs = null;
public SimpleAgent()
{
// Получить экземпляр MBeanServer
mbs = ManagementFactory.getPlatformMBeanServer();
// Создаем наш MBean
Hello helloBean = new Hello();
ObjectName helloName = null;
try {
// И регистрируем его на платформе MBeanServer
helloName = new ObjectName("SimpleAgent:name=hellothere");
mbs.registerMBean(helloBean, helloName);
// Теперь мы регистрируем коннектор, который
// будет доступен по HTTP-протоколу
} catch(Exception e) {
e.printStackTrace();
}
}
// Это вспомогательный метод - он позволяет нашей программе остановиться и ждать
private static void waitForEnterPressed()
{
try {
System.out.println("Press to continue...");
System.in.read();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String argv[])
{
SimpleAgent agent = new SimpleAgent();
System.out.println("SimpleAgent is running...");
SimpleAgent.waitForEnterPressed();
}
}
public interface HelloMBean {
public void setMessage(String message);
public String getMessage();
public void sayHello();
}
public class Hello implements HelloMBean{
private String message = null;
public Hello() {
message = "Hello there";
}
public Hello(String message) {
this.message = message;
}
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void sayHello() {
System.out.println(message);
}
}
запускаю со следующими параметрами:
java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -cp . SimpleAgent
запустил в Docker Zabbix сервер и Zabbix Java Gateway(Gateway на порту 10052)
На сервере настраиваю Items
Но как видно на скриншотах, JMX светится красным и пишет
Connection refused (Connection refused): service:jmx:rmi:///jndi/rmi://127.0.0.1:12345/jmxrmi
Подскажите пожалуйста, где искать ошибку? Может какие настройки пропустил?
Продвижение своими сайтами как стратегия роста и независимости