finds.dev← search

// the find

martinrusev/amon

★ 1,326 · Python · AGPL-3.0 · updated Jul 2022

Amon is a modern server monitoring platform.

Amon is a self-hosted server monitoring platform built on Django. It collects system metrics via agents, supports custom dashboards, health checks, and alerts via Slack, PagerDuty, OpsGenie, and several others. It targets small teams who want a Datadog-like UI without the Datadog bill.

1. Alert routing is well-structured — separate checker classes per concern (system, process, plugin, health check) with tests for each, which means adding a new alert type doesn't require touching unrelated logic. 2. Notification integrations are solid for a 2022 project: Slack, PagerDuty, OpsGenie, VictorOps, Telegram, Pushover, and webhooks all present and in their own isolated sender modules. 3. Test coverage is genuinely wide — nearly every model, view, and API endpoint has a corresponding test file, which is unusual for a solo-dev monitoring tool of this vintage.

1. Dead in the water since 2022 — last push was July 2022 and the promised 7.0 roadmap went nowhere. You'd be adopting an unmaintained Django app in a field (observability) that moves fast. 2. The frontend is AngularJS (1.x), which hit end-of-life in December 2021. The bundled JS is a minified blob, making any UI change a pain. 3. No container-native story — there's no Dockerfile or Compose file in the tree, so deploying this today means hand-wiring a Django+Celery+MongoDB stack yourself. Prometheus/Grafana will take you 20 minutes with Docker; this won't. 4. MongoDB as the metrics store (evident from the integration images and legacy model hints) is a questionable choice for time-series data — you lose the query primitives and retention tooling that dedicated TSDB solutions provide.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →