Getting started

Introduction

Sentrinel is simple, affordable monitoring for your APIs and apps. Capture metrics, request logs, errors, uptime and consumer analytics with a lightweight SDK — no agents, no config files, and dashboards that answer in milliseconds.

Quick start →
Five minutes from install to your first live dashboard.
Backend plugin →
One .use() call captures every request, error and consumer.
Flutter SDK →
App-side requests, errors and crashes on the same timeline.
Alerts →
Threshold rules routed to Slack, Discord, webhooks or email.

Quick start

From zero to live dashboards in about five minutes. Create an app in your Sentrinel workspace, grab its API key, and drop the plugin into your code.

# 1 · install
$ bun add @sentrinel/plugin

# 2 · set your key (from the dashboard → Settings → API keys)
$ export SENTRINEL_API_KEY=sk_live_…

# 3 · deploy — data appears with the next request

Instrument your backend

One .use() call is the whole integration. Every request is captured with latency, status, payload sizes and the consumer behind it.

app.tsimport { Elysia } from "elysia";
import { sentrinel } from "@sentrinel/plugin";

const app = new Elysia()
  .use(sentrinel({ apiKey: process.env.SENTRINEL_API_KEY }))
  .get("/", () => "hello")
  .listen(3000);

Flutter SDK

Capture every outgoing request, error and crash from your app, attributed to the same timeline as your backend.

main.dartimport 'package:sentrinel/sentrinel.dart';

void main() {
  Sentrinel.init(apiKey: 'sk_live_…');
  runApp(const MyApp());
}

Configuration

Everything below can also be changed from the dashboard without redeploying.

OptionDefaultDescription
apiKeyPer-app ingest key. Required.
sampleRate1.0Share of routine traffic to store. Errors and slow requests are always kept.
envproductionEnvironment label shown across the dashboard.
captureLogstrueAttach your application logs to the requests that produced them.

Sampling

Set sampleRate: 0.25 and Sentrinel stores one in four routine requests — but every error and every slow request is always stored, and metrics are extrapolated so your charts stay exact. Typical result: ~70% less stored data with zero blind spots.

Alerts

Create threshold rules on error rate, latency or uptime from the dashboard, and route them to Slack, Discord, webhooks or email. A rule fires once per incident and resolves itself when the metric recovers.

Tip: start with two rules — error rate above 1% for 5 minutes, and p95 above 500 ms for 10 minutes. They catch most real incidents without noise.