113 lines
1.7 KiB
Markdown
113 lines
1.7 KiB
Markdown
|
# 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"
|
||
|
]
|
||
|
```
|