In the early versions of Zabbix up to version 1.6, all Zabbix server interaction with data occurred directly via SQL statements in the database. For collecting an item, the flow was as follows:
The Zabbix server queried the database in search of the next item to be gathered (which would, actually, be the latest item for collection)
This query basically took into account two fields in the items table (
delay
andlast_clock
)If the duration of the gap between the current time and
last_clock
(time of the last valid sample collection) was greater thandelay
(number of seconds between gathers), then the Zabbix server started a new collection for that itemA poller would be called and the collection would be made
When this poller received data from the Zabbix agent, it would execute
INSERT
on the database and store the collected values
The entire collection stream involved querying and writing (insert and update) to the database. In an environment of a large organization, where we...