Probleme de check_jmx (centreon) erreur java

Fermé
Modi-tintin Messages postés 6 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 1 août 2016 - 28 juil. 2016 à 14:23
Modi-tintin Messages postés 6 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 1 août 2016 - 1 août 2016 à 10:12
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

2 réponses

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
Modifié par KX le 28/07/2016 à 17:50
Bonjour,

Par défaut un programme Java ne va pas autoriser le JMX il faut explicitement le démarrer avec l'option
-Dcom.sun.management.jmxremote
si 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
0
Modi-tintin Messages postés 6 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 1 août 2016
29 juil. 2016 à 08:53
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
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
29 juil. 2016 à 18:00
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é.
0
Modi-tintin Messages postés 6 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 1 août 2016
1 août 2016 à 10:12
même problème avec le port 8686
0