Monosi is an open source data observability and monitoring platform for data teams (see Monosi Github). It is used to quickly set up monitors on a data store to run checks for data quality issues and alert on detected anomalies.
Supabase is an open source Firebase alternative. It lets you easily create a backend with a Postgres database, storage, APIs and more.
In this article, we will show you how to set up data observability for Supabase using Monosi. With this setup, you will be able to detect data anomailes that occur in your Supabase instance.
Prerequisites
For this tutorial, you will need a Supabase account with a populated database. If you don't have an account, it's quick to get started with their platform by navigating to the Supabase app and following their getting started documentation.
You will also need Docker to install and run Monosi. If you're not familiar with Docker, follow the tutorial here. Make sure you have docker installed and ready to use.
Installing Monosi
Monosi provides a Docker image to run the web interface and simplify deployment. To install and run Monosi through Docker, run the following command:
docker run -p 3000:3000 monosi/monosi
Note: Monosi also has a CLI version distributed through pypi. More information on how to run Monosi through the CLI can be found here.
Connecting to Supabase
Since Monosi supports PostgreSQL, it can connect and monitor any Supabase instance.
To get your database credentials from Supabase, navigate to the Settings > Database page and find the Connection info section.
With the Supabase connection details in hand, navigate to the Monosi datasources page at http://localhost:3000/settings/sources
. Fill out the Postgres connection details with your respective Supabase instance.
Integrating with Slack
Monosi sends alerts on detected anomalies to Slack. Set up a Slack integration by navigating to http://localhost:3000/settings/integrations
and creating a new integration with a Slack channel webhook. More information can be found here.
Creating a Monitor
With the Supabase data source and Slack integration connected, we can now create a monitor. Navigate to the Monosi page http://localhost:3000/monitors
and select the table health monitor.
Fill out the form with a monitor name, description, and an interval for the monitor to run on (in minutes).
Then, select the Supabase data source and enter the table name that you want monitored. Ensure that this table has a timestamp column. The timestamp column field must be put into the timestamp field.
Save the monitor and it will appear in the monitors index view. This monitor will run until deletion. If any alerts are detected, it will send them to the connected Slack channel.
Wrapping up
🎉 Congratulations, you've just set up and scheduled a data monitor on your Supabase instance. You can now add more monitors to other tables in your database. Find more information on how to use Monosi here.
If you have any questions, join our Slack community or open an issue in our repository on Github. If you want to see more posts like this, subscribe to our newsletter!
Top comments (0)