Monday, February 25, 2019

The “monitoring domains” idea


This one of the most important articles about the clustered Zabbix monitoring. It’s about common terminology and architecture.
When there is a classical server with a set of proxies, there is a strict host-> server or host -> proxy relation. This is done by setting the proxy attribute to a host in Zabbix configuration panels.
But when we have a cluster, then we would like to bound a host to a set of servers or proxies. And this is what “monitoring domains” for.
So, a “monitoring domain” is an identifier of set of proxies and servers which should be used to process a certain host.
A monitoring domain name may look just like an ordinary internet domain name “service.example.org” or you may use any kind of string which is valid for domain name like “server_farm1_major_hosts”, however the first one looks better.
Let’s look from a user’s perspective to “monitoring domains”.
Say, one got a server in the central office and two proxies in two branches.  

In a classic configuration this might be a server and two proxies.
Hosts from branch1 are bound to proxy1 just as hosts in the branch2 are set to be monitored from proxy in branch2. All hosts from central office doesn’t have a proxy set, so they are monitored directly by the server.
In a clustered architecture for such a case you would want to define three domains – central_office, branch1 and branch2. Since cluster is an option thenm, perhaps, there are reasons for making redundant structure.





So many scenarios are possible:
A conservative: or “just double it”:



A “progressive” one to make it really reliable



Hosts distribution
Having a cluster adds a complexity to administrator of making a decision how to distribute hosts between monitoring infrastructure. Sort of. A full detailed article about host distribution mechanic is coming but a few simple ideas by now:
  • It perfectly OK to not use domains at all, and let servers to distribute all hosts among them dynamically, this is good when all servers are near, and you don’t have any preference for host distribution
  • Since you might (and should) have more than one Zabbix server in setup, some proxies may be changed to servers
  • It’s better to use “monitoring domain” naming according to your organization and typology structure, so for the office-and-two-branches setup you might have:
    • – domain for primary location, say zabbix.loc
    • – subdomain for each branch named according to its geography: riga.zabbix.loc and tokio.zabbix.org
So, let me show a few pics how “monitoring domains” might be defined for the case a page before:



Again, it’s an administrator choice how to distribute hosts, and there are some really flexible and complicated scenarios are possible.

For now, look at the “branch2” server – its hosts are set to be monitored only by it’s server. What happens when the server2 go down?

The answer is: due to dynamical nature of cluster and the rule which defines that hosts with domains not supported by any server are evenly distributed among all servers in the cluster, the host will served by either branch1 server or server at central site.

That’s it for now. Full complexity of host to server and proxy assignment is coming.

1 comment:

  1. Slots with Real Money - Lucky Club
    Lucky Club, also called Casino.com, is the online luckyclub gambling site for all types of games. It offers slots, video poker, roulette and other

    ReplyDelete