How to use Bytebase with Better Uptime
What is Bytebase
Bytebase is a startup I am currently taking an internship at. Its aspiration is to build an open-source database tool for DBAs and developers – GitLab for database schema lifecycle management. We are a remote team and most of our development happens on GitHub.
Why we use Better Uptime
Better Uptime is the tool we use to monitor our websites. Of all the Better Uptime monitor types, there is a type called heartbeats. Here are the benefits of using heartbeats quoted from Better Uptime documentation.
Every heartbeat comes with a unique URL you need to periodically make requests to in order for the heartbeat NOT to create a new incident.
Think a database backup script you run every day in your CRON job. How do you know it runs correctly?
Add a simple curl "<your-heartbeat-url>"
command at the end of the script to monitor it.
We will alert the current on-call person if the script fails to make a request to the URL every X minutes.
It happens that Bytebase supports automatic backup at the database level. Bytebase also supports enforcing backup schedule policies for each environment. e.g. DBA can require the database in the production environment to have daily backups.
In Bytebase 0.9.0, we introduced a new feature called database webhook. It allows users to set a webhook endpoint if the automatic backup is enabled. After a successful database backup, a POST request will be sent to it. Isn't it perfect to use this feature with heartbeats?
How to configure database webhook
It's quite simple. Just copy the URL from Better Uptime and save it in Bytebase. You are ready to go.