monitor internet connection
A Python module to monitor the uptime of the Internet connection in real-time and record the time and duration of any downtime.
Sample output
--------------------------------------------------------------
--------------------------------------------------------------
Monitoring Internet Connection commencing : 2020-01-10 10:34:45 polling every 1 second(s)
-------Internet Connection unavailable at : 2020-01-11 07:35:01
-------Internet Connection restored at : 2020-01-11 07:35:10
-------The duration of the downtime was : 0:00:09
-------Internet Connection unavailable at : 2020-01-12 08:35:20
-------Internet Connection restored at : 2020-01-12 08:36:27
-------The duration of the downtime was : 0:01:07
Monitoring Internet Connection stopped at : 2020-01-13 12:42:38
What is monitor_internet_connection?
It is a Python module to monitor the uptime of the Internet connection - that is to say to monitor that an external IP address is always reachable.
Why should I use monitor_internet_connection?
If you have automated long-running processes/programs/activities on your computer that requires Internet connectivity, there is nothing worse than coming back the next hour/day/week/whenever to review the logs/progress and find out that the program(s) failed or data is missing because of lost Internet connectivity. What is worse - you may not know exactly when Internet connectivity was lost. Thus, will you need to rerun the entire program/process? Or just a part of it? and so on.
The Python module monitor_internet_connection is a solution to this problem in that it monitors Internet connectivity in real-time, displaying on the console/terminal and recording to a log file: the start time, the end time and the duration of any Internet connectivity downtime. You may simply run this module in a console/terminal and leave it running for days/weeks on end.
What does monitor_internet_connection do?
Every X seconds (default polling frequency is 1 second), the program monitors whether the Internet connection is alive and an external IP address is reachable.
If the Internet is unreachable:
-
The first observed time of failure is logged.
-
Every one-minute interval of subsequent unavailability is logged. The one-minute logs can be useful as a proxy indicator of whether the computer lost power or just the Internet connection was unavailable.
-
When Internet connectivity is restored, the first observed time of restoration is logged.
-
Finally, the total time duration of the Internet unavailability is logged.
Log File
-
The log file is called
internet_monitor.log. -
The log file is written to the current working folder.
-
The log file is always appended to, never overwritten.
-
The information written to the log file is also displayed on the console/terminal.
-
The log file may be disabled via a command line parameter. See Usage below.
Prerequisites
You must have Python 3.6 or higher installed.
Installation
pip install monitor_internet_connection
QuickStart
python -m monitor_internet_connection
How do I exit the program
To exit the program, simply press Ctrl-C inside the console/terminal. This will cause the program to exit gracefully.
Usage
usage: python -m monitor_internet_connection [-h] [-n] [-f N]
Monitor the uptime of the Internet connection and record any downtime
optional arguments:
-h, --help show this help message and exit
-n, --no-logfile do not create a log file (default: False)
-f N, --freq N specify polling frequency in seconds (default: 1)
Licence
This project is licensed under the MIT License.
Metadata
Release files for monitor-internet-connection 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| monitor-internet-connection-1.2.1.tar.gz | 6.7 kB | Without provenance | Details for monitor-internet-connection-1.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| monitor_internet_connection-1.2.1-py3-none-any.whl | Python 3 | none | any | Details for monitor_internet_connection-1.2.1-py3-none-any.whl |
Total release size: 16.4 kB
Release files / monitor-internet-connection-1.2.1.tar.gz
| Download URL | monitor-internet-connection-1.2.1.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3aa267228e80c7c287ae91dc2f299b902025c679917e42ce6ea5734eef6d4ff6
|
|
BLAKE2b-256 checksum How to use checksums |
2b8dc32912b490872ab68987f0a4ef2f6107907e2c96921ad25353e580fd49e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
|
Release files / monitor_internet_connection-1.2.1-py3-none-any.whl
| Download URL | monitor_internet_connection-1.2.1-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0fd24500e03b8f20d84ff81305e622eb6f827d366dca19c8c4765a38cb8fc94
|
|
BLAKE2b-256 checksum How to use checksums |
54a00f2ff760e574b4a7565194adb51e9a44fd82eaad7c1f24d7df0fbbc4513a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
|
Security for monitor-internet-connection 1.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.