Ad Widget

Collapse

Переменная в имени триггера

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Connected
    Member
    • Mar 2015
    • 39

    #16
    Originally posted by sadman
    Не вижу противоречий.

    ifAlias и IFDescr считываются с разных деревьев по одному индексу. Если ваша штука в имеет деревья с именами каналов и групп, "синхронизированных" по индексу, то заводите новый элемент данных, куда читайте с соотв. OID имя группы. Если таковой будет, то его уже можно завести в триггер и подцепить значение из выражения в название, каковое уже и будет на дашборде.

    Вопрос только в том - как берутся имена групп и как они взаимоотносятся с именами каналов. Всё остальное в большей мере решаемо.

    Собственно так и есть.

    Создаю правило обнаружения Analyzer.ChannelIP
    Сначала берем IPадреса групп , они считываются по ключу Analyzer.ChannelIP и SNMP OID .1.3.6.1.4.1.8072.1.3.2.4.1.2.1.49 .

    Code:
    snmpwalk -v2c -c pblc 10.66.10.254 .1.3.6.1.4.1.8072.1.3.2.4.1.2.1.49
    iso.3.6.1.4.1.8072.1.3.2.4.1.2.1.[B]49[/B].1 = STRING: 230.200.201.22
    iso.3.6.1.4.1.8072.1.3.2.4.1.2.1.[B]49[/B].2 = STRING: 230.200.201.102
    Создаю элемент данных трап для них .

    Затем создаю элемент данных Channel name для получения названий каналов

    Code:
    iso.3.6.1.4.1.8072.1.3.2.4.1.2.1.[B]50[/B].1 = STRING: " XXX "
    iso.3.6.1.4.1.8072.1.3.2.4.1.2.1.[B]50[/B].2 = STRING: " XXX2 "
    то есть разность есть, при этом связь по индексам есть .
    В последних данных вижу корректное отображение имени на против элементов данных:

    Code:
    Channel name 230.200.201.22	09-09-2015 16:21:40	XXX

    И затем уже пытаюсь выстроить имя триггера.

    Comment

    • sadman
      Senior Member
      • Dec 2010
      • 1611

      #17
      С этого и нужно было начинать.

      LLD правило оставляете как есть.
      Нужен один прототип:
      Channel name $1
      Channelname["{#SNMPVALUE}"]
      .1.3.6.1.4.1.8072.1.3.2.4.1.2.1.50.{#SNMPINDEX}

      Затем вводите прототип ЭД в прототип триггера так, чтобы он не оказывал влияния на вычисления и пихаете его значение в имя триггера через {ITEM.LASTVALUEN}: https://www.zabbix.com/forum/showthread.php?t=48408
      Т.е. имя триггера будет таким: "Канал {ITEM.LASTVALUEN} группа '{#SNMPVALUE}' - артефакты".

      Кстати, я писал shell-script, который сформирует нужные макросы из заданных деревьев:


      Он позволит не извращаться с LASTVALUE, а прописывать в имени триггера макросы. Что-то вроде "Канал {#CHANNEL} группа '{#GROUP}' - артефакты". Макросы определите самостоятельно при запуске скрипта.

      Теперь, наверное, недомолвок не осталось.

      Comment

      • Connected
        Member
        • Mar 2015
        • 39

        #18
        Originally posted by sadman
        С этого и нужно было начинать.

        Lld правило оставляете как есть.
        Нужен один прототип:
        Channel name $1
        channelname["{#snmpvalue}"]
        .1.3.6.1.4.1.8072.1.3.2.4.1.2.1.50.{#snmpindex}

        Затем вводите прототип ЭД в прототип триггера так, чтобы он не оказывал влияния на вычисления и пихаете его значение в имя триггера через {item.lastvaluen}: https://www.zabbix.com/forum/showthread.php?t=48408
        Т.е. имя триггера будет таким: "Канал {item.lastvaluen} группа '{#snmpvalue}' - артефакты".

        Кстати, я писал shell-script, который сформирует нужные макросы из заданных деревьев:


        Он позволит не извращаться с lastvalue, а прописывать в имени триггера макросы. Что-то вроде "Канал {#channel} группа '{#group}' - артефакты". Макросы определите самостоятельно при запуске скрипта.

        Теперь, наверное, недомолвок не осталось.
        Огромное спасибо! Все получилось!

        Comment

        Working...