﻿---
title: Compare alerting systems
description: Compare Kibana alerting, the experimental ES|QL-based alerting system, and Watcher by use case and deployment type to select the right tool for your monitoring needs.
url: https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/compare-alerting-systems
products:
  - Elastic Cloud Hosted
  - Elastic Cloud Serverless
  - Elasticsearch
  - Kibana
applies_to:
  - Elastic Cloud Serverless: Generally available
  - Elastic Stack: Generally available
---

# Compare alerting systems
Elastic offers three alerting systems, each suited to different use cases and workflows. For production, use Kibana alerting. The experimental alerting system is available to try, but it isn't ready for production use. Use this page to compare them by goal, feature, and availability.
<note>
  Elastic Security has its own detection rules, separate from these three systems. For threat detection, refer to [Detections and alerts](https://www.elastic.co/elastic/docs-builder/docs/4118/solutions/security/detect-and-alert).
</note>


## Select by use case


| Goal                                                                                                | Suggested system                                                                                                               | Availability                                                                                                                       |
|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| Monitor metrics, logs, or uptime with ready-made rules and no query language                        | [Kibana alerting](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/alerts)                       | <applies-to>Elastic Stack: Generally available</applies-to> <applies-to>Elastic Cloud Serverless: Generally available</applies-to> |
| Write ES|QL to define exactly what to detect and what data each rule event carries                  | [Experimental alerting system](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/system-overview) | <applies-to>Elastic Cloud Serverless: Experimental</applies-to> <applies-to>Elastic Stack: Experimental since 9.5</applies-to>     |
| Record matches as rule events with `type: signal` for later analysis, without sending notifications | [Experimental alerting system](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/system-overview) | <applies-to>Elastic Cloud Serverless: Experimental</applies-to> <applies-to>Elastic Stack: Experimental since 9.5</applies-to>     |
| Query rule event history in Discover or build dashboards from rule event data                       | [Experimental alerting system](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/system-overview) | <applies-to>Elastic Cloud Serverless: Experimental</applies-to> <applies-to>Elastic Stack: Experimental since 9.5</applies-to>     |
| Manage notification routing, grouping, and throttling in one place, reusable across rules           | [Experimental alerting system](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/system-overview) | <applies-to>Elastic Cloud Serverless: Experimental</applies-to> <applies-to>Elastic Stack: Experimental since 9.5</applies-to>     |
| Build highly custom notification logic with reusable, configurable workflows                        | [Experimental alerting system](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/system-overview) | <applies-to>Elastic Cloud Serverless: Experimental</applies-to> <applies-to>Elastic Stack: Experimental since 9.5</applies-to>     |
| Build highly custom logic with scripting and chained inputs                                         | [Watcher](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/watcher)                              | <applies-to>Elastic Stack: Generally available</applies-to> <applies-to>Elastic Cloud Serverless: Unavailable</applies-to>         |


## Compare at a glance


|                                           | Kibana alerting                                       | Experimental alerting system                                                                                                                                                                                                                                                                                                                                     | Watcher                                   |
|-------------------------------------------|-------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------|
| **Best for**                              | Teams using built-in rule types with form-based setup | Teams that need control over detection, and over notification routing when matches are tracked as alert episodes                                                                                                                                                                                                                                                 | Custom alerting logic requiring scripting |
| **Rule definition**                       | Select a rule type and fill in parameters             | [Write an ES|QL query](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/experimental-alerting-system/rules/configure-rule-query) or use a rule builder with form-based setup                                                                                                                                                       | Write a JSON watch definition             |
| **How matches are stored**                | In-place updates, limited query support               | Append-only [rule events](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/experimental-alerting-system/alerts/rule-event-data-model), [queryable with ES|QL in Discover](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/experimental-alerting-system/alerts/query-alerts-and-signals-in-discover) | Watch history index                       |
| **Notifications**                         | Configured per action on each rule                    | [Action policies](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/experimental-alerting-system/notifications-actions) invoke reusable workflows, which send the notification; policies support throttling and conditions                                                                                                          | Action-level throttling and conditions    |
| **Noise reduction**                       | Snooze per rule or per alert, maintenance windows     | Acknowledge or deactivate per alert episode, per-series snooze, maintenance windows, match condition routing in [action policies](https://www.elastic.co/elastic/docs-builder/docs/4118/explore-analyze/alerting/experimental-alerting-system/action-policies/reduce-notification-noise)                                                                         | Action conditions and throttling          |
| **Available on Elastic Cloud Serverless** | Yes                                                   | Yes, <applies-to>Elastic Cloud Serverless: Experimental</applies-to>                                                                                                                                                                                                                                                                                             | No                                        |
| **Available on Elastic Stack**            | Yes                                                   | Yes, <applies-to>Elastic Stack: Experimental since 9.5</applies-to>                                                                                                                                                                                                                                                                                              | Yes                                       |