← Back to Discover

pooml (Poor Man's Logger)

pooml is a self-hosted logs and metrics server in one small binary that stores data in SQLite and is queried with standard SQL.

Application & server monitoring

What it does

pooml ingests logs and metrics into SQLite tables. You query them with SQL, including SELECT, WHERE and GROUP BY. Full-text search uses FTS5. A query builder compiles to SQL that you can read, edit and keep. Logs arrive through FluentBit-compatible ingestion or an HTTP POST to the ingestion endpoint with an API key. Metrics arrive through OTLP/HTTP push or Prometheus scraping. A web UI offers dashboards with stream, chart and number panels. Each panel remembers the query that built it. Alert rules are SQL queries delivered through Pushover or Once Campfire. To start, run the Docker image with a UI secret and an encryption key. Then log in to the web UI and create an API key in Settings.

Capabilities

  • Log ingestion detects the format of each line (JSON, CLF or plain text) and includes live tail and infinite scroll.
  • Metrics support counters and gauges only, and histograms are downcast to their _sum and _count series.
  • Alert rules support cooldowns and an audit trail.
  • Operations features include hourly retention cleanup, scheduled S3 backups through SQLite's online backup API, and a Prometheus /metrics endpoint so pooml can monitor itself.
  • The @pooml/mcp package connects Claude or any MCP client to a pooml instance with strictly read-only access, and the query API must first be enabled on the server.

When to use it

  • You need to search and tail application logs from a single virtual private server.
  • You need to chart metrics pushed over OTLP or scraped from Prometheus endpoints.
  • You need phone alerts from rules written as SQL queries.