Network Monitoring Agents
“Software is eating the world,” yet “hardware is the new software.” The former doesn’t contradict the latter, but these two statements highlight how the distinction between software and hardware is becoming blurrier and blurrier. In the context of network monitoring, you can find tools that utilize one or both types of agents.
Most often agents are deployed around a network to implement some type of distributed end-user monitoring. In this blog post, I will discuss the major pros and cons of software and hardware agents in the context of network monitoring. In a related post I talked about distributed network monitoring. Here, I‘ll try to answer the question of which type of agent to use when considering installation, cost, control, and maintenance of hardware vs. software.
Comparison Hardware versus Software Agents
Installation: If there is an available workstation or VM environment at every monitoring location, then the installation might be pretty straightforward and doable remotely.However, this is not always the case. For example, retail stores usually have only a point of sales system and nothing else in terms of infrastructure. A hardware agent is at a disadvantage in that it requires physical installation, but if the process is plug-and-play, then it has the benefit of being deployable anywhere without many restrictions. In addition, at companies with big and complex infrastructure, the networking and application groups might be separate entities. If the networking group has to go through the application group to deploy and manage their monitoring agents, then this might create friction and delays.
Cost: If the agent doesn’t require any specialized hardware then a software agent can be replicated and installed anywhere at a cost close to zero. However, recently released single-board computers, such as the Raspberry Pi, Intel’s Galileo, or the Beaglebone, cost less than $100 and can be excellent platforms as long as their specifications meet the requirements. If the agent requires specialized hardware or has high CPU and network demands then a dedicated workstation or custom-designed hardware might be necessary.
Control: Software agents installed on dedicated platforms (virtual or hardware) are under the full control of the network engineer. This is the best case and most desirable scenario. But what happens when an agent is deployed on an end-user machine and the user either shuts it down or is running a CPU-intensive application that is competing for resources with the monitoring agent? The network engineer would have to guess if the monitoring data are correct or skewed due to factors beyond his control. The last thing you want during troubleshooting is to lose the monitoring agent you are relying on.
Maintenance/Upgrades: Both hardware and software agents need maintenance (updates, resource monitoring, and platform health) and upgrades. For hardware there is no significant difference. Regardless, whether the agent runs on dedicated hardware or not, you still need to update the OS of the host platform, the version of the agent, and monitor the free hard drive space or whether there is too much memory swapping. In both cases, it is important to perform these tasks in a way that doesn’t burden the network engineer. Especially if there are hundreds of monitoring agents. If it becomes necessary to upgrade the specifications of the platform on which the agents are running (memory, processors, HD, interfaces), then hardware agents would need a physical upgrade. Software agents running on end-user machines would require either the hardware upgrade of the end-user machine or finding another machine that meets the specifications. Finally, VM agent upgrades might be the easiest ones, since somebody would just need to reprovision the VM to the new specifications.
The following table summarizes the comparison between software and hardware agents:
|Installation||+ can be installed anywhere
– physical installation
|+ software installation
– cannot be installed anywhere
|Cost||+ HW cost is diminishing
– HW cost needs to be accounted
|+ very low cost
– specs might not be met
|Control||+ full control
|+ full control
– end-user platforms introduce uncertainties
|Maintenance/Upgrades||– physical upgrades||+ VM upgrades
– end-user agents need physical upgrades
Obviously, there is no clear answer between hardware and software. The answer is “it depends.” Even when we started NetBeez we were debating whether or not to offer only software agents instead of hardware agents. At the time, it was difficult to comprehend the reasons, but now we understand the benefit of being able to offer both depending on the customer’s needs.
We are interested in hearing your opinion on the hardware vs. software debate. Comments welcome.