Ad Widget

Collapse

Large scale deployment + maintenance

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • cs-cam
    Junior Member
    • Jan 2011
    • 2

    #1

    Large scale deployment + maintenance

    I'm currently looking at Zabbix for a large scale deployment, I've done some testing but haven't come up with the results I was hoping for. I'd like to ask for some feedback before I begin looking elsewhere.

    We're currently using Nagios to monitor ~1500 hosts with ~13k services. The issue is that the hosts and services are constantly changing. We have a few scripts that run nightly and pull the details out of a database, generate the Nagios config and reload the daemon. I need to be able to do the same with Zabbix.

    I've written a basic Perl script that pulls the host data from our DB, generates the required SQL to update the Zabbix DB and commit. This seems to work, the devices show up and are monitored but this is as far as I've gotten. Zabbix begins to spaz out if I do this a few times and breaks when I try to add hosts manually (also a requirement) as it tries to assign an ID that's already in use? Seems like I'm either not doing it correctly or the database integrity checks are failing/not implemented in the Zabbix code somewhere.

    Does anyone have a better way to keep a large number of regularly changing hosts accurate? Flat-file config would nice but I can deal with a DB as long as I can modify it easily, I don't really want to be messing with XML imports. Is anyone using Zabbix in a deployment of this size and dynamics and if so, how are you handling it?

    FWIW I've done some searching on these forums but haven't found anything recent and useful.

    Thanks
  • danrog
    Senior Member
    • Sep 2009
    • 164

    #2
    There is a separate IDs table I think that tracks the next available ID to take which I believe is the problem with your scripts. With that said, there is an API for just this sort of thing. We make heavy use of it (automated mount point discovery [now defunct with 2.0 coming], dependancy updates, item disable/enable, trigger updates and host modifications) and works very nicely. Combine this with network discovery and discovery actions and you have a fully automated solution. It's a JSON interface and there are some wrappers for PHP, python and ruby on the forum that makes API integration a snap. We use the PHP version only because I don't know ruby yet and never got into python (but that is changing). Our environment consists of ~1200 agents, ~300 SNMP hosts, ~200 hosts sending in SNMP traps and ~150 URLs all managed by 4 proxies and the master server.

    Comment

    • untergeek
      Senior Member
      Zabbix Certified Specialist
      • Jun 2009
      • 512

      #3
      How rapid are your changes?

      Have you considered simply configuring Discovery to make changes as they're detected?

      e.g. Link/Unlink templates, add/remove hosts, etc.

      Comment

      • cs-cam
        Junior Member
        • Jan 2011
        • 2

        #4
        Thanks for the replies, both have given me something to consider.

        I'll look into the API, that'll probably be the best way to go about it. Our changes aren't spectacularly rapid (maybe a couple per day) but these are all SNMP clients and so setting up autodiscovery doesn't seem doable for interfaces etc.

        Comment

        Working...