vitovt / ping_graph

Network Ping Monitor - Python-based tool designed to continuously monitor network latency by pinging a specified host and visualizing the response times in real-time.
GNU General Public License v3.0
3 stars 2 forks source link

Network Ping Monitor

Description

The Network Ping Monitor is a Python-based tool designed to continuously monitor network latency by pinging a specified host and visualizing the response times in real-time. This tool is particularly useful for network administrators, IT professionals, and anyone needing to monitor and analyze the stability and performance of their network connections. The script provides a live graph of ping response times and includes various statistics like average, minimum, maximum, and current response times, as well as standard deviation, to help identify and analyze network issues.

Ping Monitor main window

Ping Monitor main window

Network Lost vizualization

Inspiration

The tool was inspired by mtr tool but it lacks graph visualisation of pings.

I did some research, tried to find ready tool. Here is short summary of what I've found.

But no one solution I've found satisfied my requirements. So I wrote my own solution.

The Network Ping Monitor stands out by providing comprehensive statistics, including timeouts and packet loss, along with a dynamic, real-time graphing capability within a GUI. This makes it particularly user-friendly and informative for monitoring and analyzing network performance.

Features

Requirements

Installation

  1. Clone the repository or download the script.
    git clone git@github.com:vitovt/ping_graph.git
    cd ping_graph
  2. Ensure Python 3.x is installed on your system.
  3. Install required Python packages: matplotlib and numpy.

OR

  1. Install dependencies from requirements.txt:
    pip install -r requirements.txt

Usage

Run the script from the command line, specifying the host to ping as an argument:

python network_ping_monitor.py [host]

Replace [host] with the hostname or IP address you want to monitor (e.g., google.com).

Arguments

Optional Arguments

How Timeouts Work

Example

python network_ping_monitor.py google.com

This command will start pinging google.com and open a window displaying the live graph and statistics.

License

[GPLv3]

Contributing

Contributions to the Network Ping Monitor are welcome. Please read the contributing guidelines before submitting pull requests.

Support and Contact

For support, feature requests, or any queries, please open an issue in the GitHub repository.