QueryCanary is a lightweight tool for monitoring your production data using SQL. Define checks using real queries, run them on a schedule, and get alerted when something looks wrong.
- ✅ Run SQL checks against your production database
- ✅ Schedule checks using flexible cron expressions
- ✅ Get alerts via email or Slack when values drift or break
- ✅ See historical trends and chart results over time
- ✅ Build custom reports that group metrics from multiple data sources
- ✅ Catch issues like:
- Low signups
- Missing prices
- Invalid data combinations
- Broken joins
git clone https://github.com/QueryCanary/query_canary.git
cd query_canarymix setupmix phx.serverNow you can visit localhost:4000 from your browser.
Phoenix LiveDashboard (/admin/dashboard) and Oban Web (/admin/oban) are available
in every environment to logged-in users with users.is_admin set to true.
Team admin roles do not grant site admin access.
Run mix ecto.migrate when upgrading. Existing and new users are non-admins by
default. To grant access, use a trusted IEx console (iex -S mix, or a remote
console for a running release):
QueryCanary.Accounts.get_user_by_email("admin@example.com")
|> Ecto.Changeset.change(is_admin: true)
|> QueryCanary.Repo.update!()Use is_admin: false to revoke access. The flag cannot be changed through
registration or account settings.
- Fork it!
- Create your feature branch (
git checkout -b feature/my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin feature/my-new-feature) - Create new Pull Request
QueryCanary includes a comprehensive and very fast test suite, so you should be encouraged to run tests as frequently as possible.
mix testAny broken tests will be called out with the file and line number. If you are working on a single test, or a single test file you can easily specify a smaller test sample with:
mix test test/query_canary/your_test.exs
# Or specifying a specific line
mix test test/query_canary/your_test.exs:15If you need help with the product, email us at support@querycanary.com. If you need help with developing the software, please feel free to open a GitHub Issue.
QueryCanary is licensed under the AGPL-3.0 license.