SigNoz Cloud - This page is relevant for SigNoz Cloud editions.
Self-Host - This page is relevant for self-hosted SigNoz editions.

Migrate Alerts from ELK Stack

Overview

Migrating alerts from the ELK Stack (Kibana Alerting, ElastAlert) to SigNoz involves translating your alert logic from Elasticsearch queries to SigNoz's OpenTelemetry-native alerting engine (powered by Prometheus Alertmanager).

This guide helps you map your existing alert rules and notification channels to SigNoz.

Prerequisites

  • A SigNoz account (SigNoz Cloud or Self-Hosted).
  • List of existing alert rules and notification channels from Kibana or ElastAlert.

Migration Steps

Step 1: Set Up Notification Channels

Before migrating rules, configure your notification channels in SigNoz.

Supported Notification Channels

ChannelELK StackSigNozNotes
EmailStandard integration
SlackStandard integration
MS TeamsStandard integration
PagerDutyStandard integration
OpsGenieStandard integration
WebhookGeneric integration
Incident.ioVia WebhookNative or Webhook
Index-Not supported

See Alerts Notification Channel documentation for setup details.

Step 2: Translate Alert Logic

You need to map your ELK alert types to SigNoz alert types.

ELK Rule TypeSigNoz Alert TypeDescription
Metric ThresholdMetric AlertAlert when a metric crosses a threshold (e.g., CPU > 90%)
Log ThresholdLog AlertAlert on count of logs matching a query (e.g., > 10 errors/min)
APM Latency/ErrorTrace AlertAlert on span duration or error status
Spike/AnomalyAnomaly AlertDetect deviations from normal patterns
ElastAlert FrequencyLog AlertCount events in a time window
ElastAlert FlatlineLog/Metric AlertAlert when count drops below threshold

Step 3: Convert Queries

Translate your KQL/Lucene queries to SigNoz queries.

Query LogicKibana (KQL)SigNoz (ClickHouse SQL)
Field Matchstatus:500attributes_string['status'] = '500'
Text Matchmessage:"failed"body ILIKE '%failed%'
Booleanenv:prod AND level:errorattributes_string['env']='prod' AND attributes_string['level']='error'
Rangeduration:>1000attributes_int['duration'] > 1000

Step 4: Create Alert Rules

  1. Navigate to Alerts in SigNoz.
  2. Click + New Alert.
  3. Select the alert type (Metric, Log, Trace, etc.).
  4. Build your query using the Query Builder or enter the translated SQL/PromQL.
  5. Set the threshold and evaluation window.
  6. Select your notification channel.

Infrastructure as Code (Terraform)

If you managed ELK alerts with Terraform or ElastAlert YAMLs, you can use the SigNoz Terraform Provider to manage SigNoz alerts as code.

Validate

To confirm that your alerts are migrated correctly:

  1. Test Trigger: Temporarily lower thresholds to trigger the alert.
  2. Verify Notification: Check if the notification is received on the configured channel.
  3. Check Alert Status: Verify the alert shows as "Firing" in the SigNoz UI.

Troubleshooting

Alerts not triggering

  • Check Data: Ensure the underlying data (logs/metrics) is present.
  • Verify Query: Run the query in Query Builder to ensure it returns results.
  • Check Thresholds: Ensure the condition is actually met.
  • Evaluation Window: Ensure the condition persists for the duration of the evaluation window.

Notifications not received

  • Test Channel: Use the "Test" button in channel configuration.
  • Check Spam: For email, check spam folders.
  • Verify Webhook: Ensure webhook URLs are reachable from SigNoz.

Next Steps

Last updated: December 1, 2025

Edit on GitHub

Was this page helpful?