What is with all these different protocols? Who needs them anyway? If you're monitoring server and application performance, using a server performance monitoring tool, you do. Different protocols do different things and consume varying amounts of bandwidth and resources. The better you understand the differences, the more apt you are to make the right choice when setting up your application monitoring solution. So when it comes to effective server monitoring, let's define the big four:
Remote Procedure Call (RPC)
RPC allows for communication between computers on a network. The big advantage of using RPC over other protocols is that you can execute programs on another computer within your network without remote interaction.
Pros: Very flexible.
Cons: Bandwidth and resource hog. RPC can fail due to unforseen network issues.
Windows Management Instrumentation (WMI)
WMI is Microsoft's implementation of Web-Based Enterprise Management (WBEM) and Common Information Model (CIM). It allows for scripting languages to manage Windows-based machines remotely as well as locally.
Pros: Very flexible when using Windows-based machines.
Cons: Bandwidth and resource hog, but not as bad as RPC. WMI requires Windows login information. WMI can only be used with Windows-based machines.
Internet Control Message Protocol (ICMP)
ICMP is not a transport protocol. It's more of a protocol used to "spy" on IP addresses; however, some diagnostic tools like Ping and Traceroute are exceptions. ICMP is used primarily to send messages to other networked computers indicating, for example, that a service is not available. ICMP can also be used to relay query messages.
Pros: Minimal bandwidth and resource usage.
Cons: Very limited in scope and flexibility.
Simple Network Management Protocol (SNMP)
SNMP is a vendor, hardware, and software, independent protocol for networked devices. Devices that typically support SNMP include routers, switches, servers, and so on. SNMP is used mostly to monitor network devices for conditions that warrant attention. SNMP exposes data in the form of variables which provide vital information on system configuration. These variables can then be queried by Application Monitors.
Pros: Very flexible. Can pull information from Windows and non-Windows machines. SNMP v3 gives the least vulnerable information when it comes to security. Uses very little bandwidth.
Cons: SNMP collects less information than WMI.
Its important you know the differences between the different protocols while you monitor server. The next question is, "Is there a product out there that is flexible enough to allow me to choose between all of these different protocols?"