I have an SNMP Walk item to get statistics from some devices. It runs every 1 minute and is the master item of an LLD.
The SNMP table returns the statistics values without a value "name", meaning that there's no value name index. The Walk item receives a list similar to this:
The first object ( .1.3.6.1.4.1.7779.3.1.1.2.1.3.1.1.0 ) indicates that the statistics are active. The other objects are the statistics themselves.
The first goal is to run the LLD only when the first object is "1" (active). To do this, I can create a simple preprocessing step to validate this value.
If the value is 1, go through. If not, discard the value.

This way, the LLD should only run when the statistics are active.
After that, the second preprocessing step should be "SNMP walk to JSON" to convert the values into an LLD JSON. With this, the item prototypes can already be created.

Now the hard stuff...
Since these are host statistics that are constantly updating, the master item should have different values with each query.
The SNMP table does not provide an index for value names, so, even if I add a third preprocessing step to "discard unchanged values with hearbeat", the LLD should be executed on each run of the master item because the values will be different.
My question is: in this context, how to prevent the LLD from running every minute when statistics are active?
Any thoughts?
- Master item - Walk DNS Monitoring
- Dependent LLD - Discovery of DNS Average Latency
The SNMP table returns the statistics values without a value "name", meaning that there's no value name index. The Walk item receives a list similar to this:
Code:
.1.3.6.1.4.1.7779.3.1.1.2.1.3.1.1.0 = INTEGER: 0 .1.3.6.1.4.1.7779.3.1.1.2.1.3.1.2.1.1.0 = INTEGER: 0 .1.3.6.1.4.1.7779.3.1.1.2.1.3.1.2.2.1.0 = INTEGER: 0 .1.3.6.1.4.1.7779.3.1.1.2.1.3.1.2.3.1.0 = INTEGER: 0 .1.3.6.1.4.1.7779.3.1.1.2.1.3.1.3.1.1.0 = INTEGER: 0 .1.3.6.1.4.1.7779.3.1.1.2.1.3.1.3.2.1.0 = INTEGER: 0 .1.3.6.1.4.1.7779.3.1.1.2.1.3.1.3.3.1.0 = INTEGER: 0
The first goal is to run the LLD only when the first object is "1" (active). To do this, I can create a simple preprocessing step to validate this value.
If the value is 1, go through. If not, discard the value.
This way, the LLD should only run when the statistics are active.
After that, the second preprocessing step should be "SNMP walk to JSON" to convert the values into an LLD JSON. With this, the item prototypes can already be created.
Now the hard stuff...
Since these are host statistics that are constantly updating, the master item should have different values with each query.
The SNMP table does not provide an index for value names, so, even if I add a third preprocessing step to "discard unchanged values with hearbeat", the LLD should be executed on each run of the master item because the values will be different.
My question is: in this context, how to prevent the LLD from running every minute when statistics are active?
Any thoughts?