Octri

Monitoring

Synthetics

Every other tab is passive: it reports what happened to real traffic. Synthetics is active. It calls your endpoints on a schedule and tells you they're down before a customer does.

Creating a check

Open the Synthetics tab and add a check:

SettingWhat it doesLimits
NameWhat it's called in the list
URLWhat to call
MethodHTTP methodDefaults to GET
HeadersSent with the requestOptional
BodyRequest bodyOptional
IntervalHow often it runs1 minute to 24 hours
TimeoutGive up after this long1 to 60 seconds
Max statusFail above this status code
Max latencyFail above this latencyOptional
EnabledPause without deleting

Generate from your spec

Rather than writing one check per endpoint by hand, generate them from your OpenAPI spec. Generated checks are marked as such, so you can tell them from ones you wrote.

Generate, then delete most of them

Generating gives you coverage in one click. The useful next step is deleting the checks you don't care about: every check is a request against your API, on an interval, forever.

Assertions

A check passes when the response comes back under Max status and, if set, under Max latency. A timeout fails.

A latency budget catches what a status check can't

Max status alone only notices hard failures. Most bad days are 200 OK in four seconds. Max latency is what turns a liveness check into a usefulness check.

Running one now

Each check has a Run action that fires it immediately instead of waiting for the next interval. Use it after editing a check rather than watching the clock.

Every run is recorded, so a check has a history you can scroll: what it returned, how long it took, and when it flipped up or down.

Up and down

Transitions stream to the dashboard live, so a check going down appears without a refresh. Results are kept for 30 days.

What to check

Checks call your API for real

A check with a body pointed at a write endpoint writes, every interval, forever. Point checks at read-only or purpose-built endpoints.

Credentials you put in Headers are stored with the check, so use a scoped, revocable one rather than an admin token.