Network Inventory Automation

Hi all!

This isn’t specifically related to Icinga, but I am wondering how other people have handled this.

We’ve automated remote satellite installs, and Windows/Linux installs, but network device inventory and asset details is a major problem for us currently.

We don’t have an existing system, and our NOC are finding Icinga difficult to use without some kind of auto-discovery feature. Whilst I agree this isn’t a problem with Icinga specifically as our inventory problems exist regardless of whether we used Icinga or any other platform, I am wondering how other people have tackled this.

We manage a large client base across many sites with different configurations and conventions - we’ve grown exponentially and our config management is non existent (some manual documentation in a the internal Wiki) and existing monitoring lacks a lot of features other business units need (reporting, etc).

We’re talking hundreds of WAPs, switches, plenty of routers/firewalls/CPE devices.

One of the biggest concerns from the NOC is knowing what network interfaces we should be monitoring - currently, we just grab everything, but because we don’t have the important interfaces (trunks, uplinks, etc) in any format at all.

It’s difficult for the NOC to use Icinga because we don’t know what’s important, but without any kind of auto discovery it makes the job significantly harder, so we just grab everything we can see, but then that becomes information overload.

I have been reading different approaches and I am looking at forking some of the auto-discovery code from LibreNMS and adapting it to our needs, but that would take some significant engineering work.

I’ve also floated the idea of using Netbox as an inventory/CMDB/source of truth and syncing with Icinga, but again, no host/service auto-discovery.

I’m honestly against the use of auto-discovery because it will leave a margin of error and I think we’re addressing the symptoms and not the cause, but my team are losing faith in our Icinga + OpenTSDB + Grafana stack.

They are currently between using PRTG (which has decent auto-discovery and a nice UI for adding network interface monitoring via SNMP and I think that’s the main feature lacking for us).

Our NOC does not have any kind of automation tools nor does the team that implements new hardware, but they’re considering dropping Icinga from their toolset.

I’m at a bit of a loose end.

Thoughts/ideas/sympathy? :stuck_out_tongue:


I’m going to mark this as resolved as @dnsmichi and I had a lengthy discussion around ways to solve this problem on Twitter.

This isn’t a problem with Icinga and more a problem with my internal processes.

We are going to look at implementing Netbox and use this as a single source of truth - how we populate this is up for debate but one step at a time.

This is our new version of the netbox importer. Its pretty simple, and should be easy to modify if you need more fields etc.
We tend to populate netbox with whatever you have already, and then enrich it with more truth using ansible. Happy to help with any of this.


its also possible to use the icinga director and his import feature. You can plan autoruns there. We importing (add/remove/modify) our network devices with it via a sql query from a database where new devices are added. We also import vms from vSphere that way.