[ZBX-4261] Item prototype is accounted in zabbix queue even if discovery rule is disabled Created: 2011 Oct 21  Updated: 2017 May 30  Resolved: 2012 Feb 11

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Frontend (F), Server (S)
Affects Version/s: 1.9.7 (beta)
Fix Version/s: 2.0.0rc1

Type: Incident report Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: discovery, lld, queue
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Zabbix 1.9.7 r22573



 Description   

Suppose that discovery rule is disabled, but item prototype is enabled.

That bug is related to frontend & zabbix_server side.



 Comments   
Comment by Aleksandrs Saveljevs [ 2011 Oct 21 ]

Item prototypes should not count towards queue, regardless of discovery rule's status, because they are not real items. Could you please explain your idea with an example?

Comment by Oleksii Zagorskyi [ 2011 Oct 21 ]

Aleksandrs, good question

I think item prototypes should count towards queue.

For instance for some reason the discovery rule becomes not supported, then it will be useful to see delay update for item prototype in the queue (as it's currently)
But if discovery rule is disabled (and eventually the item prototypes are not processed by zabbix_server) then its item prototypes should not count towards queue.

Maybe the page Queue -> Details could be improved to distinguish where is prototypes.

Comment by Aleksandrs Saveljevs [ 2011 Oct 21 ]

There seems to be a misunderstanding of what is a discovery rule and what is an item prototype, so I shall try to explain.

Suppose you create a discovery rule to discover network interfaces on a host: net.if.discovery. That discovery rule (a real item) is processed every "delay" seconds by contacting Zabbix agent.

Suppose you also create an item prototype to graph incoming traffic for every discovered interface: net.if.in[

{#IFNAME}

,bytes]. The prototype itself is not processed by the server.

Suppose then net.if.discovery discovers a bunch of interfaces on a host. Several real items are created from item prototypes: net.if.in[eth0,bytes] and net.if.in[eth1,bytes]. These two items are processed by Zabbix server.

Summarizing, item prototypes are not real items and do not gather any data. They only serve as a template for real items, created as a result of low-level discovery. Discovery rules should count towards queue, but item prototypes - no.

Comment by Oleksii Zagorskyi [ 2011 Oct 21 ]

Aleksandrs, thanks for explanation, but I know very well how LLD works and no need to explain me in details
You should remember how many issues I've created immediately after LLD was committed to trunk

I see your point of view.
My position was in the possibility of troubleshooting, but if discovery rules are counted in the queue (I've not tested and didn't even think in this direction ) then no really need to count item prototypes.

Ok, I agree with you to exclude item prototypes from the queue.
Thanks.

<added> Feel free to change the summary of this issue if you want.

Comment by Aleksandrs Saveljevs [ 2011 Oct 24 ]

Anyway, the bug is there, at least on the server side: item prototypes are counted when calculating queue. This should be fixed.

Comment by Alexander Vladishev [ 2012 Feb 11 ]

Fixed in the development branch svn://svn.zabbix.com/branches/dev/ZBX-4261

Also fixed discovery rules in the queue calculation. They always "hung" in queue since the field "lastclock" wasn't updated.

Comment by Alexei Vladishev [ 2012 Feb 18 ]

Tested, both server and front-end sides are perfect.

Comment by Alexander Vladishev [ 2012 Feb 18 ]

Fixed in the version pre-1.9.10, revision 25450.

Generated at Fri Apr 19 04:32:39 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.