Scaling Zabbix Proxies

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Scaling Zabbix Proxies

    Hi Guys

    We are looking to deploy Zabbix into our large environment and we will need the ability to scale the number of proxies we deploy and load balance them, we are aware of technologies such as F5, HAPROXY and NGINX but wondered if anyone had any best practice or experience in doing this as there is very little if nothing out there.


    #2
    Zabbix proxy service cannot be scaled horizontally.
    If you are using LB with some HA infrastructure + some VMs you can them to organize auto scaling groups with number of hosts in group = 1 to kill one proxy if it will die and start next one ASAP out of some base image.
    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-templates

    Comment


      #3
      Originally posted by steveroebuck View Post
      Hi Guys

      We are looking to deploy Zabbix into our large environment and we will need the ability to scale the number of proxies we deploy and load balance them, we are aware of technologies such as F5, HAPROXY and NGINX but wondered if anyone had any best practice or experience in doing this as there is very little if nothing out there.
      For example, my use case from previuos work:
      1. CentOS 6 kickstart + chef solo, Zabbix Proxy with sqlite backend in memory tmpfs (up to 1500 nvps/5000 hosts);
      2. LLDP network topology on servers and network hardware + custom script: recalculate topology -> change by Puppet/Chef host to proxy assignment by datacenter/rack/city/etc. location;

      Comment


        #4
        Originally posted by kernbug View Post

        For example, my use case from previuos work:
        1. CentOS 6 kickstart + chef solo, Zabbix Proxy with sqlite backend in memory tmpfs (up to 1500 nvps/5000 hosts);
        2. LLDP network topology on servers and network hardware + custom script: recalculate topology -> change by Puppet/Chef host to proxy assignment by datacenter/rack/city/etc. location;
        I would recommend on such scale switching from sqlite to mysql (even with minimal 256MB innodb memory pool)
        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-templates

        Comment


          #5
          Originally posted by kloczek View Post

          I would recommend on such scale switching from sqlite to mysql (even with minimal 256MB innodb memory pool)
          kloczek, why? For 5 years there were no problems with sqlite. Simple, fast, maintenance free.

          Comment


            #6
            Originally posted by kernbug View Post

            kloczek, why? For 5 years there were no problems with sqlite. Simple, fast, maintenance free.
            In case sqlite even single record insert/update/delete causes whole sqlite file rewrite.
            I know that in your case you are using memory but te same way you can use instead innodb just memory engine.
            In both cases (with innodb and memory engine) it will be way lower memory or storage IO/bytes bandwidth.

            BTW. IMO it wold be good if zabbix will have implemented automatic partitioning on the proxy db backend.
            Effectively on the proxy needs to be partitioned proxy_history table only and in case of sqlite it could be done by simple create every hour whole database file. Delete of oldest data could be done in such model by simple delete oldest sqlite file. This automatically improve proxy speed with sqlite db backend as always would be rewritten max last hour data.
            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-templates

            Comment


              #7
              Originally posted by kloczek View Post
              use instead innodb just memory engine.
              In both cases (with innodb and memory engine) it will be way lower memory or storage IO/bytes bandwidth.
              Agree with you, it will be more correct.



              Comment

              Announcement

              Collapse
              No announcement yet.
              Working...
              X