[ZBX-10016] No need to store host connection details in server configuration cache if the host is monitored by proxy Created: 2015 Oct 28 Updated: 2019 Dec 10 |
|
Status: | Open |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Server (S) |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Incident report | Priority: | Trivial |
Reporter: | Glebs Ivanovskis (Inactive) | Assignee: | Unassigned |
Resolution: | Unresolved | Votes: | 0 |
Labels: | cache, cachesize, memory, proxy | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Description |
Seems like we can save up some space in server configuration cache by not loading there some of the information about hosts monitored by proxies. Since server does not connect directly to these hosts there is no need to store respective host interfaces and encryption settings in server configuration cache. This is related to (78) of |
Comments |
Comment by Andris Mednis [ 2015 Oct 28 ] |
Server escalator process may connect directly to hosts monitored via proxies if remote commands are configured to run on hosts agents. But in this case connection details for host are fetched from DB, not from server configuration cache. (There is |
Comment by Oleksii Zagorskyi [ 2015 Oct 29 ] |
Take a look to https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300#performance_improvements1
It we will not include the connection data to configuration cache - it will break the improvement. |
Comment by Marc [ 2015 Oct 29 ] |
ZBXNEXT-1285 might need to remain that information on Zabbix server too. |
Comment by Glebs Ivanovskis (Inactive) [ 2015 Oct 29 ] |
Thank you all for the comments! Of course, more thorough investigation is needed before we proceed with this idea and maybe it is not a good idea at all. Regarding active proxy configuration... Here are two places where configuration data is sent to proxies (I would imagine one is for active and the other is for passive proxies): $ grep -r "sending configuration data to proxy" src/zabbix_server/trapper/proxyconfig.c: zabbix_log(LOG_LEVEL_WARNING, "sending configuration data to proxy \"%s\" at \"%s\", datalen " ZBX_FS_SIZE_T, src/zabbix_server/proxypoller/proxypoller.c: zabbix_log(LOG_LEVEL_WARNING, "sending configuration data to proxy \"%s\" at \"%s\"," Same function is called in both cases: $ grep -r "get_proxyconfig_data" src/libs/zbxdbhigh/proxy.c:int get_proxyconfig_data(zbx_uint64_t proxy_hostid, struct zbx_json *j, char **error) src/zabbix_server/trapper/proxyconfig.c: if (SUCCEED != get_proxyconfig_data(proxy_hostid, &j, &error)) src/zabbix_server/proxypoller/proxypoller.c: if (SUCCEED != (ret = get_proxyconfig_data(proxy.hostid, &j, &error))) include/proxy.h:int get_proxyconfig_data(zbx_uint64_t proxy_hostid, struct zbx_json *j, char **error); Function get_proxyconfig_data() then calls get_proxy_monitored_hosts() which in turn calls DBselect(). Apparently, large part of this issue is out of my scope. Much more time needed to grasp all the details. |