Ad Widget

Collapse

Обработка строковых значений?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lamerrrr
    Member
    • May 2010
    • 60

    #1

    Обработка строковых значений?

    1. В течении более года к мониторингу добавлялось оборудование и сейчас получается около 200 хостов с агентами от 1.8.5 до 2.0.2... Стандартный agent.version выдает строку. Возможно ли создание триггера который бы указал на хосты с версией ниже заданной?

    2. Оборудование отдает строку даты в формате 04/07/12 или похожем, хотелось бы как-то обработать этот параметр, например посчитать разницу между текущей и полученной датой. это возможно?
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    1) регулярными выражениями, что то типа
    agent.version.regexp("^1\.8") | agent.version.regexp("^1\.9")

    2) На уровне тригера походу никак, нужна функция возвращающая подстроку, тогда можно было бы пересчитать это все в число, но я такой в доке не вижу. Если никто не предложит другой вариант, то прийдется завести новый item с уже числовым значением, а затем пересчитать средствами mysql данные из history и trends. С оборудования ты как эту дату получал, по снмп или скриптом?

    Comment

    • srusv
      Member
      • Nov 2010
      • 31

      #3
      даты...

      Вроде как существует для триггера функция fuzzytime которая показывает синхронизировано ли время хоста с временем заббикс-сервера. Вам не это было надо ?

      Comment

      • Jimson
        Senior Member
        • Jan 2008
        • 1327

        #4
        забикс агенты время в формате "04/07/12" не отдают, у него это какая то железяка.

        вот у меня тоже такое, только скриптиками не отделаешься, это один из полусотни OID в LLD прототипе забираемый с SkyEdge II HSP, и что мне с таким делать?

        msk-be-srv-zbx[jimson]:~ $ snmpwalk -v1 -c public 172.17.12.1 .1.3.6.1.4.1.7352.3.18.12.1.1.3
        SNMPv2-SMI::enterprises.7352.3.18.12.1.1.3.1300 = STRING: "2012-08-20 15:45"
        SNMPv2-SMI::enterprises.7352.3.18.12.1.1.3.1302 = STRING: "2012-08-20 15:46"
        SNMPv2-SMI::enterprises.7352.3.18.12.1.1.3.1304 = STRING: "1900-00-00 00:00"
        SNMPv2-SMI::enterprises.7352.3.18.12.1.1.3.1310 = STRING: "2012-08-17 15:36"

        а есть еще веселее, у меня статусы VSAT на том же HSP выдаются по SNMP в виде строк, блин, "ONLINE", "OFFLINE", etc
        И что теперь делать текстовый элемент с временем хранения 1 день и рядом элемент вычисляемый который будет извратами из строки число делать? хранить то эти тупые строки не хочется, и собирать их с большим интервалом нельзя, 5 минут максимум.

        Comment

        • lamerrrr
          Member
          • May 2010
          • 60

          #5
          Originally posted by Jimson
          1) регулярными выражениями, что то типа
          agent.version.regexp("^1\.8") | agent.version.regexp("^1\.9")
          о... спасибо. работает... записал как .regexp("1\.(5|6|7|8|9)") что бы все где меньше второй версии выявить. только хотелось бы более универсального решения, а то в дальнейшем придется придумывать монстр конструкцию

          Originally posted by Jimson
          2) На уровне тригера походу никак, нужна функция возвращающая подстроку, тогда можно было бы пересчитать это все в число, но я такой в доке не вижу. Если никто не предложит другой вариант, то прийдется завести новый item с уже числовым значением, а затем пересчитать средствами mysql данные из history и trends. С оборудования ты как эту дату получал, по снмп или скриптом?
          консольная программа пишет в файл кучу параметров среди которые есть формат почти как у Ваc по snmp вида:
          ftchg date : 04/07/12 22:16:15
          хотелось как проще, но походу придется 3-4 item`ов заводить и триггерами сложной конструкции обрабатывать или писать скрипт который бы обсчитывал все вне заббикса и возвращал то что нужно, а нужна разница в часах (на край в сутках) между полученным значением и текущими датой-временем.

          Comment

          Working...