Compare commits

...

2 Commits

2 changed files with 25 additions and 7 deletions

View File

@@ -1,15 +1,24 @@
<h1 align="center">PingPlot</h1>
<h4 align="center">
Want to create <strike>memes</strike> graphs of your network connectivity? Ping and plot away:
</h4><br>
Want to create <strike>memes</strike> graphs of your network connectivity? Ping and plot away:</h4>
<p align="center">
<strong>
<a href="#getting-started">Getting started</a>
• <a href="#configuration">Configuration</a>
• <a href="#roadmap">Roadmap</a>
</strong>
</p><br>
<p align="center">
<img src="docs/internet.png" width="800px">
</p>
## Getting started
> **DISCLAIMER:** The author accepts no responsibility or liablity for the use of this software. A high frequency of `ICMP` requests could be seen as `DoS` attack. Please ensure you have permission to ping the target servers!
> **DISCLAIMER:** The author accepts no responsibility or liability for the use of this software. A high frequency of `ICMP` requests could be seen as `DoS` attack. Please ensure you have permission to ping the target servers!
In the default configuration a server will be pinged `10` times with `0.2s` between each ping every `60s`.
This tool requires `net-tools` (if not using a docker container) and `gnuplot` installed on the system.
@@ -20,13 +29,13 @@ This tool requires `net-tools` (if not using a docker container) and `gnuplot` i
0.0.0.0:localhost
my_server.x:my-server
```
Note that `gnuplot` will interprets some carachters (such as `_` underscore) in `<label>` as mathematic notation.
Note that `gnuplot` will interprets some characters (such as `_` underscore) in `<label>` as mathematical notation.
2. Run [`./files/inet_stat.sh`](files/inet_stat.sh) or start a docker container which includes the script with `docker-compose up`
3. Plot the data with [`./plotter/plot.sh`](plotter/plot.sh)
## Advanced Configuration
## Configuration
### Plot
@@ -94,4 +103,13 @@ Viewed in table form:
|------------|-----------|------------|---------|---------|---------|-----------|
| 1613501993 | localhost | 0% | 87.519 | 89.085 | 91.4 | 1.106 |
| 1613501995 | 0.0.0.0 | 0% | 120.358 | 122.399 | 126.254 | 1.712 |
| 1613501997 | 127.0.0.1 | 0% | 113.125 | 116.473 | 125.609 | 3.311 |
| 1613501997 | 127.0.0.1 | 0% | 113.125 | 116.473 | 125.609 | 3.311 |
## Roadmap
* Record each server in a separate file to be able to have `gnuplot` draw lines between each point.
* Record into a new `csv` each day and have `./plotter/plot.sh` temporarily merge these based on the start and end date to be plotted. This should cut down on plotting time as `gnuplot` will not have to read large files anymore.
* Add a flag to keep the merged file permanently.
* Automated plotting
* Directly in the Docker Container and server via web server
* Move the plotting into a web interface

View File

@@ -14,7 +14,7 @@ services:
#- SERVERS=127.0.0.1
# 0.0.0.0
# localhost
# use iso-8601 instead of epoch timestamp [default: -+%s]
# use iso-8601 instead of epoch timestamp [default: +%s]
#- DATE_FORMAT=-Iseconds
# set the cycle at which servers are pinged [default: 60s]
#- CYCLE=60s