Ad Widget

Collapse

помогите настроить связку Tomcat6 zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • solid
    Junior Member
    • Jun 2012
    • 4

    #1

    помогите настроить связку Tomcat6 zabbix

    Доброго дня

    поставили задачу мониторить tomcat 6 zabbix-ом
    на сервере стоит zabbix 1.8.5

    тестирую связку на виртуальном сервере tomcat6 + zabbix 2.0.1

    для tomcat6
    setenv.sh

    export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"
    export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=10052"
    export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
    export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

    netstat -an|fgrep 10052
    tcp6 0 0 :::10052 :::* LISTEN
    tcp6 0 0 127.0.0.1:10052 127.0.0.1:41876 TIME_WAIT

    для zabbix сервера

    JavaGateway=127.0.0.1
    JavaGatewayPort=10052
    StartJavaPollers=5

    для тестируемого хоста

    JMX interfaces 127.0.0.1 10052

    JMX горит красным Cannot open received JSON

    что сделал не так не пойму
  • Dushman
    Junior Member
    • Oct 2012
    • 8

    #2
    Если у вас javagateway и tomcat запущенны на одном и том же хосте,
    то:
    1) в настройках tomcat замените порт в опции "Dcom.sun.management.jmxremote.port" на любой свободный (например 10053).

    2) Перезапустите tomcat и javagateway

    3) убедитесь, что порты jawagateway (10052) и jmx tomcat (например 10053) открыты и LISTEN.

    4) В вебинтерфейсе хосту с tomcat укажите порт указанный в Dcom.sun.management.jmxremote.port

    5) На всякий случай убедитесь, что у хоста есть метрики с типом jmx-агент

    6) Индикатор должен позеленеть.

    Originally posted by solid
    на сервере стоит zabbix 1.8.5
    Если мне не изменяет память, то javagateway появился в заббивске 2.Х
    и вам прийдется обновляться или смотреть в сторону zapcat

    Comment

    • solid
      Junior Member
      • Jun 2012
      • 4

      #3
      Спасибо, буду пробовать

      Comment

      • fatalist
        Junior Member
        • Oct 2014
        • 2

        #4
        ребят тоже пробовал делать по этому мануалу, не помогает ничего, подскажите ещё пару вариантов если можете.

        Comment

        • Dushman
          Junior Member
          • Oct 2012
          • 8

          #5
          Originally posted by fatalist
          ребят тоже пробовал делать по этому мануалу, не помогает ничего, подскажите ещё пару вариантов если можете.
          Опишите подробнее вашу конфигурацию и укажите версию вашего заббикса.

          Comment

          • fatalist
            Junior Member
            • Oct 2014
            • 2

            #6
            у меня версия заббикса 2.2.1
            проблема заключается в следующем:
            пробовал прикрутить JMX монитор. В файл startup.sh tomcat`a дописал
            JAVA_OPTS="${JAVA_OPTS} -Djavax.sql.DataSource.Factory=org.apache.commons.d bcp.BasicDataSourceFactory -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
            -Djava.rmi.server.hostname=***.***.**.**"
            так-же в каталину засунул
            export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"
            export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=10052"
            export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
            export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

            в zabbix-server.conf
            JavaGateway="host-ip"
            JavaGatewayPort=8004
            StartJavaPollers=5
            Timeout=30


            иконка светится красным, и выдает - Canot open received JSON
            у меня заббикс сервер и томкат стоят на одном хосте
            когда делал по Вашему предадущему ответу, у меня на пункте 5 произошла загвоздка, не знаю как посмотреть есть ли метрики(если имеется ввиду рисует ли какие-то граффики, или есть ли какие-то данные - то нет, все пункты - [no data])
            log-file
            2014-10-13 14:05:37.765 [pool-1-thread-1] WARN com.zabbix.gateway.SocketProcess
            or - error processing request
            com.zabbix.gateway.ZabbixException: bad protocol header: 72 6F 74 0D 0A
            at com.zabbix.gateway.BinaryProtocolSpeaker.getReques t(BinaryProtocolSpe
            aker.java:59) ~[zabbix-java-gateway-2.2.6.jar:na]
            at com.zabbix.gateway.SocketProcessor.run(SocketProce ssor.java:51) ~[zab
            bix-java-gateway-2.2.6.jar:na]
            at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.
            java:1145) [na:1.7.0_65]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor
            .java:615) [na:1.7.0_65]
            at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]

            Comment

            • Dushman
              Junior Member
              • Oct 2012
              • 8

              #7
              в zabbix-server.conf надо указывать порт JavaGateway.
              Вы указываете порт jmx java

              Т.е. вам надо в в zabbix-server.conf сменить порт JavaGateway
              Code:
              JavaGateway="host-ip"
              JavaGatewayPort=[B]10052[/B]  # для примера
              StartJavaPollers=5
              Timeout=30
              В settings.sh у JavaGateway устанавливаем LISTEN_PORT=10052 и перезапускаем его

              Проверяем, что JavaGateway поднялся и слушает нужный порт
              Code:
               ps aux | grep -i JavaGateway
              user      [B]3140[/B]  0.1  0.5 7154100 86924 ?       ***********:bin/zabbix-java-gateway-*.jar -Dzabbix.pidFile=/var/run/zabbix/zabbix_java.pid com.zabbix.gateway.JavaGateway
              Code:
              sudo netstat -atnup | grep [B]3140[/B]
              tcp6       0      0 :::[B]10052[/B]                :::*                   [B] LISTEN      [/B]3140/java
              Перезапускаем zabbix-server чтобы он подхватил настройки JavaGateway

              Comment

              • Dushman
                Junior Member
                • Oct 2012
                • 8

                #8
                В вебморде заббикса добавляем хосту jmx интерфейс с портом 8004
                т.к. у вас
                Code:
                -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=[B]8004[/B]
                И в шаблонах можно добавить Template JMX Generic.

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


                Работу jmx мониторинга со стороны java можно проверить через jconsole, подключившись к серверу по порту 8004.
                В принципе из неё я и тырил метрики в заббикс.

                Если jmx слушает только localhost, то можно пробросить его порт по ssh.

                Comment

                • Dushman
                  Junior Member
                  • Oct 2012
                  • 8

                  #9
                  Originally posted by fatalist
                  так-же в каталину засунул
                  export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"
                  export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=10052"
                  export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
                  export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
                  Не обратил сразу внимание, что у вас порт 10052 уже занят
                  Не забудьте его поменять или в настройках каталины или в настройках javaGateway

                  Comment

                  Working...