Ad Widget

Collapse

Web мониторинг рандомное число

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • vtonkikh
    Junior Member
    • Mar 2017
    • 5

    #1

    Web мониторинг рандомное число

    День добрый.

    Подскажите пожалуйста каким образом можно в сценарий веб-мониторинга подставить рандомное число?
    Суть в том, что при переходе по URL необходимо каждый раз подставлять рандомное число, для создания транзакции. Стандартного рандомайзера для подстановки в макрос я не нашел.
    Есть вариант конечно брать например текущую дату и вырезать из неё точки с помощью regexp, но не самый удобный способ.
    Можно ли как-то выполнить команду urandom на сервере заббикса и подставить результат в URL веб-сценария?

    Что-то вроде вот этого
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1
  • SKabanov
    Member
    • Jan 2014
    • 36

    #2
    Добрый день!

    Знаете, как мне кажется, Вам лучше реализовать проверку через внешний скрипт, например с помощью утилиты curl.

    Comment

    • DIMMETAL
      Junior Member
      • Mar 2017
      • 13

      #3
      Через внешний скрипт

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

      Создаешь скрипт, т.е исполняемый файл на сервере с bash кодом под названием random.sh.
      Текст файла такой
      Code:
      min=$1
      max=$2
      shuf -i $min-$max -n 1
      Где после ключа -n может быть любое положительное число, задающее количество генерируемых чисел.

      Потом создаешь внешнюю проверку с ключем ramdom.sh[1,100] собственно рандомное число от 1го до 100.

      Как то так, сам не побывал конкретно с внешней проверкой, но похоже на правду. Если будут какие то вопросы, спрашивай

      Comment

      • vtonkikh
        Junior Member
        • Mar 2017
        • 5

        #4
        Originally posted by SKabanov
        Добрый день!

        Знаете, как мне кажется, Вам лучше реализовать проверку через внешний скрипт, например с помощью утилиты curl.
        Есть такой скрипт уже. Если я его запускаю как внешнюю проверку, он выдает таймаут операции. А через zabbix_sender и crontab это уже совсем костыли

        Comment

        • vtonkikh
          Junior Member
          • Mar 2017
          • 5

          #5
          Originally posted by dimmetal
          Ну смотри, ты можешь через внешний скрипт брать рандомное число.

          Создаешь скрипт, т.е исполняемый файл на сервере с bash кодом под названием random.sh.
          Текст файла такой
          Code:
          min=$1
          max=$2
          shuf -i $min-$max -n 1
          Где после ключа -n может быть любое положительное число, задающее количество генерируемых чисел.

          Потом создаешь внешнюю проверку с ключем ramdom.sh[1,100] собственно рандомное число от 1го до 100.

          Как то так, сам не побывал конкретно с внешней проверкой, но похоже на правду. Если будут какие то вопросы, спрашивай
          Это всё понятно, но мне нужно это число подставить в url в веб-сценарий. А потом по этому триггеру еще и sla считать

          Comment

          • SKabanov
            Member
            • Jan 2014
            • 36

            #6
            Originally posted by vtonkikh
            Есть такой скрипт уже.
            Вот, осталось его переписать, чтобы он возвращал то что нужно (0 или 1, или еще что-то). Затем создаете элемент данных и получаете необходимую информацию.

            Comment

            • vtonkikh
              Junior Member
              • Mar 2017
              • 5

              #7
              Originally posted by SKabanov
              Вот, осталось его переписать, чтобы он возвращал то что нужно (0 или 1, или еще что-то). Затем создаете элемент данных и получаете необходимую информацию.
              Вот он и выдает 1 или 0 (Ошибка или ОК). Но заббикс не хочет с ним работать, выдает таймаут операции.

              Собственно, я всё испробовал, что вы рекомендуете, поэтому и возник вопрос, как в веб-сценарии это всё сделать без выполнения внешних скриптов. В сценарий сожно ввести переменные и макросы. Так же в заббиксе можно подставлять эти макросы в URL, который проверяется. Осталось только в макрос запихнуть результат внешней проверки или например даже подойдет текущая дата без точек и двоеточий.
              Вот такие есть макросы


              в частности {DATE} и {TIME}

              Comment

              • SKabanov
                Member
                • Jan 2014
                • 36

                #8
                Originally posted by vtonkikh
                Вот он и выдает 1 или 0 (Ошибка или ОК). Но заббикс не хочет с ним работать, выдает таймаут операции.
                Пробовали увеличивать время таймаута для скрипта в конфигурации zabbix?

                Originally posted by vtonkikh
                Вот такие есть макросы
                Из списка макросов веб-мониторинг поддерживают только несколько. А такие как {TIME} поддерживаются только в "Оповещения и команды" и "Внутренние оповещения"

                Comment

                • vtonkikh
                  Junior Member
                  • Mar 2017
                  • 5

                  #9
                  Originally posted by SKabanov
                  Пробовали увеличивать время таймаута для скрипта в конфигурации zabbix?

                  Да, пробовал до 30 секунд.

                  Из списка макросов веб-мониторинг поддерживают только несколько. А такие как {TIME} поддерживаются только в "Оповещения и команды" и "Внутренние оповещения"
                  Понял Вас, спасибо за подсказку.

                  -----------

                  Всем спасибо, проблему решил вызовом внешнего скрипта в итоге. Оказывается скрипт тормозил на генераторе чисел. С командой
                  shuf -i $min-$max -n 1 получилось отлично, таймаут исчез.

                  Comment

                  Working...