Ad Widget

Collapse

Complex trigger expression in low-level-descovery

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • DeepDiver
    Junior Member
    • Apr 2011
    • 4

    #1

    Complex trigger expression in low-level-descovery

    I have low-level-discovery rule of SNMPv2 type by SNMP OID ifDescr. Then I create item and trigger prototypes. I want that one trigger worked with GigabitEthernet interfaces and another one with TenGigabitEthernet interfaces, because there is different treshlods for ifHCIn/OutOctets for each.
    So I define the followin trigger prototype:
    Name:
    ifHCInOctets.{#SNMPVALUE} too high
    Expression:
    {Dynamic SNMP device:ifHCInOctets.["{#SNMPVALUE}"].avg(900)}>600000000

    But how to "filter" only GigabitEthernet? I tried to make expression this way:
    {Dynamic SNMP device:ifHCInOctets.["{#SNMPVALUE}"].avg(900)}>600000000 & {Dynamic SNMP device:IfDescr.regexp(^GigabitEthernet)}=1

    or

    {Dynamic SNMP device:ifHCInOctets. "{#SNMPVALUE}"].avg(900)}>600000000 & {{#SNMPVALUE}.regexp(^GigabitEthernet)}=1

    and many other variants. As a result, I receive error:
    Incorrect host name "#SNMPVALUE" provided in expression. Check expression part starting from <...>

    However I even can not save such expression.


    In another words - I want to use SNMPVALUE (ifDescr) in expression of trigger prototype.
  • DeepDiver
    Junior Member
    • Apr 2011
    • 4

    #2
    I found workaound myself.

    Create item prototype:
    Name - ifDescr.$1
    Key - ifDescr.["{#SNMPVALUE}"]
    SNMP OID - ifDescr.{#SNMPINDEX}

    It will be used just as keys to use with correct trigger depending GigabitEthernet or 10GigabitEthernet.

    Then create trigger prototype with following expression:
    {Dynamic SNMP device:ifHCInOctets.["{#SNMPVALUE}"].avg(900)}>600000000 & {Dynamic SNMP device:ifDescr.["{#SNMPVALUE}"].regexp(^GigabitEthernet)}=1

    And similar for 10GigabitInterfaces:
    {Dynamic SNMP device:ifHCInOctets.["{#SNMPVALUE}"].avg(900)}>6000000000 & {Dynamic SNMP device:ifDescr.["{#SNMPVALUE}"].regexp(^10GigabitEthernet)}=1

    Hope this will save somebody's time.

    Comment

    Working...