uptimeatomic/README.md

62 lines
1.6 KiB
Markdown

# Uptime Atomic
uptimeatomic alerts when downtime happens and generates an html status page via shell script.
## Features
* Parallel checks
* HTTP, ping, port checks
* HTTP expected status code (401, ...)
* Minimal dependencies (curl, nc and coreutils)
* Easy configuration and customisation
* Tiny (~1kb) optimized result page
* Incident history (manual)
* Crontab friendly
## Demo
An example site is available [here](https://ops.lowfive.nl/)
## Setup
To install uptimeatomic:
* Clone the repository and go to the created directory
* Edit `uptimeatomic` variables to your liking
* Edit the checks file `checks.csv`
* To add incidents or maintenance, edit `incidents.txt`
* To add past incidents or maintenance, edit `pastincidents.txt`
* Generate status page `./uptimeatomic`
* Serve the page with your favorite web server
## Configuration file
The syntax of `checks.csv` file is:
```
Command, Expected Code, Status Text, Host to check
http, 200, Google Website, https://google.com
maint, 200, Google Drive Maintenance, https://drive.google.com
ping, 0, Google ping, 8.8.8.8
port, 0, Google DNS, 8.8.8.8 53
```
Command can be:
* `http` - Check http status
* `ping` - Check ping status
* `port` - Check open port status
* `maint` - Host is in maintance
There are also `http4`, `http6`, `ping4`, `ping6`, `port4`, `port6` for IPv4 or IPv6 only check.
Note: `port4` and `port6` require OpenBSD `nc` binary.
## Parameters
```
./uptimeatomic -c CHECKFILE -i INCIDENTSFILE -o HTMLFILE
Default:
-c = checks.csv
-i = incidents.txt
-p = pastincidents.txt
-o = index.html
```