Go to file
2021-06-18 08:57:18 +00:00
code * added double-pinging to avoid unnecessary notifications 2021-06-18 08:57:18 +00:00
webroot + configurable color values for bars 2021-06-17 13:20:36 +02:00
workers * moved checkers back to individual workers 2021-06-12 11:12:08 +00:00
config.sh + configurable color values for bars 2021-06-17 13:20:36 +02:00
README.md Initial commit 2021-05-20 22:11:48 +02:00
routes.sh Initial commit 2021-05-20 22:11:48 +02:00

DownTimeRobot

Checks for downtimes of your services, providing notifications and fancy SVG graphs.

Installing

git clone https://git.sakamoto.pl/laudompat/http.sh dtr
cd dtr
git clone https://git.sakamoto.pl/domi/dtr app
mkdir -p storage/appconfig storage/data storage/reports

Afterwards, fill out SMTP settings and cfg[telegram_bot_token] if you'd like to use notifications, and recreate the following file structure under storage/appconfig:

  • every_1min.json, every_5min.json, every_30min.json

These files control what tests are done, and in what time interval.

[
	{
		"type": "ping",
		"label": "Gateway",
		"notify": ["mail"],
		"data": {
			"addr": "10.21.37.1"
		}
	},
	{
		"type": "ping",
		"label": "CF 1.1",
		"notify": [],
		"data": {
			"addr": "1.1"
		}
	},
	{
		"type": "request",
		"label": "sdomi.pl - body",
		"notify": [],
		"data": {
			"url": "https://sdomi.pl",
			"method": "GET",
			"match": "body",
			"string": "sdomi's webpage"
		}
	},
	{
		"type": "request",
		"label": "sdomi.pl - head",
		"notify": [],
		"data": {
			"url": "https://sdomi.pl",
			"method": "GET",
			"match": "head",
			"string": "(S|s)erver: nginx"
		}
	},
	{
		"type": "request",
		"label": "sdomi.pl - status",
		"notify": ["mail"],
		"data": {
			"url": "http://sdomi.pl/",
			"method": "GET",
			"match": "status",
			"string": "200"
		}
	}
]
  • notify.json

This file controls notification recipient groups.

[
	{
		"type": "mail",
		"name": "mail",
		"to": [
			"asdf@example.com",
			"aoeu@example.com"
		]
	},
	{
		"type": "telegram",
		"name": "group",
		"to": [
			0
		]
	}
]
  • graphs.json

This file controls what is displayed in the web interface.

[
	"Gateway",
	"CF 1.1",
	"sdomi.pl - body",
	"sdomi.pl - head"
]