Show HN: Monitor your webapp with minimal setup
I'm building a service that monitors your webapp and gives you a definitive signal when something is broken, all with minimal setup.
You can check it out at: https://www.catalystmonitor.com/, read the docs at: https://docs.catalystmonitor.com/, or see the dashboard at: https://app.catalystmonitor.com/
You can also see a (very quickly made) demo at: https://www.loom.com/share/5b38a328ded94f93a980f1ba28081329?sid=5afe55d1-0e0a-42a1-b748-1c230eacd430
I've seen how having robust internal monitoring infra maintained by dedicated teams helped developers at large companies. This was something I missed when I later moved to a startup. I was disappointed by how much setup and maintenance was required by existing monitoring products: I constantly fiddled with Splunk queries, pruned Sentry errors, and created New Relic dashbords, all to get weak signals to the only thing I cared about: is my product currently broken or not for users? So I decided to build the tool that I would've wanted.
Most people building a product want to maximize effort on actually building their product and minimize effort monitoring it, so I built this service to be easy to set up: you can sign up, integrate it, and get useful signals within a day without worrying about configuration or monitoring new code-paths.
The downside to being easy to set up is that it's opinionated, less configurable, and won't be 100% effective for certain use-cases. If you throw errors and use HTTP error codes instead of swallowing errors, you'll get useful monitoring with minimal effort right out of the box.
There are currently client libraries for the browser, Node.JS, Express, and React Router, but integration with other JS/TS frameworks shouldn't be hard while integration with other languages is definitely possible. Please let me know if you'd be interested in support for another language or framework.
Also, I know it's ironic, but it's still under development, and thus may have bugs. I'd love to know what you think. Either way, may your queries flow and your pagers stay silent.
11 comments
[ 3.2 ms ] story [ 33.1 ms ] threadCongrats on the launch!
It's a bit like Datadog in the sense that you do have dashboards but it doesn't monitor blackbox metrics (like CPU %, etc), and focuses on whitebox metrics like error %.
What Datadog and other monitoring products don't do (AFAIK) is give you the ability to drill into your error %. You can breakdown your frontend pages and backend endpoints by path params, status code, log messages, (and soon) user to find commonalities and narrow down your smoking gun. After you find your smoking gun, you can immediately get traces and log messages of what happened from frontend to backend.
For example, if I notice a server endpoint has a high error %, I can check my breakdowns to see if it's specific to a user or endpoint, and if there is any log messages that happened for every error. Once I've narrowed it down, I can quickly find sessions that include the server endpoint with the breakdowns I've selected, and see what happened on the frontend and backend(s). The idea is to provide this value with minimal setup.
Paging is definitely something that I want to implement.
Text is hard so I'll record a video.
Best of luck with everything
How are you different from the 20+ existing monitoring solutions?
* https://sentry.io
* https://newrelic.com
* https://www.honeycomb.io
* https://www.datadoghq.com
* https://opstrace.com (YC S19, acquired by GitLab)
* https://posthog.com (YC W20)
* https://signoz.io (YC W21)
* https://www.highlight.io (YC W23)
* https://amplitude.com
* https://www.solarwinds.com/appoptics
* https://skywalking.apache.org
* https://www.servicenow.com/products/observability.html
* https://cronitor.io/real-user-monitoring
* https://www.appsignal.com
* https://grafana.com/products/cloud
* https://uptrace.dev
* https://github.com/intelsdi-x/snap
* https://github.com/openobserve/openobserve
* https://glaber.io
* https://rakam.io
* https://www.metabase.com
* https://openreplay.com
Out of the box, Monibot throws a bunch of data at you like database size, CPU %, requests, etc. None of these metrics really tell you if something in your webapp is broken. And if you want more useful metrics, you gotta instrument them yourself.
It does do some things that Catalyst critically misses (health checks, e-mail notifications). But at the same time, if you're going to prod, Monibot by itself is not something you'd be comfortable with. You're going to need to add other monitoring tools to get that peace of mind.
It's definitely in the pipeline!
> How much traffic can it handle and what's the pricing for cloud? Can't find pricing on your site.
So right now, it's still under development, but if you have a small/medium sized project (like 5QPS maybe), it should work. Pricing is free for now while it's under development.
> How are you different from the 20+ existing monitoring solutions?
You've listed a lot of different types of monitoring tools. You have error reporting, session replay, log muxing, metric dashboards, and distributed tracing.
Catalyst combines a few key features from each category, and makes them play well together. For example, you can find a broken endpoint via the error graph and click on the line to get a breakdown of path params, logs, and errors for that specific endpoint. You can filter by these breakdowns to find matching sessions (which is like tracing + session replay). You can basically go from identifying an error, to finding the underlying cause of the error quickly in one dashboard.
In my experience, most tools don't play well together, like if you see a rise in error rates for an endpoint in your dashboard, then you need to make a separate query in your logging tool or your distributed tracing tool if your tools even give you the fidelity to know what to look for. You end up having to compose (and pay for) multiple tools.Even platforms that provide multiple features like DataDog and SigNoz, the features are separate and don't interact.
Philosophically, Catalyst doesn't just want to optimize for setup time, it also wants to optimize for peace of mind time, i.e. you're confident if your webapp is broken, you'll know. Most existing monitoring solutions just dump data at you, and ask you pick out what's important, and a lot of times they don't give you the fidelity you need.