I need to budget the server hosting Zabbix. It is possible to know the characteristics of the hosting of Zabbix considering that it is an AWS and that I can track many (thousands) hosts. Does anyone have any idea how to do it? Thank you
Ad Widget
Collapse
AWS infrastructure
Collapse
X
-
Hello there, I just made an account to answer this post so thanks!
Now to answer your question, I am currently monitoring ~55 AWS Hosts (quite a few being very noisy web servers) on a t2.medium.
We recently bumped it up from a t2.micro to a what we have now, skipping the small. That said, the only reason we bumped it up is due to us also running Grafana on top of it. Resource-wise it's sleeping unless you are doing VERY long historical data against the backend DB.
If you're tracking <1000 a t2.medium would definitely suffice. That said, the bottleneck is always going to be the DB.
One option, and it's one I'm currently debating as well but can't justify on our small infrastructure, is to have the DB be hosted outside of the Zabbix Server. It also makes pricing it out more flexible.
To recap our infrastructure:AWS t2.medium is running Zabbix Server:Number of hosts (enabled/disabled/templates) 108 58 / 5 / 45 Number of items (enabled/disabled/not supported) 2624 2450 / 92 / 82 Number of triggers (enabled/disabled [problem/ok]) 744 728 / 16 [33 / 695] Number of users (online) 16 2 Required server performance, new values per second 40.55
4GB Memory - 2vCPU with Burst
~55 Monitored Hosts
~100
10-15 Web Checks at a 10-30s interval
MySQL Server installed Locally on Zabbix Server
Costing aprox $34 Monthly using On Demand Pricing, drops down to about $18 if you lock into reserved instances.
Here's a couple budgetary tools that are very helpful in pricing these out:
The AWS Simple Monthly Calculator helps customers and prospects estimate their monthly AWS bill more efficiently. Using this tool, they can add, modify and remove services from their 'bill' and it will recalculate their estimated monthly charges automatically. The calculator also shows common customer samples and their usage, such as Disaster Recovery and Backup or Web Application.
-
Number of items or hosts is nor relevant.
Only relevant factor is "Required server performance, new values per second" AKA NVPS.http://uk.linkedin.com/pub/tomasz-k%...zko/6/940/430/
https://kloczek.wordpress.com/
zapish - Zabbix API SHell binding https://github.com/kloczek/zapish
My zabbix templates https://github.com/kloczek/zabbix-templatesComment
-
Ahoj
At the first time try think about items you will need to monitor.
If just server availability or some performance there or applications on them etc.
Try keep it so small number of them as possible.
Then you will need less budget for that.
And other thing is to build the monitoring server/s with possible scaling for example.
Zdenek
Comment
-
-
As much as you let it, I hate how much of Zabbix infrastructure is "It depends" but sadly that's the case. We have a few large production websites that we monitor and those usually make the most noise, they are neck-and-neck with our on-prem ESXi hosts.
The best recommendation is to make sure to disconnect the mentality, at least the mentality I had when I was a Splunk/ELK engineer, that anything that can be monitored will. You will end up useless/garbage data (do you really need to know how fast fans are spinning every 30 seconds or minute? Does it help to know a Tomcat app is garbage collecting X intervals?) sometimes it's easy to know what you need/don't need, but not always.
I digress, 55 AWS servers produces about 5GB of new data a week using default Linux OS template and Zabbix Agent Template
Comment
-
As much as you let it, I hate how much of Zabbix infrastructure is "It depends" but sadly that's the case. We have a few large production websites that we monitor and those usually make the most noise, they are neck-and-neck with our on-prem ESXi hosts.
The best recommendation is to make sure to disconnect the mentality, at least the mentality I had when I was a Splunk/ELK engineer, that anything that can be monitored will. You will end up useless/garbage data (do you really need to know how fast fans are spinning every 30 seconds or minute? Does it help to know a Tomcat app is garbage collecting X intervals?) sometimes it's easy to know what you need/don't need, but not always.
I digress, 55 AWS servers produces about 5GB of new data a week using default, though I believe I may have changed intervals from 30s to 1min on most items, Linux OS template and Zabbix Agent Template
Comment
-
I too hate the "it depends" answer, especially when what it depends on is number of hosts AND number of items per host, primarily. But then the question of how you define a host, and an item etc. comes into play, as different monitoring approaches monitor different items differently etc. It does get very crazy. Unfortunately, the many cries of "that doesn't matter, all that matters is performance requirements" doesn't help when you are new and don't know what your performance requirements are! So while I can't speak to your situation, nor can I give you solid numbers based on number of servers alone, I will give you what I have found to be a useful rule of thumb.
If you use the default templates in a default Zabbix install using Zabbix agents on the host (these assumptions are critical, as the numbers can change drastically when you customize anything), the numbers work out VERY ROUGHLY to about 75 items per host on average with a 1 minute polling interval for servers (Windows and Linux - Windows tends to be a little higher, Linux a little lower in item count). So given this, for 55 Servers you get (55 x 75) / 60 is your performance envelop (again this is VERY ROUGH, off the cuff calculations for a default install!!!). As a rule of thumb, this seems to consistently work out to somewhere between 10 and 15 VPS/Host, but again, that is a generalization and YMMV.
Please note, these experiences are ONLY for servers utilizing agents, and not for SNMP, Networking components, or the plethora of other monitoring possibilities Zabbix provides. I have only started scratching the surface of what I can do and how, let alone the impact and any potential generalizations from those differences, but when you don't know, you need to start somewhere - so my generalized recommendation from what I know is to use a rule of thumb of 15 VPS per server average (assuming it fits the model described) until you can get better numbers from an actual implementation.Comment
-
Under my current contract I just crated zabbix proxy in t2.micro instance (which is for free) and with standard 8GB of storage and only 1GB of RAM looks like is possible to organise zabbix proxy which easily is able to handle +1k NVPS with locally running MySQL as DB backend.
Free t2.micro instance can use up to 30GB storage and with that it should be possible to keep at least to 3-4K NVPS data buffered for 24h (which is max in case of not patched zabbix proxy) as long as it will be using active monitoring.http://uk.linkedin.com/pub/tomasz-k%...zko/6/940/430/
https://kloczek.wordpress.com/
zapish - Zabbix API SHell binding https://github.com/kloczek/zapish
My zabbix templates https://github.com/kloczek/zabbix-templatesComment
Comment