Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m1/netcheck
Netcheck is a tool to check the availability of a group of network connections
https://github.com/m1/netcheck
monitoring network observability
Last synced: 24 days ago
JSON representation
Netcheck is a tool to check the availability of a group of network connections
- Host: GitHub
- URL: https://github.com/m1/netcheck
- Owner: m1
- License: gpl-3.0
- Created: 2024-03-04T00:31:57.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-04-22T18:43:33.000Z (7 months ago)
- Last Synced: 2024-04-25T04:55:21.066Z (7 months ago)
- Topics: monitoring, network, observability
- Language: Rust
- Homepage:
- Size: 433 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# netcheck
Netcheck is a tool to check the availability of a group of network connections.
Exposes metrics for Prometheus so can be used to monitor the availability of a network and alert (via alertmanager) when
it is not available.## Use cases
- Check if a list of networks/services are available.
- Check if an internal network can reach an external network (This was used internally to check if a kubernetes cluster
and istio mesh can readily and repeatability
reach an external network and alert when it can not).
- Check if a network is available from a specific location.
- Simple pingdom/uptime alternative.
- This is **not** intended to replace a full monitoring solution, but as part of your network availability tooling.
- This is **not** intended to be used as a load testing (ie ab, siege, wrk etc) tool.## Usage
Suggested usage is to run this as a docker container and use the provided chart to deploy to kubernetes.
For local usage you can run the following:
```shell
./netcheck run --help
Runs the netcheck service and checks the network using the passed targetsUsage: cli run [OPTIONS]
Options:
-D, --debug
[possible values: true, false]-t, --target
List of targets to check if a network connection is attainable
[default: external=https://one.one.one.one,https://dns.google]--connect
Connect timeout milliseconds to be considered a failure
[default: 500]-v, --verbose
[possible values: true, false]-l, --log-level
--timeout
Timeout milliseconds to be considered a failure
[default: 500]-w, --wait
Time to wait between requests in seconds
[default: 2]--failure-threshold
Failures in a row to determine if target is failing
[default: 5]-h, --help
Print help (see a summary with '-h')
```Example, targetting an external network, and an internal network:
```shell
./netcheck run --target external=https://one.one.one.one,https://dns.google --target internal=http://hellosvc.test.svc.cluster.local:9111,http://hello2svc.test.svc.cluster.local:9111
```