You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+33-17
Original file line number
Diff line number
Diff line change
@@ -10,15 +10,15 @@ Monitor your websites, showcase status including daily history, and get Slack no
10
10
11
11
You'll need a [Cloudflare Workers account](https://dash.cloudflare.com/sign-up/workers) with
12
12
13
-
* A workers domain set up
14
-
* The Workers Bundled subscription \($5/mo\)
15
-
*[It works with Workers Free!](https://blog.cloudflare.com/workers-kv-free-tier/) Check [more info](#workers-kv-free-tier) on how to run on Workers Free.
16
-
* Some websites/APIs to watch 🙂
13
+
- A workers domain set up
14
+
- The Workers Bundled subscription \($5/mo\)
15
+
-[It works with Workers Free!](https://blog.cloudflare.com/workers-kv-free-tier/) Check [more info](#workers-kv-free-tier) on how to run on Workers Free.
16
+
- Some websites/APIs to watch 🙂
17
17
18
18
Also, prepare the following secrets
19
19
20
-
* Cloudflare API token with `Edit Cloudflare Workers` permissions
21
-
* Slack incoming webhook \(optional\)
20
+
- Cloudflare API token with `Edit Cloudflare Workers` permissions
21
+
- Slack incoming webhook \(optional\)
22
22
23
23
## Getting started
24
24
@@ -39,6 +39,7 @@ You can either deploy with **Cloudflare Deploy Button** using GitHub Actions or
39
39
- Name: SECRET_SLACK_WEBHOOK_URL (optional)
40
40
- Value: your-slack-webhook-url
41
41
```
42
+
42
43
3. Navigate to the **Actions** settings in your repository and enable them
43
44
4. Edit [config.yaml](./config.yaml) to adjust configuration and list all of your websites/APIs you want to monitor
44
45
@@ -48,6 +49,7 @@ You can either deploy with **Cloudflare Deploy Button** using GitHub Actions or
48
49
url: 'https://status-page.eidam.dev'# used for Slack messages
49
50
logo: logo-192x192.png # image in ./public/ folder
50
51
daysInHistogram: 90# number of days you want to display in histogram
52
+
collectResponseTimes: false # experimental feature, enable only for <5 monitors or on paid plans
51
53
52
54
# configurable texts across the status page
53
55
allmonitorsOperational: 'All Systems Operational'
@@ -73,32 +75,46 @@ You can either deploy with **Cloudflare Deploy Button** using GitHub Actions or
73
75
5. Push to `main` branch to trigger the deployment
74
76
6. 🎉
75
77
7. _\(optional\)_ Go to [Cloudflare Workers settings](https://dash.cloudflare.com/?to=/workers) and assign custom domain/route
76
-
* e.g. `status-page.eidam.dev/*` _\(make sure you include `/*` as the Worker also serve static files\)_
78
+
-e.g. `status-page.eidam.dev/*` _\(make sure you include `/*` as the Worker also serve static files\)_
77
79
8. _\(optional\)_ Edit [wrangler.toml](./wrangler.toml) to adjust Worker settings or CRON Trigger schedule, especially if you are on [Workers Free plan](#workers-kv-free-tier)
78
80
81
+
### Telegram notifications
82
+
83
+
To enable telegram notifications, you'll need to take a few additional steps.
84
+
85
+
1. [Create a new Bot](https://core.telegram.org/bots#creating-a-new-bot)
86
+
2. Set the api token you received when creating the bot as content of the `SECRET_TELEGRAM_API_TOKEN` secret in your github repository.
87
+
3. Send a message to the bot from the telegram account which should receive the alerts (Something more than `/start`)
88
+
4. Get the chat id with `curl https://api.telegram.org/bot<YOUR TELEGRAM API TOKEN>/getUpdates | jq '.result[0] .message .chat .id'`
89
+
5. Set the retrieved chat id in the `SECRET_TELEGRAM_CHAT_ID` secret variable
90
+
6. Redeploy the status page using the github action
91
+
79
92
### Deploy on your own
80
93
81
94
You can clone the repository yourself and use Wrangler CLI to develop/deploy, extra list of things you need to take care of:
82
95
83
-
* create KV namespace and add the `KV_STATUS_PAGE` binding to [wrangler.toml](./wrangler.toml)
84
-
* create Worker secrets _\(optional\)_
85
-
* `SECRET_SLACK_WEBHOOK_URL`
96
+
-create KV namespace and add the `KV_STATUS_PAGE` binding to [wrangler.toml](./wrangler.toml)
97
+
-create Worker secrets _\(optional\)_
98
+
-`SECRET_SLACK_WEBHOOK_URL`
86
99
87
100
## Workers KV free tier
88
-
The Workers Free plan includes limited KV usage, but the quota is sufficient for 2-minute checks only
89
-
* Change the CRON trigger to 2 minutes interval (`crons = ["*/2 * * * *"]`) in [wrangler.toml](./wrangler.toml)
101
+
102
+
The Workers Free plan includes limited KV usage, but the quota is sufficient for 2-minute checks only
103
+
104
+
- Change the CRON trigger to 2 minutes interval (`crons = ["*/2 * * * *"]`) in [wrangler.toml](./wrangler.toml)
90
105
91
106
## Known issues
92
107
93
-
* **Max 25 monitors to watch in case you are using Slack notifications**, due to the limit of subrequests Cloudflare Worker can make \(50\).
108
+
- **Max 25 monitors to watch in case you are using Slack notifications**, due to the limit of subrequests Cloudflare Worker can make \(50\).
94
109
95
110
The plan is to support up to 49 by sending only one Slack notification per scheduled run.
96
111
97
-
* **KV replication lag** - You might get Slack notification instantly, however it may take couple of more seconds to see the change on your status page as [Cron Triggers are usually running on underutilized quiet hours machines](https://blog.cloudflare.com/introducing-cron-triggers-for-cloudflare-workers/#how-are-you-able-to-offer-this-feature-at-no-additional-cost).
112
+
- **KV replication lag** - You might get Slack notification instantly, however it may take couple of more seconds to see the change on your status page as [Cron Triggers are usually running on underutilized quiet hours machines](https://blog.cloudflare.com/introducing-cron-triggers-for-cloudflare-workers/#how-are-you-able-to-offer-this-feature-at-no-additional-cost).
98
113
99
-
* **Initial delay (no data)** - It takes couple of minutes to schedule and run CRON Triggers for the first time
114
+
- **Initial delay (no data)** - It takes couple of minutes to schedule and run CRON Triggers for the first time
100
115
101
116
## Future plans
117
+
102
118
Stay tuned for more features coming in, like leveraging the fact that CRON instances are scheduled around the world during the day
103
-
so we can monitor the response times. However, we will most probably wait for the [Durable Objects](https://blog.cloudflare.com/introducing-workers-durable-objects/) to be in open beta
104
-
as they are better fit to reliably store such info.
119
+
so we can monitor the response times. However, we will most probably wait for the [Durable Objects](https://blog.cloudflare.com/introducing-workers-durable-objects/) to be in open beta
120
+
as they are better fit to reliably store such info.
0 commit comments