Hey everyone, new to influx and telegraf!
I have a question regarding the performance of collecting an snmptable where we only care about a subset of fields. For the most extreme example, there are a few deprecated fields in the ifTable (ifOutNUcastPkts, ifOutQLen, ifSpecific) which we would like to not persist to Prometheus or store in memory. I am wondering if it is more efficient to simply namedrop the metrics as a part of the input or pull the MIBs for the specific fields as a part of the ifTable.
I believe this is directly related to SNMP plugin GET for multiple values at once · Issue #3784 · influxdata/telegraf · GitHub, but it is still unclear to me whether it is more performant to individually snmpwalk fields of a table or to pull the entire table and namedrop the unneeded metrics downstream.
Option 1:
[[inputs.snmp.table]]
name = "interface"
inherit_tags = ["hostname"]
oid = "IF-MIB::ifTable"
namedrop = ["interface_ifOutQLen", ...]
Option 2:
[[inputs.snmp.table]]
name = "interface"
inherit_tags = ["hostname"]
[[inputs.snmp.table.fields]]
oid = "IF-MIB::ifAdminStatus"
name = "ifAdminStatus"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifOperStatus"
name = "ifOperStatus"
......other fields not including ifOutQLen, etc.....
Is either one of these approaches the ‘standard’? I assume we may want to pull the entire table in this case, and maybe implement Option 2 when we want to omit over half the metrics of a specific table?