mirror of
https://github.com/Luzifer/promcertcheck.git
synced 2024-09-07 19:49:07 +00:00
Small monitoring tool to check URLs for their certificate validity with Prometheus endpoint
.gitignore | ||
.repo-runner.yaml | ||
bindata.go | ||
cert.go | ||
CONTRIBUTING.md | ||
display.html | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
History.md | ||
http.go | ||
LICENSE | ||
main.go | ||
Makefile | ||
probe.go | ||
README.md |
Luzifer / PromCertcheck
This project contains a small monitoring tool to check URLs for their certificate validity. The URLs are polled once per hour and the certificates from that URLs are validated against the root certificates available to the program. (Provided by the operating systems distributor or manually set by you if you're using a docker container.)
Features
- Validates the certification chain including provided intermediate certificates
- Warns before the certificates expires
- Gives a handy overview over all monitored URLs
- Data is made available in Prometheus readable format for monitoring
- Provide own root certificates to accept for chain validation
Usage
# ./promcertcheck --help
Usage of ./promcertcheck:
--expire-warning duration When to warn about a soon expiring certificate (default 744h0m0s)
--listen string Port/IP to listen on (default ":3000")
--log-level string Verbosity of logs to use (debug, info, warning, error, ...) (default "info")
--probe strings URLs to check for certificate issues
--roots-dir string Directory to load custom RootCA certs from to be trusted (*.pem)
--version Print program version and exit
# ./promcertcheck --probe=https://www.google.com/ --probe=https://www.facebook.com/
PromCertcheck dev...
Starting to listen on 0.0.0.0:3000
URLs
Endpoint | Description |
---|---|
/ |
Shows you a human readable version of the check data |
/httpStatus |
Endpoint for simple automated health checks: Delivers HTTP200 in case everything is fine or HTTP500 when one or more certificates are broken |
/metrics |
Prometheus compatible output of the check data |
/results.json |
Gives you a JSON version of the check results including certificate details |