Slurp'it - Network Inventory & Discovery Tool
I recently came across a neat tool called 'Slurp'it', a Network Inventory and Discovery solution. If you've been following my blog for a while, you know I just had to give it a try and share my findings with you. So, in this post, I'm going to quickly go over how to get it up and running, along with a few ways you might find it useful. Let's dive in.
What We Will Cover?
- What is Slurp'it?
- Licenses
- Installation and Setup
- Data Collection
- Custom Planning
- Some Use Cases
What is Slurp'it?
The official definition is "Slurp’it is a powerful and easy-to-use network discovery solution that offers 100% accurate network inventory. No coding required." Out of the box, the tool supports almost all the vendors (117 as of writing this)
In a nutshell, Slurp'it simplifies the whole process of understanding your network's inventory. All you need to do is provide the IP address or hostname of your devices, along with the login credentials. Slurp'it takes it from there. It executes various 'show' commands on your devices, usesTextFSM to parse the outputs, and finally presents you with a tidy table detailing everything it has discovered. It's straightforward yet effective, making network discovery a breeze.
Licenses
Slurp'it offers a free version that's quite generous. You can use it with unlimited devices, and it allows attribute discovery for up to 10 devices. This makes it a solid choice if you want to give it a go without any upfront investment. The free version gives you access to all of Slurp'it's functionality.
If you need a bit more, like an SLA or professional support, there are Professional and Enterprise editions available.
Installation and Setup
Getting Slurp'it up and running was very easy – I managed to get everything sorted in about 30 minutes. Slurp'it offers two straightforward installation methods. For those of you who already have a Docker environment set up, it's as simple as pulling the repository and using docker-compose to get everything going.
For the others, there's a pre-built OVA you can download and import directly into your hypervisor. It's worth mentioning that, even with the OVA, you'll still be using Docker. However, the VM comes with Docker and the necessary docker-compose files, so your job is pretty much to set up the IP and DNS, and you're good to go. I opted for the OVA method and found it quite smooth.
Here is the official installation guide if you want to follow along and install it in your environment.
Accessing the GUI
Once the installation is completed, you can access the gUI by visiting http://<ip_address>
When you log in for the first time, Slurp'it prompts you to add the SSH credentials it will use to access your network kit. If you're not ready to add them right away, no worries – you can always do it later. Plus, Slurp'it gives you the flexibility to add multiple sets of credentials and assign them to specific vendors.
I decided to put it to the test with the routers and switches in my lab. I headed over to the devices section, where it asks for the hostname/IP, device name, and type. I managed to add all of my 10 devices. It was straightforward and set the stage for the discovery process.
Planning & Task Scheduler
Inside Slurp'it, Planning is the section where you decide which commands to run for different types of network devices. It's loaded with various tasks that gather essential data points such as ARP tables, VLANs, and MAC addresses, among others. Slurp'it comes pre-built with basic Planning. (we will cover later on how to add custom Plannings)
Planning is associated to a Task Scheduler. This lets you run specific Planning at the times you choose, like every few hours or once a day.
If you want to run a check outside the scheduled times, you can simply select the device you're interested in and schedule a task to start collecting data right there and then.
Some Collected Data
After setting everything up and letting Slurp'it do its thing, I was able to pull up a variety of data from my lab's devices. Even though it's just a lab setup, the results were quite revealing. I could easily access ARP tables, route tables, and more. The tool presents the information in an organized way, which saves a lot of time and hassle.
If you're looking for information from a specific device, you can also filter by a device name.
Create Custom Planning
Slurp'it comes ready with a bunch of built-in parsers like CDP, LLDP, Mac Address, ARP, and more. That said, if you need to go beyond these, you've got options. With over 600+ TextFSM templates available in the ntc_templates repository, customizing your data collection is straightforward.
For instance, if you're keen on discovering OSPF neighbours, you can create a 'Planning' for that specific task right through the GUI. This involves creating a new 'Planning' and then setting up a "Task Scheduler" to run this task at intervals you choose.
Some Use Cases
A recent project of mine involved disabling wired ports assigned to a specific VLAN, with the aim of moving devices to WiFi. The challenge was that if a device struggled with WiFi connectivity, I would need to quickly re-enable its wired port. This would typically require me to manually runshow mac address table
on each switch way in advance, then copy the results into a text file for reference. In case of any issues, I'd have to comb through these files to find the relevant MAC address, identify the port, and switch it back on.
Slurp'it could have been useful for this scenario. You can set up a task to fetch the MAC address table from all your switches automatically. This not only saves time but also reduces the margin for error. Having that information readily available and easily searchable can make a huge difference when troubleshooting.
Wrapping Up
I've got to say, the Web GUI for Slurp'it is top-notch – a solid 10/10. It’s easy and intuitive with a clean minimal design. The setup process was also very straightforward.
There’s room for a few tweaks, though. I’d like to figure out how to associate different login credentials with specific devices – if anyone knows how, please let me know in the comments. And it’d be great if we could add devices by subnet in one go.
Next on my list is to try out their NetBox plugin and the REST API. Stay tuned for that, and don’t forget to subscribe to get those updates delivered to you.