Skip to content

Repository files navigation

Aether Monitoring Platform

Multi-tenant infrastructure monitoring built in Rust. Lightweight agents on your servers, central control plane with PostgreSQL.

Features

  • System metrics — CPU, memory, disk, network
  • Service monitoring — Docker containers, systemd units
  • External checks — HTTP/HTTPS/TCP/DNS/TLS from central workers
  • Incidents & uptime — state machine with configurable thresholds
  • Remote agent config — versioned, signed, atomic apply
  • Offline resilience — SQLite queue when server unreachable
  • Multi-tenant — organizations, RBAC (owner/admin/operator/viewer)

Security

  • TLS 1.3 only (rustls)
  • Ed25519 per-agent request signing (not Bearer-only)
  • SHA-256 body checksum, timestamp + nonce anti-replay
  • Server-signed remote configurations
  • Argon2id passwords, JWT access/refresh tokens

Quick Start

# Prerequisites: Rust 1.85+, Docker
cp .env.example .env
docker compose up -d postgres

export DATABASE_URL=postgres://aether:aether@localhost:5432/aether
sqlx migrate run

cargo run -p aether-server --bin monitor-server

See docs/development.md for full setup.

Binaries

Binary Description
monitor-server Central API and background workers
monitor-agent Host monitoring daemon
# Enroll an agent
monitor-agent enroll --server-url https://monitor.example.com --token <token>
monitor-agent run

Architecture

┌─────────────┐     HTTPS + Ed25519     ┌──────────────┐
│ monitor-agent│ ──────────────────────► │monitor-server│
│  (per host)  │                         │   (Axum API) │
└─────────────┘                         └──────┬───────┘
                                               │
                                        ┌──────▼───────┐
                                        │  PostgreSQL  │
                                        └──────────────┘

Documentation

Document Description
Architecture System design, data flows, workers
Security Threat model, auth, hardening
Agent Protocol Wire format, signing, error codes
API HTTP endpoints, RBAC
Database Schema, partitions, retention
Deployment Docker, systemd, production
Development Local setup, testing
AGENTS.md Contributor guide

Workspace Crates

Crate Purpose
aether-agent Agent binary + collectors
aether-server Server binary + API
aether-protocol Wire payloads + signing
aether-domain Pure domain logic
aether-database sqlx repositories
aether-shared Errors, crypto, TLS
aether-telemetry Tracing + metrics
aether-test-utils Test helpers

Development

make check    # fmt + clippy + test
make lint
make deny

License

GNU Affero General Public License v3.0 or later — Copyright (c) 2026 HostNatPro.

About

Solution open source pour supervision

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages