Grotto LogoGrotto

Healthcheck Everything with PulseBridge

Healthcheck Everything with PulseBridge

A few months ago, I built Pulse Bridge with my team. Why? Well... we at WaveZync needed a way to monitor a LOT of databases in a very simple way. It sounds simple, and as a matter of fact, it is simple. What we do is simply set a configuration for each service we need in a YAML file and then run the pulse-bridge container. It will start and keep monitoring our DBs, applications, and other services.

In a general sense, Pulse Bridge is not something we need in the context of something like Kubernetes and Prometheus because they have better ways to monitor applications. But imagine an instance where we need to host many databases of different types, and these databases need to be health-checked in different ways (imagine running a query to check if a specific row exists). That's where Pulse Bridge comes in.

It can monitor databases like MySQL, PostgreSQL, Redis, MSSQL, or applications using HTTP, HTTPS.

config.yml

You can set up specific intervals, timeouts, and even custom queries to run to check if the database is healthy. If the query fails or the database does not respond in time, it will be marked as unhealthy.

To see the status of your service, we have an endpoint on Pulse Bridge, /monitor/services

response.json

You can see the status of each service, when was the last time it was checked, when was the last time it was successful, and if there were any errors.

Now you can set this up for any kind of status page you want. For example, you can build a status page and get this attached as well.

Basically, this is what Pulse Bridge is for. It's simple, yet it's very effective. And the best part is, it's open source. You can find the code on GitHub, check it out, and contribute!