Uptime Atomic, fork of Tinystatus (https://github.com/bderenzo/tinystatus)
Go to file
mischa 8f8a96f50c name change from Tinystatus to Uptime Atomic 2023-05-31 08:45:22 +00:00
.gitignore Initial commit 2023-05-30 13:04:46 +00:00
LICENSE name change from Tinystatus to Uptime Atomic 2023-05-31 08:45:22 +00:00
README.md name change from Tinystatus to Uptime Atomic 2023-05-31 08:45:22 +00:00
checks.csv Initial commit 2023-05-30 13:04:46 +00:00
incidents.txt remove 'no incidents' 2023-05-30 20:08:54 +00:00
pastincidents.txt remove 'no incidents' 2023-05-30 20:08:54 +00:00
uptimeatomic name change from Tinystatus to Uptime Atomic 2023-05-31 08:45:22 +00:00

README.md

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

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