Share this post
Kim Nguyen
Table of Contents
How To Watch For Open Ports and Network Latency in Nagios XI
|
Kim Nguyen

Enhancing Network Monitoring: Open Ports and Latency Plugin
In today’s interconnected world, maintaining the health of your network is more critical than ever. Whether managing a small office network or a vast enterprise infrastructure, ensuring that essential services remain available and responsive can mean the difference between seamless operations and catastrophic downtime. Enter the enhanced open ports and latency plugin, a tool for monitoring network connectivity and performance with precision.
What is a Plugin?
A plugin is a software component or add-on that integrates with a larger application to enhance or extend its functionality. Plugins are typically designed to perform specific tasks or provide additional features without altering the core application. To compare, a plugin is like adding frosting or filling to a cake. The cake on its own is already complete, but when you add frosting or filling, it enhances the flavor, texture, and overall experience. An admin might customize their monitoring setup to fit the unique needs of their infrastructure, making it more customized or powerful, much like how frosting makes the cake more enjoyable! Learn more about plugins.
Why This Plugin is Essential
At its core, the enhanced plugin addresses two fundamental questions for IT administrators:
- Are the required services reachable?
- This is determined by checking if specific ports are open and accepting connections.
- How responsive are these services?
- The plugin measures network latency, giving you insights into the performance of the connection.
This combination offers a holistic view of service availability and network performance, empowering administrators to identify and address issues proactively.
Key Features
1. Port Connectivity Checks
The plugin verifies whether critical service ports (e.g., HTTP port 80, HTTPS port 443, database ports like 3306 for MySQL) are open. This ensures the underlying services are accessible and functional. If a port is closed or unreachable, this will flag the issue as Critical, alerting administrators to take immediate action.
2. Network Latency Monitoring
Latency is a vital metric in network performance. The plugin measures the time it takes to establish a connection to a specified port, reporting it as part of the results. High latency can indicate potential network congestion, misconfigured routes, or overloaded servers.
3. Optional Content Validation
For HTTP/HTTPS services, the plugin can validate server responses by searching for specific content in the response headers or body. This is especially useful for ensuring that web servers are not only running but also serving the expected content (e.g., confirming a “Welcome” message on a landing page).
4. Configurable Parameters
Administrators can customize the plugin’s behavior to suit their monitoring needs, including:
- Specifying target hosts and ports.
- Adjusting connection timeouts.
- Defining expected content for validation.
How It Works
This script uses Python’s socket
library to establish connections to specified ports. For HTTP/HTTPS checks, it sends a simple HEAD
request to verify the service’s responsiveness. Results are categorized as follows:
- OK: The port is open, and the service responds as expected.
- WARNING: The port is open, but there is a mismatch in the expected content.
- CRITICAL: The port is closed, unreachable, or the response indicates a significant issue (e.g.,
403 Forbidden
or a timeout).
Example Scenarios:
1. Web Server Monitoring
An administrator can use the plugin to ensure that a web server’s HTTP (80) and HTTPS (443) ports are open, the web server confirms the “Welcome” message and responding with the expected content:
./enhanced_check_port.py -H example.com -P 80,443 -t 5 -c "Welcome"
2. Database Server Monitoring
For a MySQL database server, the plugin can check if port 3306 is open:
./enhanced_check_port.py -H db.example.com -P 3306 -t 5
3. Troubleshooting High Latency
By examining latency results, administrators can identify potential performance bottlenecks and take corrective actions to optimize network paths.

Performance Graphs in Nagios XI
The performance graphs feature in Nagios XI adds a powerful visualization tool to your monitoring arsenal. By leveraging the plugin’s output, such as open port status and latency metrics, Nagios XI can generate detailed graphs that track performance trends over time.
For instance, the below performance graph demonstrates real-time latency data from the “Check Open Ports” plugin. The graph shows average, maximum, and last-recorded latency values, enabling administrators to quickly identify patterns or anomalies in network performance:

This visual representation empowers IT teams to detect and address issues proactively, ensuring service reliability and consistent performance across the network.
Benefits of Using the Open Port Monitoring Tool
- Proactive Issue Detection: The plugin’s detailed output allows administrators to identify and resolve issues before they impact end users.
- Customizable Monitoring: Its flexibility ensures that it can adapt to a variety of use cases, from simple port checks to complex content validation.
- Seamless Integration: Designed to work with Nagios and similar monitoring tools, the plugin easily fits into existing monitoring workflows.
Conclusion
The enhanced open ports and latency plugin is more than just a monitoring tool—it’s a comprehensive solution for maintaining network health and service reliability. By combining port connectivity checks with network latency measurements and optional content validation, it empowers IT administrators to stay ahead of potential issues and ensure uninterrupted operations. Whether you’re safeguarding critical applications, maintaining high-performance websites, or monitoring internal systems, this plugin is an invaluable addition to your network monitoring arsenal.
For more information, check out the plugin on GitHub here.