Skip to main content

Problems and alerts

Datagrok watches itself. When a service fails, one error hits many users, requests slow down, an account keeps failing to sign in, a data source stops answering, or a user reports a problem, the server records a problem and raises an alert about it. The alert goes to your monitoring system as a log record, once, and stays open until the problem ends or a person resolves it.

ProblemAlert
What it iswhat is wrong, for example "service Jupyter fails"the notification that it went wrong
How long it livesone per condition; forgotten 30 days after it ended with no open alert, unless it is muted or not a problemuntil the problem ends or a person resolves it
Who changes ityou set its status; Datagrok tracks whether it is happeningDatagrok opens it; you acknowledge and resolve it

What Datagrok detects​

Services that fail their health checks, errors that hit many users or keep recurring, errors users keep making, slow or failing requests, data connections and scheduled jobs that fail, containers that don't start, storage, identity providers and Log sync destinations that keep failing, problem reports, and the conditions of your own problem rules, such as the default login-failures. When each one opens and ends, who acts on it, and which thresholds an administrator can change in Settings > Alerts: What Datagrok detects in the operator guide.

Statuses​

Each problem has a status that decides whether it alerts:

StatusMeaningWhen it happens again
Activeneeds attentionalerts
Mutedknown, quiet for now: for a while, until a version, or until you lift the muteno alert; active again when the mute ends
Not a problemexpected behaviornever alerts. An error marked so stops counting as an error
Fixedsomeone fixed italerts again only if it comes back after the fix, marked as a regression

What to do with an alert:

  • Resolve it when you have seen it. The problem stays active: if the condition still holds, a new alert opens on the next check.
  • Mute the problem to stop its alerts. Muting resolves the open alert, and is the way to stop alerts about a problem.
  • Mark the problem fixed to hear about it only if it comes back.

An alert that is open does not page again while its condition persists. When the condition ends, the alert is cleared and resolved.

Where alerts go​

Alerts are log records, all of one alert with the same alert id, plus a heartbeat every 5 minutes while the instance is alive (the records and when they arrive). Send them to your monitoring system with an OpenTelemetry destination in Log sync (its Alerts option is on by default) and page from them:

Your stackRule
Prometheus and Alertmanager behind an OpenTelemetry Collectorcount the records by alert id; fire from opened or firing until resolved
Grafana Cloud, Datadog, New Relic, Elastic, Dynatraceopen on datagrok.alert.opened, close on datagrok.alert.resolved with the same datagrok.alert.id
A log store or SIEMalert on the alert-opened record

Page on a missing heartbeat too: no heartbeat for 15 minutes means the instance is down, hung, or cut off. A reference collector, alert rules and routing are in the operator guide.

Datagrok also notifies people in the product when an alert opens or gets worse, once per alert:

  • An owner's alert goes to the owner: the author of the connection or of the scheduled function, or the owners of a problem rule. It links to the connection or function.
  • A platform alert, and an owner's alert with no owner, goes to everyone with the Manage Alerts permission.

Turn these notifications off in your notification settings. A query on a connection that was down on its last check says so in its Details, and warns before it runs. A scheduled function shows its last successful and last failed run in its Details. Each record carries the problem's audience: platform for the platform's operators, owner for problems that belong to the owner of a data connection or a rule, so the people who run the platform are not paged for them.

Working with problems​

Problems and alerts need the Manage Alerts global permission, which administrators have. Use the grok CLI or the REST API (/api/problems). A problem is named by its id or by kind:key, for example health:Jupyter@<server>, report:<report id> or connection:<connection id>:

grok s observe problems list --alert-status open # the open alerts
grok s observe problems resolve report:<report id> --reason "duplicate"
grok s observe problems list --status active --since 7d
grok s observe problems status connection:<connection id> --data '{"status": "muted", "reason": "monthly maintenance", "until": "2026-10-04T06:00:00Z"}'
grok s observe problems status health:Jupyter@<server> --data '{"status": "fixed", "reason": "kernel image rebuilt"}'
grok s observe problems history health:Jupyter@<server> # everything that happened to it

In Usage Analysis, the Errors tab shows the error incident of each error.