Ad Widget

Collapse

Sizing Zabbix instance

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jimmy82
    Junior Member
    • Jun 2025
    • 3

    #1

    Sizing Zabbix instance

    Hi everyone,
    I'm new to this forum and also new to Zabbix. It's great to be part of this community, and I imagine we'll be in touch quite a bit! :-)

    As a first post, I’d like to ask for some advice about server sizing.
    I'm coming from Spectrum and I'm now migrating everything over to Zabbix. We’re talking about roughly 300 switches, around 50 servers, and various other devices — probably around 500 hosts in total.

    I started with everything installed on a single server, using PostgreSQL with TimescaleDB. All network devices use SNMPv3.

    I’ve just started adding the first devices and already had to scale up to 16 vCPUs. I have a lot of items because the switches are using templates, and with all the ports, they generate a large number of items and triggers — though the numbers are still small compared to what I’ve read in other setups.
    Click image for larger version

Name:	image.png
Views:	162
Size:	21.8 KB
ID:	504028
    Do you have any suggestions?
    Would moving the DB to a separate server help? I don’t really need proxies from a technical standpoint, but I’m wondering if they could help with performance anyway. I definitely plan to optimize the default templates to avoid generating unnecessary items.

    Thanks in advance!
    ​BR
  • james589henry
    Junior Member
    • Jun 2025
    • 2

    #2
    Originally posted by Jimmy82
    Hi everyone,
    I'm new to this forum and also new to Zabbix. It's great to be part of this community, and I imagine we'll be in touch quite a bit! :-)

    As a first post, I’d like to ask for some advice about server sizing.
    I'm coming from Spectrum and I'm now migrating everything over to Zabbix. We’re talking about roughly 300 switches, around 50 servers, and various other devices — probably around 500 hosts in total.

    I started with everything installed on a single server, using PostgreSQL with TimescaleDB. All network devices use SNMPv3.

    I’ve just started adding the first devices and already had to scale up to 16 vCPUs. I have a lot of items because the switches are using templates, and with all the ports, they generate a large number of items and triggers — though the numbers are still small compared to what I’ve read in other setups.
    Click image for larger version  Name:	image.png Views:	10 Size:	21.8 KB ID:	504028
    Do you have any suggestions?
    Would moving the DB to a separate server help? I don’t really need proxies from a technical standpoint, but I’m wondering if they could help with performance anyway. I definitely plan to optimize the default templates to avoid generating unnecessary items.

    Thanks in advance!
    BR
    Hello Jimmy82,
    For Zabbix server sizing with 500 hosts, using PostgreSQL + TimescaleDB is a solid choice. Scaling to 16 vCPUs makes sense given the high number of SNMPv3 items and triggers. To optimize performance:
    1. Move the database to a separate server to reduce load.
    2. Tune PostgreSQL settings for better query efficiency.
    3. Consider Zabbix proxies to distribute SNMP polling.
    4. Optimize templates to avoid unnecessary items.

    Check out this Zabbix sizing discussion and TimescaleDB deployment guide for more insights. Let me know if you need further guidance!


    Best Regards,
    James Henry

    Comment

    • cyber
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Dec 2006
      • 4807

      #3
      Originally posted by james589henry
      Check out this Zabbix sizing discussion and TimescaleDB deployment guide for more insights.
      Which discussion? Which guide?

      Jimmy82 Split that installation up, add a proxy. Let server do the calculations, and proxy do the polling (one proxy with sqlite3 is OK for almost 1k nvps). Separate DB and frontend. I am pretty sure you can get away with 4 hosts with less than 16CPU in total. DB being the biggest of them probably...

      Comment

      • Jimmy82
        Junior Member
        • Jun 2025
        • 3

        #4
        Hi everybody, thanks for the feedbacks. SO basically you both suggest to use the proxy (even it I'm really in the scenario, like two different location) to split some work loads.james589henry which guide are you referring to? It would be interesting to read it to know also the sizing of the servers. If I would go for a solution for example for 3 Servers, Fronted, DB (PostgreSQL+Timescale) and one Proxy, size of HD, CPE and RAM suggested. cyber in a full composition I will have for sure more that 1k nvps, probably 2 or 3k. Which proxy should, tho one with PostgreSQL as well?

        BR
        Marco

        Comment

        • cyber
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • Dec 2006
          • 4807

          #5
          Until proven otherwise, I am quite sure that james589henry is somekind of chatgpt bot... Answer is not essentially wrong but style kind of pointst to that... re-phrasing original statements etc.. There has been a lot of similar ones around - name like "<name1><some numbers><name2>", resurrecting old threads etc..

          Sizing examples... installation with ~9k, nvps 13k hosts, 1.6M items, 855k triggers.. server host(s) 4 cpu-s 16G ram.. same size for proxies, but as we have corosync/pacemaker proxy cluster, it can handle running 2 proxies in one host... frontends 8cpu-s ad 8G .. DB (PG+TS) takes a bit more - 16cpu-s 128G RAM. Runs with load 4-6...load has gone down, maybe some code optimizations, maybe something else.... but I have seen it using all those cpu-s also.. DB is only one requiring disk space (depends how long you store data etc.. you can increase on the fly, if needed) .. others are pretty minimal.
          This setup survived also 13.5k nvps.. when some guys removed some filters and we got +50% of everything over the night..
          Proxy with sqlite3 manages with up to 1k nvps, easier to manage also, than to have separate DB-s for proxies etc.. if nvps gets higher, you can just add some more to spread the load..

          Comment

          Working...