LivenessProbe

Uptime monitoring service

Visit Website
June 16, 2022 Shutting down v1 and launching v2

Version v2 beta is out! Why?

The public beta is available at https://dash.beta.livenessprobe.com

Version v1 lacks flexibility and contains design flaws that do not allow me to fully implement the ideas I have.

It's a pull-based model with a central scheduler. High-level infrastructure components: Kubernetes k3s cluster in Hetzner cloud, AWS Lambda.

v1arch-drawio.png

The core application is a monolithic PHP (Symfony) application. Edge Agents is a node.js (serverless framework) application deployed to the AWS Lambda. The central application daemon issues commands into the queue, where queue workers handle them and invoke AWS Lambda HTTP API with specific parameters. And here is the first limitation: the amount of queue workers is constantly growing.
The next issue is serverless function runtime(s). IBM Cloud Functions (Apache OpenWhisk), Azure Functions, and finally, stay with AWS Lambda. The decision to use lambda on the edges is obvious: cost and simplicity of deployment. However, at scale, it's quite expensive compared to VM. Use kludges to run complex applications.
Serverless functions are great for applications sleeping most of the time.

Less relevant, but still important, it's dashboard UI. It's a custom-made TailwindCSS, Hotwired Turbo (https://turbo.hotwired.dev/). Hotwired Turbo is great - it's lightweight, fast, server-side rendering, with one major issue: it's not popular, and you have to implement almost everything on your own. TailwindCSS is also great, but it takes ages for me to invent a button and any other simple UI component.

I started with refactoring but ended with a rebuild.

v2arch-drawio.png

Version 2 The core architecture is implementing a push model now.
The main application is still a monolithic Symfony application (Megalith) with React UI.
Alerting and notifications are not available for public use right now. This component got a big upgrade and is still under development, but I plan to release them soon, probably, next month.

Each Edge Agent is independent and contains its own task scheduler. It pushed events into the Redis stream where Megalith processes them. It offloads core application a lot and more scalable approach. As a bonus, Edge Agent continues performing checks even when the central application is not available and sends collected events later when it recovers.

Breaking changes on free accounts: There are planned no free usage or a very limited trial period. Accounts and account data will be not migrated.

The current version will last for a few more weeks.
Register an account at https://dash.beta.livenessprobe.com/ and let me know if you want a free trial!

Let me know if you have any questions or want to try LivenessProbe.

Comment

July 7, 2021 Account Teams

The new Teams feature allows each registered user to join an account to administer or view monitors. For new members 2 roles available: administrator and developer. Developers able to manage Monitor resources, and administrators granted write permissions to account settings and team.

Comment

June 8, 2021 Looking for alpha users

After several months of work, the first version is released.

It's a point when I want to test the application better and collect real users feedback to improve existing features and fix left issues.

Features included:

  • Uptime monitoring for HTTP
  • Notifications when the monitor is down or recovered (email, slack)
  • State transitions
  • Simple Metrics dashboard

All features are free of charge for an alpha version. You can create a maximum of 2 monitors per account.

Looking forward you to joining!

Comment

May 13, 2021 Side project cool challenges

The idea to create your own uptime monitoring service appeared after using existing SaaS solutions. Unfortunately, the products I used, did not fully cover the needs. Having searched the entire GitHub in search of self-hosted applications, it quickly became clear that their functionality is either very limited or requires significant improvements.

In November 2020 started working as a side project and the first version for internal use was released confirming the idea in practice. After several months of revisions, the application was significantly improved, adding multi-region uptime checks, request timings, infrastructure improvements.

LivenessProbe is not generally available yet, but you can fill a request for early access at https://livenessprobe.com/

Comment

About

Started to build LiveneddProbe to monitor websites and services I use at work