I have been administering servers and clients in small business offices, and have never used SNMP. But I have read about it and it looks interesting. As what I understand, it is mostly useful if you have a bigger network with a lot of network equipment that should be monitored.
Is there any useful use cases for SNMP in smaller networks? And is it recommended that I use it?
We currently use Cacti with SNMP to monitor our servers and network, and it is invaluable.
With SNMP, we get automatic host availability notification, so that if a server or firewall fails, it doesn't go unnoticed.
It allows us historical tracking of both performance, and in the case of servers, storage utilization. We can then identify potential upgrades, or re-allocation of resources when necessary.
It also gives us the ability to make pretty maps of our network utilization, to identify when and where there is a problem (using Cacti and Weathermap):
The more knowledge you have about your infrastructure, the better decisions you can make.
Sure! Smaller networks often have servers, switches, and routers just like bigger ones. Combined with the right tools, SNMP can be very useful for trending performance for the long term as well as alerting on certain conditions.
Take a look at tools like Cacti and OpenNMS to see what possibilities are available to you.
IMHO, it's not a matter of network size. Either in big networks or in smaller ones, you need monitoring and in my opinion SNMP is the best tool for the job.
It has 5 main advantages in my opinion:
It's a Standard - it's the industry standard for monitoring. Most hw vendors support SNMP through their MIBs, so you can easily collect specific values and monitor them.
It's Cross-platform - works in *nix, Windows, Mac and every OS you can remember.
It's lightweight - ideally monitoring should be "agentless", but that would be in a perfect world and there's no such thing :) SNMP agents are very light and put no load in the servers.
It's extensible - you can extend SNMP agents with your own scripts very easily.
Two birds, one stone - you can use SNMP bot in monitoring tools (like Nagios) or in data collecting tools (like Cacti).
HTH.
I have a relatively small network and I find SNMP very useful. For one thing, it's a unified protocol that almost any business grade network device supports. So it becomes trivial to monitor all your devices from one spot.
I personally use zabbix to monitor all my network equipment. It's relatively easy to setup and feature rich.
I may be slightly biased, but I'd suggest avoiding it. I recently made an application capable of sending SNMP Traps (anything else would call them alerts) and discovered it to be a horrible beast.
It may be usable if you have networking gear that supports it natively. If you're wanting to monitor servers, I'd suggest looking into Nagios (never quite got it working myself, but it's fairly popular and open source) or something even simpler like Munin.