Ad Widget

Collapse

Не работает мониторинг jmx

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jrunner
    Junior Member
    • Feb 2013
    • 14

    #16
    Originally posted by tridochko
    1.

    [root@zabbix tmp]# cat zabbix_java.log | grep 172.16.33.44
    "conn":"172.16.33.44",
    2013-07-18 11:02:11.255 [pool-1-thread-4] DEBUG com.zabbix.gateway.JMXItemChecker - connecting to JMX agent at service:jmx:rmi:///jndi/rmi://172.16.33.44:7091/jmxrmi
    это как раз близко к тому, что все работает..

    а вот про localhost, - попытка мониторить java-просесс на дефолтном порту на Zabbix server, где его нет..
    Last edited by jrunner; 18-07-2013, 21:26.

    Comment

    • tridochko
      Junior Member
      • Jul 2013
      • 20

      #17
      Пока так и не понял куда дальше копать. Включил везде логи в дебаг.

      Comment

      • tridochko
        Junior Member
        • Jul 2013
        • 20

        #18
        Originally posted by jrunner
        это как раз близко к тому, что все работает..

        а вот про localhost, - попытка мониторить java-просесс на дефолтном порту на Zabbix server, где его нет..
        По прежнему ничего не работает )
        Про localhost я так и не понял.

        Comment

        • jrunner
          Junior Member
          • Feb 2013
          • 14

          #19
          Originally posted by tridochko
          1.

          [root@zabbix tmp]# cat zabbix_java.log | grep 127.0.0.1
          com.zabbix.gateway.ZabbixException: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
          Caused by: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
          2013-07-18 11:02:11.280 [pool-1-thread-4] DEBUG c.z.gateway.BinaryProtocolSpeaker - sending the following data in response: { "response" : "failed", "error" : "java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: \n\tjava.net.ConnectException: Connection refused" }
          127.0.0.1 это localhost, try to: ping localhost

          т.е. для Zabbix Server - 127.0.0.1( localhost) это он сам, и эта запись, что выше, означает, что сервер пытается законнектиться с JMV на localhost( with default port), где его конечно нет..

          вполне возможно, что у тебя сконфигкрирован мониторинг JVM на каком-либо другом хосте, где в качестве IP стоит 127.0.0.1.
          по дефолту, zabbix предлагает для JVM 127.0.0.1 с портом 1234.

          ====================
          Originally posted by tridochko
          1.

          [root@zabbix tmp]# cat zabbix_java.log | grep 172.16.33.44
          "conn":"172.16.33.44",
          2013-07-18 11:02:11.255 [pool-1-thread-4] DEBUG com.zabbix.gateway.JMXItemChecker - connecting to JMX agent at service:jmx:rmi:///jndi/rmi://172.16.33.44:7091/jmxrmi
          вот ата часть лога говорит о том, что JMS service on port 7091 отвечает..

          ты можешь выложить полный лог для хоста 172.16.33.44?
          Last edited by jrunner; 22-07-2013, 15:57.

          Comment

          • tridochko
            Junior Member
            • Jul 2013
            • 20

            #20
            Огромное спасибо за ответ, однако, я это понял ещё до того как написал на этом форуме (сначала была как раз эта ошибка. Та что описана в топике появилась после попытки сменить порт).
            Что делать? Куда копать и как это исправить? На других удалённых серверах с jboss jmx работает. Перенос конфига запуска jboss толку не дал.

            Comment

            • jrunner
              Junior Member
              • Feb 2013
              • 14

              #21
              Originally posted by tridochko
              Здравствуйте! Помогите, пожалуйста, локализовать проблему.

              На удалённом хосте centos CentOS release 5.9 (Final). И установлен JBOSS.
              В настройках запуска указаны следующие параметры:

              #Monitoring
              JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10052 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/opt/jboss/bin/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/opt/jboss/bin/jmxremote.access -Dcom.sun.management.jmxremote.ssl=false"

              На сервере мониторинга CentOS release 6.3 (Final). Установлен сервер (2.0.1) и java gateway. Обращение к хостам по IP.

              При этом мониторинг не заводится: выдаёт ошибку "java.rmi.ConnectIOException: non-JRMP server at remote endpoint"
              т.е. на агенте у тебя должно быть сконфигурировано:

              JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7091 -Djava.rmi.server.hostname=172.16.33.44 -Dcom.sun.management.jmxremote.authenticate=true
              -Dcom.sun.management.jmxremote.password.file=/opt/jboss/bin/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/opt/jboss/bin/jmxremote.access -Dcom.sun.management.jmxremote.ssl=false"

              а на сервере в панели должно быть:

              JMX, IP=172.16.33.44, port 7091
              как на твоем же скриншоте выше.. если ничего не менял


              ну и zabbix_java.log приложи плиз..
              Last edited by jrunner; 22-07-2013, 18:48.

              Comment

              • tridochko
                Junior Member
                • Jul 2013
                • 20

                #22
                Originally posted by jrunner
                т.е. на агенте у тебя должно быть сконфигурировано:

                Java_opts="$java_opts -dcom.sun.management.jmxremote -dcom.sun.management.jmxremote.port=7091 -djava.rmi.server.hostname=172.16.33.44 -dcom.sun.management.jmxremote.authenticate=true
                -dcom.sun.management.jmxremote.password.file=/opt/jboss/bin/jmxremote.password -dcom.sun.management.jmxremote.access.file=/opt/jboss/bin/jmxremote.access -dcom.sun.management.jmxremote.ssl=false"
                Originally posted by tridochko
                2. -djava.rmi.server.hostname прокатило для jetty, но в среде jboss, при добавлении этого параметра, перестают нормально работать приложения.
                Кажется мы немного ходим по кругу )

                По поводу лога - так как он сейчас в дебаге - там целая мусорная куча. Нужен, на сколько я понял, стак трейс одного из сообщений?

                Comment

                • tridochko
                  Junior Member
                  • Jul 2013
                  • 20

                  #23
                  Есть здесь ещё кто живой? Или лучше в англоязычную ветку написать?

                  Comment

                  • jrunner
                    Junior Member
                    • Feb 2013
                    • 14

                    #24
                    definitely, you have to ask everywhere!

                    извини, не было времени залезть на форум.

                    к сожалению, ты не выложил java_gateway log, поэтому сложно что-то гворить.

                    из того, что ты выложил трудно найти причину.. как я вижу, у тебя должно все роаботать..

                    ты можешь паралельно попробовать подключиться к jvm через jconsole bkb jvisualvm
                    если эти утилиты работают, то и zabbix должен работать по определению..
                    Last edited by jrunner; 07-08-2013, 19:13.

                    Comment

                    • tridochko
                      Junior Member
                      • Jul 2013
                      • 20

                      #25
                      2013-07-29 15:05:12.535 [pool-1-thread-2] debug com.zabbix.gateway.socketprocessor - starting to process incoming connection
                      2013-07-29 15:05:12.535 [pool-1-thread-2] debug c.z.gateway.binaryprotocolspeaker - reading zabbix protocol header
                      2013-07-29 15:05:12.535 [pool-1-thread-2] debug c.z.gateway.binaryprotocolspeaker - reading 8 bytes of data length
                      2013-07-29 15:05:12.535 [pool-1-thread-2] debug c.z.gateway.binaryprotocolspeaker - reading 202 bytes of request data
                      2013-07-29 15:05:12.535 [pool-1-thread-2] debug c.z.gateway.binaryprotocolspeaker - received the following data in request: {
                      "request":"java gateway jmx",
                      "conn":"172.16.33.44",
                      "port":7091,
                      "username":"***",
                      "password":"***",
                      "keys":["jmx[\"jboss.jetty:type=statisticshandler,id=0\",\"requ esttimeaverage\"]"]}
                      2013-07-29 15:05:12.536 [pool-1-thread-2] debug com.zabbix.gateway.socketprocessor - dispatched request to class com.zabbix.gateway.jmxitemchecker
                      2013-07-29 15:05:12.536 [pool-1-thread-2] debug com.zabbix.gateway.jmxitemchecker - connecting to jmx agent at service:jmx:rmi:///jndi/rmi://172.16.33.44:7091/jmxrmi
                      2013-07-29 15:05:12.539 [pool-1-thread-2] warn com.zabbix.gateway.socketprocessor - error processing request
                      com.zabbix.gateway.zabbixexception: Java.io.ioexception: Failed to retrieve rmiserver stub: Javax.naming.serviceunavailableexception [root exception is java.rmi.connectexception: Connection refused to host: 172.16.33.44; nested exception is:
                      Java.net.connectexception: Connection refused]
                      at com.zabbix.gateway.jmxitemchecker.getvalues(jmxite mchecker.java:100) ~[zabbix-java-gateway-2.0.2.jar:na]
                      at com.zabbix.gateway.socketprocessor.run(socketproce ssor.java:63) ~[zabbix-java-gateway-2.0.2.jar:na]
                      at java.util.concurrent.threadpoolexecutor.runworker( threadpoolexecutor.java:1110) [na:1.6.0_24]
                      at java.util.concurrent.threadpoolexecutor$worker.run (threadpoolexecutor.java:603) [na:1.6.0_24]
                      at java.lang.thread.run(thread.java:679) [na:1.6.0_24]
                      caused by: Java.io.ioexception: Failed to retrieve rmiserver stub: Javax.naming.serviceunavailableexception [root exception is java.rmi.connectexception: Connection refused to host: 172.16.33.44; nested exception is:
                      Java.net.connectexception: Connection refused]
                      at javax.management.remote.rmi.rmiconnector.connect(r miconnector.java:342) ~[na:1.6.0_24]
                      at javax.management.remote.jmxconnectorfactory.connec t(jmxconnectorfactory.java:267) ~[na:1.6.0_24]
                      at com.zabbix.gateway.jmxitemchecker.getvalues(jmxite mchecker.java:92) ~[zabbix-java-gateway-2.0.2.jar:na]
                      ... 4 common frames omitted
                      caused by: Javax.naming.serviceunavailableexception: Null
                      at com.sun.jndi.rmi.registry.registrycontext.lookup(r egistrycontext.java:118) ~[na:1.6.0_24]
                      at com.sun.jndi.toolkit.url.genericurlcontext.lookup( genericurlcontext.java:203) ~[na:1.6.0_24]
                      at javax.naming.initialcontext.lookup(initialcontext. java:409) ~[na:1.6.0_24]
                      at javax.management.remote.rmi.rmiconnector.findrmise rverjndi(rmiconnector.java:1902) ~[na:1.6.0_24]
                      at javax.management.remote.rmi.rmiconnector.findrmise rver(rmiconnector.java:1871) ~[na:1.6.0_24]
                      at javax.management.remote.rmi.rmiconnector.connect(r miconnector.java:276) ~[na:1.6.0_24]
                      ... 6 common frames omitted
                      caused by: Java.rmi.connectexception: Connection refused to host: 172.16.33.44; nested exception is:
                      Java.net.connectexception: Connection refused
                      at sun.rmi.transport.tcp.tcpendpoint.newsocket(tcpend point.java:619) ~[na:1.6.0_24]
                      at sun.rmi.transport.tcp.tcpchannel.createconnection( tcpchannel.java:216) ~[na:1.6.0_24]
                      at sun.rmi.transport.tcp.tcpchannel.newconnection(tcp channel.java:202) ~[na:1.6.0_24]
                      at sun.rmi.server.unicastref.newcall(unicastref.java: 340) ~[na:1.6.0_24]
                      at sun.rmi.registry.registryimpl_stub.lookup(unknown source) ~[na:1.6.0_24]
                      at com.sun.jndi.rmi.registry.registrycontext.lookup(r egistrycontext.java:114) ~[na:1.6.0_24]
                      ... 11 common frames omitted
                      caused by: Java.net.connectexception: Connection refused
                      at java.net.plainsocketimpl.socketconnect(native method) ~[na:1.6.0_24]
                      at java.net.abstractplainsocketimpl.doconnect(abstrac tplainsocketimpl.java:327) ~[na:1.6.0_24]
                      at java.net.abstractplainsocketimpl.connecttoaddress( abstractplainsocketimpl.java:193) ~[na:1.6.0_24]
                      at java.net.abstractplainsocketimpl.connect(abstractp lainsocketimpl.java:180) ~[na:1.6.0_24]
                      at java.net.sockssocketimpl.connect(sockssocketimpl.j ava:384) ~[na:1.6.0_24]
                      at java.net.socket.connect(socket.java:546) ~[na:1.6.0_24]
                      at java.net.socket.connect(socket.java:495) ~[na:1.6.0_24]
                      at java.net.socket.<init>(socket.java:392) ~[na:1.6.0_24]
                      at java.net.socket.<init>(socket.java:206) ~[na:1.6.0_24]
                      at sun.rmi.transport.proxy.rmidirectsocketfactory.cre atesocket(rmidirectsocketfactory.java:40) ~[na:1.6.0_24]
                      at sun.rmi.transport.proxy.rmimastersocketfactory.cre atesocket(rmimastersocketfactory.java:146) ~[na:1.6.0_24]
                      at sun.rmi.transport.tcp.tcpendpoint.newsocket(tcpend point.java:613) ~[na:1.6.0_24]
                      ... 16 common frames omitted
                      2013-07-29 15:05:12.539 [pool-1-thread-2] debug c.z.gateway.binaryprotocolspeaker - sending the following data in response: { "response" : "failed", "error" : "java.io.ioexception: Failed to retrieve rmiserver stub: Javax.naming.serviceunavailableexception [root exception is java.rmi.connectexception: Connection refused to host: 172.16.33.44; nested exception is: \n\tjava.net.connectexception: Connection refused]" }

                      2013-07-29 15:05:12.539 [pool-1-thread-2] debug com.zabbix.gateway.socketprocessor - finished processing incoming connection
                      Кусок лога про 172.16.33.44
                      Last edited by tridochko; 02-08-2013, 17:40. Reason: Не тот кусок

                      Comment

                      • csf
                        Senior Member
                        • Nov 2007
                        • 154

                        #26
                        Добрый день!
                        Мне тоже, после почти 10 лет эксплуатации Zabbix, понадобилось настроить JMX-Gataway и я тоже имел проблемы. Поэтому я и наткнулся на Ваш пост. Я Вам просто дам общий совет: забудьте временно про Zabbix. Попробуйте просто к машине-клиенту, к которой у Вас не работает мониторинг, к порту, который "слушает" JMX подключиться с jconsole. Если это заработает - дальше пойдет все с Zabbix гладко.

                        Comment

                        • nivas
                          Junior Member
                          • Aug 2013
                          • 1

                          #27
                          Originally posted by csf
                          Добрый день!
                          Мне тоже, после почти 10 лет эксплуатации Zabbix, понадобилось настроить JMX-Gataway и я тоже имел проблемы. Поэтому я и наткнулся на Ваш пост. Я Вам просто дам общий совет: забудьте временно про Zabbix. Попробуйте просто к машине-клиенту, к которой у Вас не работает мониторинг, к порту, который "слушает" JMX подключиться с jconsole. Если это заработает - дальше пойдет все с Zabbix гладко.
                          Посмотрите тут, возможно пригодится:

                          Comment

                          Working...