explaingit

arachnys/cabot

5,668JavaScriptAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

A free, self-hosted monitoring and on-call alerting tool built with Python and Django, watches your servers and services and sends phone, text, or email alerts when something breaks, like a free PagerDuty alternative.

Mindmap

mindmap
  root((cabot))
    What it does
      Monitor services
      Send on-call alerts
      Manage rotations
    Check types
      Graphite metrics
      Web URL status
      Build job results
    Alert channels
      Phone call
      SMS text message
      Email
    Setup
      Docker deploy
      Web dashboard
      REST API
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up on-call alerting for your team's servers without paying for PagerDuty or similar commercial services

USE CASE 2

Monitor website uptime and get phone call or SMS alerts when a service goes down

USE CASE 3

Create an on-call rotation schedule so the right person gets paged during off-hours incidents

USE CASE 4

Use the REST API to programmatically create and manage service monitors from scripts or CI pipelines

Tech stack

PythonDjangoDockerGraphite

Getting it running

Difficulty · moderate Time to first run · 30min

Project is no longer actively maintained, weigh community-only support before using in production.

The markdown does not specify the license for this project.

In plain English

Cabot is a free, self-hosted monitoring and alerting tool that you run on your own servers. It watches your infrastructure, such as web servers, databases, or any other services you care about, and sends alerts by phone call, text message, or email when something goes wrong. The goal is to give smaller teams the kind of on-call alerting that commercial services like PagerDuty provide, without the subscription cost. It works by checking three kinds of things: performance metrics from a monitoring system called Graphite, the status codes and response content of web addresses, and the pass or fail state of automated build jobs. You set up checks through a web dashboard without writing any code. If a check fails, Cabot can notify whoever is currently on call according to a rotation schedule you define. The project was built by a company called Arachnys as an internal tool because the alternatives at the time were too complex or too expensive. It is written in Python and uses the Django web framework. Hundreds of companies reportedly use it in production, though the README notes that active development has stopped and the maintainers are looking for someone to take over the project. Deployment is done via Docker and the README says it can be up and running in around five minutes using the official quickstart guide. There is also a REST API that lets you query or manage checks and services programmatically, with filtering, sorting, and standard user-based permissions. Because the project is no longer actively maintained, anyone considering using it should weigh that factor. The code is available, functional, and documented, but ongoing bug fixes and new features depend on the community or a new maintainer stepping in.

Copy-paste prompts

Prompt 1
Walk me through deploying Cabot on a VPS using Docker and setting up my first uptime check for a web service
Prompt 2
How do I configure Cabot to send phone call alerts through Twilio when a health check fails?
Prompt 3
Show me how to use the Cabot REST API to create a new service monitor and check its current status programmatically
Prompt 4
How do I set up a Graphite metric check in Cabot to alert when server CPU usage stays above 90% for 5 minutes?
Prompt 5
How does Cabot's on-call rotation work and how do I define a weekly schedule so alerts go to different people each week?
Open on GitHub → Explain another repo

← arachnys on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.