Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luzifer/webcheck
webcheck is a CLI tool to check the health of a web page
https://github.com/luzifer/webcheck
check golang health http web
Last synced: 16 days ago
JSON representation
webcheck is a CLI tool to check the health of a web page
- Host: GitHub
- URL: https://github.com/luzifer/webcheck
- Owner: Luzifer
- License: apache-2.0
- Created: 2018-07-23T12:52:55.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-16T13:12:40.000Z (4 months ago)
- Last Synced: 2024-07-17T13:20:12.384Z (4 months ago)
- Topics: check, golang, health, http, web
- Language: Go
- Homepage:
- Size: 1020 KB
- Stars: 8
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: History.md
- License: LICENSE
Awesome Lists containing this project
README
![](https://badges.fyi/github/license/Luzifer/webcheck)
![](https://badges.fyi/github/downloads/Luzifer/webcheck)
![](https://badges.fyi/github/latest-release/Luzifer/webcheck)# Luzifer / webcheck
`webcheck` is a CLI tool to check the health of a web page. It was written because there are quite a lot of GUI tools or services to monitor websites but I did not find any tool to execute on the CLI to to an ad-hoc monitoring of a page. To fix this I wrote this tool.
`webcheck` is used to check:
- HTTP status code 2xx
- Regular expression match on the response body
- Response within a certain timeout
- Response times (only display, no checking)If the request is marked as a `FAIL` all headers and the response body are written into a log file to be debugged manually. This can for example be helpful if your webserver delivers weird responses on certain requests and you are using `webcheck` to find them.
## Installation
You either can download a pre-compiled binary for you system from the [Releases](https://github.com/Luzifer/webcheck/releases) section of this repository or if you do have a working Go environment you can just `go install github.com/Luzifer/webcheck@latest` the tool.
## Usage
```console
$ webcheck --help
Usage of webcheck:
-i, --interval duration Check interval (default 1s)
-l, --log-dir string Directory to log non-matched requests to (default "/tmp/resp-log/")
--log-level string Log level (debug, info, warn, error, fatal) (default "info")
--log-retention duration When to clean up file from log-dir (default 24h0m0s)
-m, --match string RegExp to match the response body against to validate it (default ".*")
--no-log Disable response body logging
-t, --timeout duration Timeout for the request (default 30s)
-u, --url string URL to query
--version Prints current version and exits
```### Example
```console
$ webcheck -u https://bfa1c797.eu.ngrok.io/monitoring.txt -m healthy[Mon, 23 Jul 2018 16:07:02 CEST] (OKAY) Status was 200 and text matched (13.331ms/14.229ms/115.599ms)
[Mon, 23 Jul 2018 16:07:16 CEST] (FAIL) Response body does not match regexp (13.314ms/14.229ms/15.316ms) (Resp: request-log/request827008143)
[Mon, 23 Jul 2018 16:07:21 CEST] (OKAY) Status was 200 and text matched (13.411ms/14.436ms/18.25ms)
[Mon, 23 Jul 2018 16:07:28 CEST] (FAIL) Status code was != 2xx: 404 (6.923ms/7.011ms/7.237ms) (Resp: request-log/request070057634)$ cat request-log/request827008143
Accept-Ranges: bytes
Content-Length: 4
Content-Type: text/plain; charset=utf-8
Date: Mon, 23 Jul 2018 14:07:16 GMT
Last-Modified: Mon, 23 Jul 2018 14:07:15 GMTfoo
```