With open source technology now in the mainstream, IT shops now have plenty of options for systems management. But IT administrators -- even those with open source skills -- agree that these tools have some significant drawbacks.
Today’s noncommercial options can automate day-to-day tasks and are potentially more flexible than proprietary software. But there are often hidden costs in using these tools. Mainly, they are known for having poor documentation, they lack intuitive user interfaces and their long-term viability is unclear.
For many large companies, the historical default for data center automation and management has been the big management suites from Hewlett-Packard, IBM, CA, Microsoft and others. But these frameworks and software suites are expensive, proprietary and often complicated to install and use.
While the open source alternatives can reduce interoperability and lock-in issues and bring greater flexibility, the aforementioned tradeoffs often limit their value. For resourceful administrators that seek alternatives to the usual commercial suspects, however, open source tools may bring a welcome change.
Top open source automation tools
When it comes to large systems configuration software Puppet has its supporters. Puppet automates the provisioning, patching, and configuration of operating system and application components throughout the data center. Though system administrators have said that Puppet is not easy to step into, once it’s running, it saves a lot of hassle.
Stephan McNally, a high-performance computing systems administrator at the National Institute for Computer Science, uses Puppet on roughly 160 servers at the facility.
“The ability to make a change in one place and push it across the entire system saves us a lot of time,” McNally said. “Puppet also allows us to standardize the infrastructure and have it run without problems popping up on single servers.”
Puppet posed the steepest learning curve but the fastest ‘aha’ moment, said James Elwood, a systems administrator at Geezeo, a provider of online financial management systems. “As soon as the concept of Puppet clicks, it’s easy to get going,” he said.
Elwood and McNally both use community-maintained wikis and forums as a support resource. But the steep learning curve isn’t the only obstacle in using Puppet, say IT pros. It may involve extra work, too.
“The downside to Puppet is that it requires that I put Ruby [an open source Web application framework] on all my servers,” said David Zendzian, the co-founder of ZZ Servers, a hosted-network provider. “It’s not that I don’t trust Ruby; it’s just one more thing I have to install.”
For this reason, Zendzian prefers Cfengine. Created in 1993 and rewritten in 2007, Cfengine is an automation framework for system administration or IT management. Its longevity has allowed it to assemble a host of loyal user and boasts an estimated 5,000 enterprise data centers with more than one million machines.
“We don’t want to have to install a bunch of other things to use Cfengine,” said Zendzian, who currently runs a free version of the software.
Top open source monitoring tools
In addition to systems management suites, specific open source technologies are available for systems monitoring and other tasks.
Nagios leads in the systems monitoring realm. “Nagios seems to be most well-established for small platforms,” said Quentin Hartman, a telecommunications software specialist at the University of Oregon. Like many IT pros, he said that the commercial alternatives from Hewlett-Packard, IBM and Cisco Systems are just too expensive.
But Nagios has drawbacks, mainly its ancient Web interface.
“Nagios’ Web interface hasn’t really improved since 1998,” said Dean Hall, the owner of fooMG, a Web hosting company. “I was a longtime Nagios user, but it seems that the open source world has yet to grasp the idea of user experience.”
“I was a longtime Nagios user, but … the open source world has yet to grasp the idea of user experience.” -- Dean Hall, owner fooMG
Hall switched to Zabbix, which has a better user interface. ZZ Servers’ Zendzian also prefers Zabbix over Nagios.
“Zabbix is really built to be an open source development management tool, but it’s not as easy as Nagios.” Zendzian said. “There’s a great Zabbix API [application programming interface]. You can integrate the logging and monitoring and then pull the graphs and tables right into your application from the cloud.”
One of the advantages to using open source is that people can make things better, even if they have to “fork” and create something new. Albertson uses Nagios at the OSU Open Source Lab, but then a Nagios fork called Icinga, caught his attention.
“Icinga looks a lot better and has a lot of features I know we need, and other people rave about it,” said Albertson. (For more, see this side-by-side comparison of Icinga’s features vs Nagios.)
James Pulver, an IT area supervisor at Cornell University’s Laboratory for Elementary-Particle Physics Computer Group uses Zenoss, another popular monitoring tool which monitors, analyzes and automates IT services. Pulver said he researched different tools including Nagios, OpenNMS and Hyperic when he needed to monitor some 120 devices at the university.
His final analysis? Compared with Nagios, Zenoss is faster for users to set up on their systems. Also, it’s agentless in that it doesn’t require a user to install special software on every server.
Zenoss also has a more polished user interface, which is an improvement over Nagios.
Management tools lack documentation
For many, the lack of documentation for open source systems management tools -- compared with their commercial rivals -- is a common gripe. Some open source-backed projects lack case studies and user examples. Rather, the projects often imply that the tools are a snap to use, which is not helpful for most system administrators who try to install a tool on their own.
“As a Windows system administrator, when we proposed open source tools, we hit that barrier with our bosses: ‘Open source isn’t well-documented,’” Geezeo’s Elwood said.
“If you’re going to propose something new, there needs to be something to make people feel comfortable in the first couple of pages of the documentation,” Elwood added. “I wish all open source tools had more tutorials, like How to Forge offers. But a lot of the documentation falls into the man-pages [manual pages] trap: ‘Here’s the features we offer, and here’s the absolute bare-bones example.’”
But the lack of documentation isn’t limited to open source projects.
“We fought some battles with some products recently that aren’t necessarily open source, and their documentation wasn’t up to par,” said McNally. “And we’re running supercomputers. If we can’t figure it out, how is anyone going to figure it out?”
Tools of the trade
IT admin like to do things their own way. Several Linux administrators reveal their favorite open source systems management tools below.
Quentin Hartman’s tool picks:
NetDot: a tool that helps network administrators collect, organize and maintain network documentation.
NagiosGraph: a tool that parses output and performance data from Nagios plug-ins, stores the data in RRD -- an open source industry standard -- files, and creates graphs and reports from the data.
RT: a tool that tracks bugs, creates help desk tickets, establishes workflow processes and change management, performs network operations, and so on.
Ganeti Web Manager (GWM): a Django-based Web application that connects to the Ganeti Remote API, a tool that allows Ganeti administrators access to the various common tasks along with incorporating a permission system.
GNU Screen: a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells Marionette Collective (mcollective): a framework to build server orchestration or parallel job execution systems that allows users to interact with small to very large clusters of servers.
Munin: a networked resource monitoring graphing tool that analyzes resource trends and problems.
James Pulver’s tool picks:
Netdisco: a Web-based network management tool.
Open Computer and Software Inventory Next Generation (ocsng): an automated inventory and package deployment system.
GLPI: an information resource manager with an additional administration interface. It maintains a precise inventory of all the technical resources in your network, storing all their characteristics in a database. It also manages and stores the history of the maintenance actions and bound procedures.
James Elwood’s tool picks:
Monit: a utility for managing and monitoring, processes, files, directories and file systems on Unix-like systems.
Syslog-ng: a system logging and log processing tool.
Dean Hall tool picks:
Cacti: network graphing solution.
David Zendzian’s tool picks:
Firewall Builder: a tool that supports graphical user interface-based firewall policy configuration and management. BigBlueButton: an open source Web conferencing solution.
Other tools that systems administrators have trialed or would like to try:
Chef: an open source systems integration framework offering configuration management. When a new server comes online, Chef assigns a server’s role in your architecture.
Splunk: a tool that collects indexes and harnesses all the fast-moving machine data from applications, servers and devices—physical, virtual, and cloud based.
Webmin: a Web-based interface for system administration of Unix-like systems.