[ZBX-23239] Dashboard can't get item pattern value after interface description changed Created: 2023 Aug 10  Updated: 2023 Nov 24  Resolved: 2023 Nov 24

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Frontend (F)
Affects Version/s: 6.0.20
Fix Version/s: None

Type: Problem report Priority: Trivial
Reporter: Gang Ma Assignee: Edgar Akhmetshin
Resolution: Won't fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File zabbix-dashboard-graph-item-pattern.png    

 Description   

I have one dashboard with 3 graph widgets each for a interface TX/RX bits for last 1day, last 7 days, last 30days.

Each graph widget has 2 data sets with item pattern

Interface Gi0/0/0(to ISP handoff): Bits received net.if.in[ifHCInOctets.1] SNMP agent    Numeric (unsigned)    Enabled
Interface Gi0/0/0(to ISP handoff): Bits sent net.if.out[ifHCOutOctets.1] SNMP agent    Numeric (unsigned)    Enabled

Then I updated the interface description string in Cisco router config to include the patch panel port detail. The dashboard is empty after this change.

The data sets' "item pattern" still point to Interface Gi0/0/0(to ISP handoff), but when I select  item pattern again, I can see the available item patterns are

Interface Gi0/0/0(to ISP handoff via Patch Panel XXX): Bits received net.if.in[ifHCInOctets.1] SNMP agent    Numeric (unsigned)    Enabled
Interface Gi0/0/0(to ISP handoff via Patch Panel XXX): Bits sent net.if.out[ifHCOutOctets.1] SNMP agent    Numeric (unsigned)    Enabled

I can only fix the dashbord be specifying the new "item pattern" or by rollback the interface description.  The graph is always good in Monitoring/Hosts/xxx Router/Graphs regardless of the description change.   I think the dashboard get the value by checking "Interface Gi0/0/0(to ISP handoff via Patch Panel XXX)" instead of checking permanent "net.if.in[ifHCInOctets.1]" and "net.if.out[ifHCOutOctets.1]"

I have to fix the dashboard again each time the interface description string gets changed in Cisco router config?

 

 

 

Steps to reproduce:

  1. Changes in configuration...
  2. Navigate to screen title...
  3. Click on screen element...
  4. ...

Result:
See screenshot...
See log file...
See memory dump...
Expected:
See screenshot....
See attached patch file...



 Comments   
Comment by Gang Ma [ 2023 Aug 10 ]

Steps to reproduce:

  1. Create a dashbord to report the one cisco router interface Bits sent/receive
  2. Change the interface description string on Cisco router.
  3. Wait for a while, maybe until next SNMP poll. When this description change is detected by SNMP poller,  Dashboard stops to show the graph chart
Comment by Edgar Akhmetshin [ 2023 Aug 11 ]

Provide exact configuration used for Dashboard/Widgets with exact pattern used for the Items.

Comment by Gang Ma [ 2023 Aug 11 ]

Screenshot attached.

Each widget uses same data sets for same interface Gi0/0/0, but Time Period is different for last 1d, 7d and 30d.

When the interface description string is changed on Cisco router, it is learned by SNMP poller. Graph widget still use old interface description then there is no value and graph becomes empty.

 

Comment by Edgar Akhmetshin [ 2023 Aug 11 ]

The screenshot is unreadable since it's cut off.

Comment by Gang Ma [ 2023 Aug 11 ]

A new screenshot is attached.

Comment by Edgar Akhmetshin [ 2023 Nov 24 ]

If you are using a pattern, how Zabbix should know what new pattern you would like to monitor? Use more general pattern or modify Graph as needed, since configuration is changed.

Works as expected.

Please be advised that this section of the tracker is for bug reports only. The case you have submitted can not be qualified as one, so please reach out to [email protected] for commercial support (https://zabbix.com/support) or consultancy services. Alternatively, you can also use our community channels (https://www.zabbix.com/community) for assistance. With that said, we are closing this ticket. Thank you for understanding.

Comment by Gang Ma [ 2023 Nov 24 ]

Zabbix monitors net.if.in[ifHCInOctets.1].  I didn't change "net.if.in[ifHCInOctets.1]".  Zabbix graph should pull metric or data from net.if.in[ifHCInOctets.1] and generate the chart. Even the interface description is changed on Cisco router, the interface index remains the same, and the SNMP OID remains the same.  Then why the graph widget in dashboard fails?  The data source isn't change. 

When the interface description is changed, graphs in Monitoring/Host/Graph don't change  (/zabbix/zabbix.php?action=charts.view), only the graph widget in dashboard fails.

Same  interface description change,  only graph widget in dashboard fails, Graph under Host doesn't fail. So the change doesn't block Zabbix from receiving the data/metric from the interface.  There is some logic problem with graph widget in dashboard.

Have you ever tried to reproduce the issue?

Comment by Gang Ma [ 2023 Nov 24 ]

Also I don't want to "use a pattern" , I have no choice but have to "Select" the item from the item list.

I only what to monitor net.if.in[ifHCInOctets.1]. Zabbix only provides "Interface Gi0/0/0(to ISP handoff via Patch Panel XXX): Bits received net.if.in[ifHCInOctets.1]" as a whole for me to choose. I have no other option. Do you have any other option when specifiying the data source for the chart?

It is Zabbix's logical to make "Interface Gi0/0/0(to ISP handoff via Patch Panel XXX): Bits received net.if.in[ifHCInOctets.1]" as the only pattern I have to choose.   

It is Zabbix that makes interface description text become part of the item pattern when configuring Graph widget in Dashboard.

Have you ever tried to reproduce the issue? I suggest you can try to reproduce what I run into and then re-evaluate the ticket priority. I understand you have every right to mark it Minor, but I don't think you understand what the issue is, you should mark it Minor only after you fully understand this issue.

Comment by Gang Ma [ 2023 Nov 24 ]

Zabbix still use same SNMP OID to get metric from Cisco router. Zabbix writes the data to the database. But I think the value is recorded together with interface name and interface description as a whole and they become a data source "item" for graph widget to use. 

When there is interface decription change, the SNMP value is recorded together with interface name and new interface description. and graph widget still use the old item pattern, so graph widget can't get any value from the database.    This is a bug because graph widget SHOULD NOT uses old item pattern with interface description to query the database.    Interface description is not a fixed attribute.  graph widget SHOULD use SNMP OID as item pattern to query the database.

Generated at Fri May 02 07:11:39 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.