Hey All,
In my few years as a professional sysadmin, I've had some trouble settling on a monitoring system because I believed there had to be an all-in-one solution - so I've tried them all. Truth is, there really isn't ONE that will work for everything (and if you think there is, you don't have enough monitoring - AND THERE'S NEVER ENOUGH!!). Where one tool might provide a solid core for all your important checks, the performance graphing might be lacking. What if I need a distributed/centralized architecture? How well does it scale?
Anyways, I've recently begun switching the "core" of our monitoring to Icinga2 (+ Sensu/Grafana) because Icinga2 will scale better, play nice with distributed zones, icingaweb2 is lightweight and IMHO a much less cluttered interface than Nagios, and it leaves a lot of room for customization like it's maker Nagios. One thing that has always bothered me about Nagios (even XI did not do it well) is that it was kind of a pain to discover and generate host configs. A network discovery/sweep is especially helpful when a new site comes up and a few devices pull a DHCP address. What's the best/fastest way to run a quick sweep and collect some basic info so I know what these devices are?
Long story short, I spent the day yesterday writing this tool to make auto-discovery and host configuration a little easier with hopes of integrating it into the Nagios/Icinga2 frontend at some point. It uses nmap and SNMP to do a ping sweep and gather some basic information about the devices it found in an attempt to classify them. I'm posting here mostly to see how others have dealt with this issue and if I'm wasting my time trying to reinvent the wheel. I've added a lot of customizations for my own environment into the script (which I did not put on Github) so a big improvement would be to make this utility more universal (maybe a config file or more options).
Repo: https://github.com/hobbsh/icinga-autod
Any criticism, comments, suggestions, hatemail - fire away.
[link][3 comments]