Alerts
Ingest Elastic Security detection alerts by polling or webhook, each with an automatic summary. Group, filter, and set dispositions in the feed, and investigate a single alert.
Alerts is a tab on Security posture. Alerts come from Elastic Security or any detection system that writes to an alert index. The gateway ingests them, adds a one-line summary to each, and tracks a disposition shared by the team. Ingest and dispositions are free; alert investigation is paid.
Ingest sources
Ingest configuration at the bottom of the page offers two sources, which can run together. With polling, the gateway tails the alert index on an interval, so the delay is about one interval. With the webhook, a Kibana detection rule calls the gateway as it fires, with no delay.
Each ingested alert costs one model call for its summary. When a push runs past the summary time budget, the remaining alerts are stored without a summary and Ingest configuration shows how many.

Set up polling
Prerequisites
- The alert index is in the index whitelist,
RST_INDEX_WHITELIST. ES_USERcan read.alerts-security.alerts-*and the backing indices.internal.alerts-security.alerts-*.
Steps
- Under Ingest configuration > Polling, enter the read alias in Alert index, for example
.alerts-security.alerts-default. Do not enter a.internal.*backing index. - (Optional) Change Poll interval (seconds). The default is 10.
The first pull reaches back by RST_ALERT_INGEST_LOOKBACK (default 1h), then follows a cursor. If the index already holds weeks of detections, set it to a value such as 7d. Clear Alert index to turn polling off.
Set up the webhook
Steps
- Under Ingest configuration > Webhook, set an Auth secret.
- In Kibana, create a Webhook connector with URL
https://<hostname>/api/alerts/ingestand headerX-RST-Alert-Token: <secret>. - If the gateway sets
RST_GATEWAY_SHARED_SECRET, add the headerX-RST-Gateway-Tokenas well, or every push gets a 401.
One push carries up to 200 alerts. Without a secret, /api/alerts/ingest returns 403.
Ingest parameters
| Variable | Default | Description |
|---|---|---|
RST_ALERT_INGEST_INDEX | empty | Alert index to poll. Empty turns polling off |
RST_ALERT_INGEST_INTERVAL_SECONDS | 10 | Poll interval in seconds |
RST_ALERT_INGEST_LOOKBACK | 1h | How far back the first pull reaches when no cursor exists |
RST_ALERT_WEBHOOK_SECRET | empty | Webhook secret. Empty turns the webhook off |
RST_ALERT_INGEST_CONCURRENCY | 4 | Summaries generated in parallel |
RST_ALERT_INGEST_BUDGET_S | 20 | Seconds one push may spend on summaries |
Alert overview

Alert overview shows the alerts in the window, the critical and high count, and the handled and false-positive count. Below them are the Alert rate chart (1 hour, 6 hours, 24 hours, 7 days) and the noisiest rules in the window.
Work the feed

New alerts appear at the top of the Alert feed. Scrolling down pauses the feed; returning to the top resumes it. With Group on, alerts with the same rule and subject fold into one row. To keep a filter combination, select Save current under Views.
The dispositions are Open, Handled, False positive, and Escalated, shared by the team. Select several rows, then select Mark handled, Mark false positive, or Reopen; the change can be undone. Handled and false-positive alerts are hidden until you select Show handled / false positives.
Select a row to open the alert details: AI summary, rule, subject, Raw JSON, and the Asset context (business name, criticality, owner, and so on) matched from the Asset inventory. Select Send to triage to hand the alert to Triage.

Alert investigation
Paid feature, available in Professional (including the 14-day trial) and above.
An investigation gathers evidence around the alert's subject (host, IP, account) within a time window: asset and identity enrichment first, then several rounds of retrieval, then a verdict. It usually takes 30 to 60 seconds. To start one, select Investigate in the alert details.


| Block | Content |
|---|---|
| Badges | Severity, Likely false positive, confidence, Agentic rounds, context documents pulled |
| Verdict | What the event is and whether it needs action |
| False-positive assessment | The basis for the false-positive judgment |
| Timeline | Related events in order |
| Affected assets | Hosts, IPs, and accounts involved |
| Recommended action | Numbered concrete steps |
| Retrieval trace (agentic) | Each step with index, hit count, and parameters. Failed steps, such as an index outside the whitelist, are listed too |
At the bottom of the report you can change the Disposition, select Make a detection rule to hand off to Detection rules, select Push the conclusion to send it to Outbound channels, or export a Markdown report from Export / share. Every investigation is archived in Investigations.
The 10.30.x.x in the screenshot comes from cloud masking mode, which replaces IPs and accounts before they reach the model. Air-gapped and private modes show real values.
Alert push
New alerts above a severity threshold are pushed to Feishu, DingTalk, WeCom, Teams, Slack, or email. Set the threshold and destinations in Outbound channels.
Security posture
Alerts, critical and high counts, baseline drift, and platform issues in a time window, plus the ten noisiest rules and the ten latest alerts.
Reports
Daily, weekly, and monthly reports covering alert posture, top rules and entities, baseline pass rate, model usage, and health. On demand or scheduled, archived, and pushed.