Probleme de check_jmx (centreon) erreur java
Modi-tintin
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Modi-tintin Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Modi-tintin Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je rencontre un problème avec le plugins check_jmx
./check_jmx -U service:jmx:rmi:///jndi/rmi://192.23.2.51:82/jmxrmi -O java.lang:type=Memory -A HeapMemoryUsage -K used -I HeapMemoryUsage -J used -vvvv -w 5 -c 10
JMX CRITICAL Connection refused to host: 192.23.2.51; nested exception is:
java.net.ConnectException: Connexion terminée par expiration du délai d'attente connecting to java.lang:type=Memory by URL service:jmx:rmi:///jndi/rmi://192.23.2.51:82/jmxrmijava.rmi.ConnectException: Connection refused to host: 192.23.2.51; nested exception is:
java.net.ConnectException: Connexion terminée par expiration du délai d'attente
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2403)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:309)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:268)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:227)
at org.nagios.JMXQuery.connect(JMXQuery.java:53)
at org.nagios.JMXQuery.main(JMXQuery.java:75)
Caused by: java.net.ConnectException: Connexion terminée par expiration du délai d'attente
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 10 more
alors que :
[root@CENTREON tomcat]# telnet 192.23.2.51 82
Trying 192.23.2.51...
Connected to 192.23.2.51.
Escape character is '^]'.
ça parle a quelqu'un ?
merci d'avance
Je rencontre un problème avec le plugins check_jmx
./check_jmx -U service:jmx:rmi:///jndi/rmi://192.23.2.51:82/jmxrmi -O java.lang:type=Memory -A HeapMemoryUsage -K used -I HeapMemoryUsage -J used -vvvv -w 5 -c 10
JMX CRITICAL Connection refused to host: 192.23.2.51; nested exception is:
java.net.ConnectException: Connexion terminée par expiration du délai d'attente connecting to java.lang:type=Memory by URL service:jmx:rmi:///jndi/rmi://192.23.2.51:82/jmxrmijava.rmi.ConnectException: Connection refused to host: 192.23.2.51; nested exception is:
java.net.ConnectException: Connexion terminée par expiration du délai d'attente
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2403)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:309)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:268)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:227)
at org.nagios.JMXQuery.connect(JMXQuery.java:53)
at org.nagios.JMXQuery.main(JMXQuery.java:75)
Caused by: java.net.ConnectException: Connexion terminée par expiration du délai d'attente
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 10 more
alors que :
[root@CENTREON tomcat]# telnet 192.23.2.51 82
Trying 192.23.2.51...
Connected to 192.23.2.51.
Escape character is '^]'.
ça parle a quelqu'un ?
merci d'avance
2 réponses
Bonjour,
Par défaut un programme Java ne va pas autoriser le JMX il faut explicitement le démarrer avec l'option
Voir :
https://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html
La confiance n'exclut pas le contrôle
Par défaut un programme Java ne va pas autoriser le JMX il faut explicitement le démarrer avec l'option
-Dcom.sun.management.jmxremotesi tu veux pouvoir te brancher dessus.
Voir :
https://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html
La confiance n'exclut pas le contrôle
C'est déjà le cas, d’ailleurs j'avais mis a la fin de mon message un telnet qui fonctionne
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=82
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=82
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Il n'était pas évident que port 82 était ton JMX, d'une part car le port par défaut du JMX est le 8686, d'autre part car le port 82 est réservé pour autre chose.
D'ailleurs c'est même pas sûr que tu puisses réellement brancher ton JMX sur un port système, je t'invite à utiliser un numéro de port supérieur à 1024.
Le telnet montre juste que ton client peut se connecter au serveur (ce qui est déjà un bon début) mais le timeout indique que personne ne répond sur ce port, en tout cas pas aux demandes JMX.
Essayes avec un autre port plus élevé.
D'ailleurs c'est même pas sûr que tu puisses réellement brancher ton JMX sur un port système, je t'invite à utiliser un numéro de port supérieur à 1024.
Le telnet montre juste que ton client peut se connecter au serveur (ce qui est déjà un bon début) mais le timeout indique que personne ne répond sur ce port, en tout cas pas aux demandes JMX.
Essayes avec un autre port plus élevé.