Ad Widget

Collapse

Zabbix Web scenarios+XML Parser/SOAP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • cancer_zern
    Member
    • Apr 2015
    • 36

    #1

    Zabbix Web scenarios+XML Parser/SOAP

    Добрый день!

    Подскажите пожалуйста, можно ли распарсить страницу и получить значение?

    Добавил web scenarios с переходом на страницу Как можно отсюда получить значение и можно ли?
    <Count>0</Count>
    При переходе через браузер, получаю вот такую информацию.
    This XML file does not appear to have any style information associated with it. The document tree is shown below.
    <TaskList>
    <Tasks/>
    <Paginator>
    <Count>0</Count>
    <Page>1</Page>
    <PageCount>1</PageCount>
    <PageSize>25</PageSize>
    <CountOnPage>0</CountOnPage>
    </Paginator>
    </TaskList>
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by cancer_zern
    Добрый день!

    Подскажите пожалуйста, можно ли распарсить страницу и получить значение?

    Добавил web scenarios с переходом на страницу

    Как можно отсюда получить значение и можно ли?


    При переходе через браузер, получаю вот такую информацию.
    Получить значение - нет, можно "поискать строчку '<Count>0</Count>' и в случае ее отсутствия выдать триггер"(Требуемая строка), а вот распарсить и положить чиселку в БД можно только через внешнюю проверку

    Comment

    • cancer_zern
      Member
      • Apr 2015
      • 36

      #3
      Originally posted by yukra
      Получить значение - нет, можно "поискать строчку '<Count>0</Count>' и в случае ее отсутствия выдать триггер"(Требуемая строка), а вот распарсить и положить чиселку в БД можно только через внешнюю проверку
      required pattern "<Count>0</Count>" was not found on https://mycompany.intraservice.ru/ap...7&serviceid=20
      Но если указываю Count, то прекрасно находит. Как-то можно проверить целиком?
      Last edited by cancer_zern; 30-06-2016, 11:19.

      Comment

      • cancer_zern
        Member
        • Apr 2015
        • 36

        #4
        Сделал пока что проверку по Id, который появляется после создания заявки. Но интересно, почему не целиком проверяет?

        Comment

        • Kos
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • Aug 2015
          • 3404

          #5
          Originally posted by cancer_zern
          Добрый день!

          Подскажите пожалуйста, можно ли распарсить страницу и получить значение?

          Добавил web scenarios с переходом на страницу
          Именно через веб-сценарии, как Вы делаете, - видимо, нет. Точнее, можно извлечь часть страницы (через переменные с регулярным выражением, подробности - по ссылке, которую дал yukra). Однако, использовать эти переменные можно лишь в следующих шагах того же сценария (например, чтобы на первом шаге получить какой-нибудь SESSIONID, который использовать дальше).

          Однако, если Вам нужно получать значение в качестве элемента данных, то это можно сделать через агента Zabbix. Сам агент может работать при этом где угодно (например, на той же машине, что и сервер Zabbix, или на той же машине, что и веб-сервер, к которому обращаетесь). А далее у агента можно использовать ключ
          Code:
          web.page.regexp[host,<path>,<port>,<regexp>,<length>,<output>]
          (описанный в самом конце документации), и с его помощью уже извлекать кокретную часть строки из страницы.

          required pattern "<Count>0</Count>" was not found on https://mycompany.intraservice.ru/ap...7&serviceid=20
          Там шаблон - это регулярное выражение. Не знаю, возможно, какие-то из символов (например, "/") воспринимаются как спецсимволы и требуют экранирования бэкслэшем?
          Last edited by Kos; 30-06-2016, 12:11. Reason: добавлен ещё комментарий

          Comment

          • cancer_zern
            Member
            • Apr 2015
            • 36

            #6
            Originally posted by Kos
            Там шаблон - это регулярное выражение. Не знаю, возможно, какие-то из символов (например, "/") воспринимаются как спецсимволы и требуют экранирования бэкслэшем?

            Неа, даже пытался сделать Count>0 - не помогало, но стоит попробовать экранировать.

            Comment

            • cancer_zern
              Member
              • Apr 2015
              • 36

              #7
              Неа, экранирование не помогло.
              required pattern "\<count\>0\<\/count\>" was not found on https://mycompany.intraservice.ru/ap...7&serviceid=20

              Comment

              • Kos
                Senior Member
                Zabbix Certified SpecialistZabbix Certified Professional
                • Aug 2015
                • 3404

                #8
                cancer_zern, а для чего Вам нужно это значение? Что Вы с ним дальше-то хотите сделать?

                Comment

                • cancer_zern
                  Member
                  • Apr 2015
                  • 36

                  #9
                  KOS, web.page.regexp не подходит, так как он не умеет авторизовываться на сайтах. Ну как минимум об этом в документации нет и слова.
                  Code:
                  web.page.regexp[host,<path>,<port>,<regexp>,<length>,<output>]

                  Comment

                  • cancer_zern
                    Member
                    • Apr 2015
                    • 36

                    #10
                    Originally posted by kos
                    cancer_zern, а для чего Вам нужно это значение? Что Вы с ним дальше-то хотите сделать?
                    Да собственно, более точное определение. Но тот вариант, который у меня сейчас сделан, он тоже рабочий.

                    Comment

                    • Kos
                      Senior Member
                      Zabbix Certified SpecialistZabbix Certified Professional
                      • Aug 2015
                      • 3404

                      #11
                      Originally posted by cancer_zern
                      kos, web.page.regexp не подходит, так как он не умеет авторизовываться на сайтах. Ну как минимум об этом в документации нет и слова.
                      Понятно.

                      Comment

                      Working...