|
|
|
|
|
by maxhq
3482 days ago
|
|
> You can't just start collecting data about servers as they get installed and about services and resources as they emerge and disappear. You can do that in Zabbix, it has two functions to discover hosts (called "network discovery") or "features" like running services or e.g. switch ports (called "low level discovery") and apply templates based on certain query results (open ports, SNMP values etc.).
Alerting the lack of new incoming data is also possible.
I used Zabbix a lot until a year ago and liked it much more than Nagios+descendants. |
|
This architecture results in much longer feedback loop, [object to be monitored -> discovery -> config -> collection engine -> probe -> object's state -> storage] vs. [object to be monitored -> probe -> object's state -> storage]. And you have to move requests/network packets back and forth just to collect the usage for each CPU on a machine separately (or NICs usage, or filesystem usage, or VM/LXC guests, or Apache/nginx vhosts, or...), because the knowledge what objects are there to monitor is on the monitored host's side, not on the monitoring system's side.
And you're limited to whatever resources this predefined discovery mechanism supports. You can't easily write your own probe that discovers things on its own.
And on top of that, discovery mechanism doesn't allow temporary, ad-hoc defined things to be monitored. You can't imagine how often I set a screen with a shell loop to collect a metric or watch state for this one particular process I was debugging:
Why not chart that from a monitoring system? Why not display its state on a dashboard? Why not alert in regular way?