[ZBXNEXT-9317] Please implement readCache(), writeCache(), updateCache() JS functions Created: 2024 Jul 09 Updated: 2024 Jul 16 Resolved: 2024 Jul 16 |
|
Status: | Closed |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | Frontend (F), Server (S) |
Affects Version/s: | 7.0.0, 7.0.1rc1 |
Fix Version/s: | None |
Type: | New Feature Request | Priority: | Minor |
Reporter: | Andrew Biba | Assignee: | Zabbix Development Team |
Resolution: | Duplicate | Votes: | 4 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Attachments: | image-2024-07-10-01-52-43-367.png image-2024-07-10-01-52-57-314.png | ||||||||||||||||
Issue Links: |
|
Description |
I want to keep non-persistent, temporary data available between the items in host or host groups. Now we are developing more and more templates for cloud services or heavy-load solutions like AWS, Azure, GCP, Velocloud, Meraki, etc. All such services are monitored by HTTP via HTTP REST API requests. On small installations, this approach works fine, but problems arise when installations grow larger. The number of requests increases, resulting in numerous requests that DDoS the target service due to the limits of Zabbix's current architecture. How do we deal with this problem now?
However, the issues with a plugin are expensive development, complexity of support, and a time-consuming process. I'm not sure that we can control the queue of requests right now, but we can definitely work with the value cache. As far as I know, Zabbix already stores all the values in the ValueCache before writing them to the database, so we don't need to implement any new functionality here. We need to be able to use the Ductape JS Script items and preprocessing to:
Implementing this functionality would allow us to move to the next level of template building, greatly improve the performance of huge cloud templates by reducing requests and storing non-persistent data, provide flexibility with data flow, and reduce the amount of data required to be written to the database. I assume that existing ValueCache could be used for this purposes. Or a new one to:
Examples:
|