Simple Network Management Protocol (SNMP) is one of those standards that is implemented almost everywhere but ignored by almost everybody. While there are more sophisticated methods available for monitoring and managing network performance, SNMP survives partly because it remains the main option supported in many pieces of specialised networking hardware.
Network setup picture from Shutterstock
During the server administration mini-conference at Linux.conf.au in Canberra yesterday, which I''m attending as part of our World Of Servers coverage, the topic of whether SNMP was still relevant took centre stage. Nick Clifford, who works for New Zealand telco CallPlus, argued that while SNMP had limitations and is often ignored on general networks in favour of more sophisticated management platforms, the fact it was supported in so many devices, especially in more complex networking environments involving voice and data, meant that it still had a role to play. "SNMP survives as the lowest common denominator," he said.
Not everyone was persuaded even by this limited-scale argument. "SNMP is just plain bad at this point," said Devdas Bhagat, a systems administrator for booking.com, in another presentation on the day.
The origins of SNMP date back to the early 1990s, though it was only with version 3 that a system offering even rudimentary security was implemented. That means caution is advised when using outside of closed internal networks, which are relatively rare these days. "If you're doing your monitoring over the internet or an untrusted network, you will have a bad time," Clifford said.
Implementation is also complex, with devices identified using the complex numerically-based management information base (MIB) approach. "MIBs are like a recipe book written in a foreign language," Clifford noted. "MIB files which vendors generate for their equipment are badly done. Sometimes they won't even parse."
Performance on older SNMP-supporting devices is often poor. "That network switch you're running, it's a Pentium 1 if you're lucky. And that's where SNMP is," Clifford said. For that reason, he advises against testing new monitoring solutions on live networks. "Don't explore production devices. Do it in the lab."
The age of the protocol does mean it is widely supported, but often disabled by default. This is the case in most recent Windows Server releases; SNMP support is available but you have to enable it. Linux often includes it but Clifford noted that the default implementation is particularly poor, lacking any threading support and hanging if devices don't respond.
Why hasn't the protocol improved and evolved faster? "The short answer is monitoring isn't sexy," Clifford said. "Monitoring is a sinkhole of money and time."
Is there a happy ending in sight? Not necessarily. As Bhagat put it: "All the available solutions suck. They all suck differently, and they all suck horribly." But SNMP hasn't sucked itself into oblivion just yet.
Lifehacker's World Of Servers sees me travelling to conferences around Australia and around the globe in search of fresh insights into how server and infrastructure deployment is changing in the cloud era. This week, I'm in Canberra for Linux.conf.au, paying particular attention to the server administration mini-conference and sessions on virtualisation and best practice.