Wiki · Features in depth

Usage and monitoring

Monitoring is not about having a chart. It is about knowing before your users do — from /usage to your own supervision stack.

✅ Verified 17. 10. 2026Source: official documentation →📋 Copy for your AI
📈
Monitoring is not about having a chart. It is about knowing before your users do. Hermes gives you three levels: an instant view in chat (/usage), an installation overview in the dashboard, and a machine-readable metrics export for the systems you already watch. Start with the first one — it is free and immediate.

1. What it costs: /usage and /insights

CommandWhat it shows
/usageToken usage, cost breakdown (input/output), context window state, session duration and — when the provider supports it — remaining quota or credit
/insightsUsage overview for the last 30 days: what was used and what it cost

If the bill looks high, look at context size first, not at the price per token. Long sessions without cleanup are the most common reason an account grows faster than the work justifies.

2. Installation overview: the dashboard

The Status page refreshes every 5 seconds and shows:

ItemMeaning
Version and release dateWhich version you run (handy in a bug report)
Gateway statusRunning/stopped, PID, connected platforms and their state
Active sessionsHow many sessions were active in the last 5 minutes
Recent 20 sessionsModel, message count, token usage and a conversation preview
⚠️
The resource banner is the most valuable thing on that page. When memory runs low (below 128 MiB or 15 %) or disk space runs out (below 512 MB), a banner appears at the top. For memory it even recognises that the agent died on the previous boot for lack of memory. Without that banner an agent restart just looks like “some error”.

3. Health from the command line: hermes doctor

hermes doctor # exit 0 = no problems, 1 = something remains hermes doctor --fix # tries to repair what it can

The exit code turns doctor into a usable check for cron or CI: “if this fails, message me”. It also checks the IPv6 route (a blackholed prefix is reported with the remedy network.force_ipv4: true).

4. Machine-readable metrics (OTLP)

For real supervision — Prometheus, DataDog, an OpenTelemetry Collector — the gateway exports metrics, events and diagnostics over OTLP/HTTP:

# config.yaml monitoring: gateway_health_export: enabled: true export: otlp: enabled: true endpoint: http://collector-host:4318/v1/traces # metrics and logs derive from it headers_env: {} # header name -> ENV VAR NAME (values are never stored)
hermes monitoring status # how it is configured and whether it runs
SignalContents
Metricshermes.gateway.up/state/busy/active_agents/background_work, platform state, cron ticker and job counts
Events (traces)Gateway state transitions (starting → running → draining → stopped), platform changes, cron lifecycle
Diagnostics (logs)Warnings and errors with a bounded error code and class — never prompt or message text

The export is content-free by design: no prompts, messages, tool arguments, job names or session history. Nothing you entrusted to the agent reaches a third-party system — and you still learn that the gateway is down.

What to alert on

RuleWhy
hermes_gateway_up == 0The gateway is explicitly down (the process runs but does not report)
A missing series longer than the export intervalA process that died cannot emit its own zero — without this rule an outage goes unreported
hermes.platform.degradedA platform (Telegram, Discord) lost its connection while the gateway keeps running
Age of the last cron successA scheduled job stopped running — more common than a dead gateway

The second rule comes from our own operations: a metric that only says “I am OK” looks like calm during an outage. Always monitor that the data stopped arriving, too.

Things to watch

SituationWhat to do
The OTLP SDK is missingIt installs on first use (the otlp extra); without it the gateway runs fine, it just does not export
The endpoint is unreachableExport must never take the agent down — failures are bounded and stay off the hot path
The dashboard warns about memoryShorten sessions, reduce parallel subagents, add RAM; the banner clears after a gateway restart
High token usageShorter sessions, a cheaper model for auxiliary tasks (e.g. the curator), fewer tools in context
You have monitoring but nobody looksSet a threshold that sends a Telegram message — a chart nobody visits is not monitoring

Where next

← Back to the wiki