[ZBXNEXT-5911] Automatically distribute hosts between proxies Created: 2020 Apr 23 Updated: 2024 Sep 02 Resolved: 2024 Sep 02 |
|
Status: | Closed |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | Frontend (F), Proxy (P), Server (S) |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | New Feature Request | Priority: | Minor |
Reporter: | Alexey Pustovalov | Assignee: | Valdis Murzins |
Resolution: | Duplicate | Votes: | 95 |
Labels: | backup, cloud, load, proxy | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Attachments: |
![]() |
||||||||||||||||||||
Issue Links: |
|
Description |
It would be great to have an action for unavailable proxies to switch hosts monitored by these proxies to other proxies. For example: In this case we can say the proxy after it became available, your hosts currently under monitoring by different proxy(ies) - remove your historical data if you have something to send. The feature could be very useful in Cloud environments along with proxies auto-registration. |
Comments |
Comment by Aigars Kadikis [ 2020 Apr 24 ] |
This is good for SNMP polling and agent passive checks. What about Zabbix agent active checks and agent-autoregistration? |
Comment by Glebs Ivanovskis [ 2020 Apr 25 ] |
Sounds a bit like ZBXNEXT-2963. Zabbix proxy is often advertised as a way to do "distributed monitoring", but it is not really a distributed system if you need a human in the loop to do "distributing". I would replace "proxy" in the Description with "Zabbix server node". |
Comment by user185953 [ 2023 Jun 09 ] |
I wish a proxy could also signal the server "I am going down, please assign my work to somebody else" so there is no gap in my data. PS: I suggest changing we can say the proxy after it became available: Your hosts currently under monitoring by different proxy(ies) - remove your historical data if you have something to send. to Your hosts are monitored by different proxy(ies) since 2023-06-09T07:35:50.000Z - please send whatever you have up to this date, but you may forget the rest.
|
Comment by Julien Leboeuf [ 2023 Jun 20 ] |
Actually, it is already possible to achieve automatic failover from one proxy to another, but you need something like an haproxy between agent and proxies (I use that method since 6/7 years). The drawback is that you no longer have any control on which proxy you want for your host, it's haproxy that chooses it for you – you can change it from zabbix UI but it will change back after a short while. And, it only works with hosts with zabbix-agent (and active checks)
Anyway, I look forward to the future native failover function |
Comment by Nathan Liefting [ 2023 Oct 05 ] |
6. Weight of proxies to choose the best one, for example, with minimal load. One thing to keep in mind is that proxies might be in different (further away) location, but still be part of the same pool. It should be possible to add our own weight as well, so we can state which proxies out of the pool to prefer. This is to keep things like timeout settings to a minimum per proxy. This will be important for performance and maintenance/upkeep cost. |
Comment by atpk [ 2023 Oct 18 ] |
Hi, I would like to add some of my inputs/design ideas for this proxy ha feature: 1) Unlike the server ha behaviour (server processes started upon timeout/failover), the proxy processes should always run in all proxy servers of the pool. 2) The agents should always be in active mode and send data to all proxies. 3) The primary proxy must be determined by zabbix server (do whatever logic needed here for electing proxy from pool). Only primary proxy should send collected data to zabbix server, standby proxies should discard received data. LLDs and passive checks should be run by the primary proxy server elected by zabbix server. Active check refreshes will also needs to be handled by primary proxy elected by zabbix server. 4) Zabbix server (frontend) should have option to define timeout for electing new proxy from the pool (example: 10 seconds). All the proxy servers in the pool should store defined timeout old data (example: only discard data older than 10 seconds) and forward this data to zabbix server when it becomes primary proxy. This is to ensure no data loss. 5) For multi DC environments, the zabbix server (frontend) should have an option for defining proxy pools/groups for each DC environment. 6) The frontend needs relevant changes like support for multi DC environments. There should be a facility to segregate and display hosts based on DC environments (do not club all hosts in all environments into one single view). The problems view should be equipped with relevant DC filters as well. I believe this makes a true proxy ha. Please improvise/add more detail if you feel I missed something. |
Comment by Alexei Vladishev [ 2023 Nov 16 ] |
We are very close to the final design of Proxy HA and load balancing. There are just a few minor technical issues that need to be resolved before v1.0 of the document. We need approximately a week to finalise the design. I will share it here once ready so we all can get a better understanding how it will work. And of course any feedback is highly appreciated! |
Comment by Dimitri Bellini [ 2023 Nov 16 ] |
@Alexei Great news! I will check it as soon as you will publish the first draft |
Comment by krishan [ 2023 Dec 17 ] |
@Alexei by when this feature is planned to be made live in alpha release |
Comment by Alexei Vladishev [ 2023 Dec 18 ] |
[email protected] , it will be ready when it is ready, then we will release it in one of the alpha releases. The design is about to be finalized now and I think that the functionality will be ready for test use in mid-February. |
Comment by songxwn [ 2024 Feb 08 ] |
Looking forward to the launch of this feature |
Comment by songxwn [ 2024 Mar 23 ] |
May I ask which specific version implements it? |
Comment by Alexei Vladishev [ 2024 Mar 25 ] |
songxwn, It is coming in 7.0.0. First preview of this functionality will likely be available in 7.0.0beta3. |
Comment by Jaroslav Vrbicky [ 2024 Apr 18 ] |
Looks like it is not mentioned in 7.0.0beta3 release notes. What's the current status, please ? |
Comment by Alexei Vladishev [ 2024 Apr 18 ] |
jvrbicky , this functionality is coming in 7.0.0RC1, most likely at the very beginning of May. |
Comment by Dimitri Bellini [ 2024 Apr 18 ] |
Great news, Thanks Alexei! |
Comment by Oleksii Zagorskyi [ 2024 Sep 02 ] |
Closed as duplicate of |