Ad Widget

Collapse

Dynamic index method

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • georgew
    Member
    • Mar 2008
    • 50

    #1

    Dynamic index method

    Greetings,

    I have two zabbix installations for different clients. However I am finding that in both cases, OID's in central routing equipment, and certin typed of switch stacks are very dynamic. When vlans, IP addresses, firmware, physical and virtual ports are added or changed, the index is recalculated. Worse, the port numbers often don't make any sense, for example on one box I just added, eth0 was on index 129. eth3 was at index 1.

    The solution, of course, is to employ the Dynamic index. From the current version of the manual:
    The syntax:
    <base OID of data>[“index”,”<base OID of index>”,”<string to search for>”]
    For example, to get the ifInOctets value for the GigabitEthernet0/1 interface on a
    Cisco device, yo may following OID:
    ifInOctets[“index”,”ifDescr”,”GigabitEthernet0/1”]
    I found the manual to be wrong for my Zabbix 1.6.6 installation. The quotes in the manual should be removed, as it will not work with the quotes as shown. The manual should read:
    The syntax:
    <base OID of data>[index,<base OID of index>,<string to search for>]
    For example, to get the ifInOctets value for the GigabitEthernet0/1 interface on a
    Cisco device, you may use following OID:
    ifInOctets[index,ifDescr,GigabitEthernet0/1]
    If I follow the example and use quotes, I get nothing but errors. As soon as I remove the quotes, everything works.

    I suspect that the quotes not working are either a new bug, OR a flaw in the documentation. If a variable is in angle brackets <like this> then it is already quoted, adding quotes is redundant, making it appear that the quotes are part of the syntax. Examples in the forums also had the quotes, but those examples do not work in 1.6.6.

    I have one question. I saw this question asked, but not answered.

    Zabbix will cache the dynamic index, to reduce the load on the target system of the index search. This is a VERY good feature. Without the cache, I could not use the dynamic index (or zabbix).

    The question is: "How do I expire the cache?"

    In a dynamic environment, the indexes change frequently. I manage a team of 6 network engineers over a WAN that has 65 locations, and each location has multiple stacks of switches and routers, with hundreds of vendors adding and removing network gear making the indexes change daily. My 6 engineers might make anything from 1 to 10 vlan changes on any given day. They also update firmware, swap failed hardware, and perform countless network changes that all impact the dynamic index. We have equipment with hundreds of physical ports, and several times that number in index entries. So even if we set the equipment up to keep the index static, we frequently make changes that force the index to change.

    I would like to know how to:
    • Force the cache to expire on command when an engineer has made a change.
    • Have an automated way to recalculate an index.
    • The scripted/automated recalculation should have a way to reduce the speed of the index scan, so that excessive load is not placed on the target equipment.


    I work in a hospital network, and real-time medical procedures are performed across my network 24 hours a day, so I can't be placing excessive load on the switch stacks when it's time to rebuild the index cache. There is no maintenance window, our healthcare mission has no days off, no nights off, no good time for downtime.

    Zabbix is a great tool, and my use of zabbix is causing a viral awareness of it to spread outside of my own team. I have been tapped to provide education and support to other teams and organizations deploying Zabbix.

    You guys are awsome!
  • pedmond
    Junior Member
    • Sep 2009
    • 7

    #2
    Dynamic Index method

    Hi Georgew,

    Does Zabbix really cache the dynamic Index ?

    There's a note in the documentation :
    Note:
    Use dynamic indexes with care as it leads to more SNMP queries. ZABBIX does
    not perform caching, so the lookup is performed anytime the item value is
    retrieved.


    Maybe something missed me ! (I really would like !!)

    Comment

    • richlv
      Senior Member
      Zabbix Certified Trainer
      Zabbix Certified SpecialistZabbix Certified Professional
      • Oct 2005
      • 3112

      #3
      latest manual should say "Dynamic indexes are cached since Zabbix version 1.6.3."
      Zabbix 3.0 Network Monitoring book

      Comment

      • georgew
        Member
        • Mar 2008
        • 50

        #4
        I never got an answer to my question from the forum, but in practice, the cached dynamic indexes seem to update correctly on their own without generating excessive load on the infrastructure.

        So I have been happy using it.

        Comment

        Working...