Troubleshooting
This guide covers common problems you may encounter when running Alerta and how to diagnose them.
Contents
Overview
When something goes wrong, start by enabling debug logging, then check the management endpoints for server health. Most issues fall into a few common categories: CORS misconfiguration, authentication problems, database connectivity, or plugin errors.
Step 1: Enable debug logging
Set the following in your alertad.conf to enable verbose
debug output:
DEBUG = True
LOG_LEVEL = 'DEBUG'
LOG_FORMAT = 'verbose'
If running in Docker, set the DEBUG environment variable:
$ docker run -e DEBUG=1 alerta/alerta-web
The verbose log format includes timestamps, module names, and
line numbers which are essential for diagnosing issues. Check
the logs for lines containing ERROR or WARNING:
$ grep -E 'ERROR|WARNING' /var/log/alerta/alertad.log
For Docker deployments:
$ docker logs alerta-web 2>&1 | grep -E 'ERROR|WARNING'
Step 2: Check server health
Alerta provides management endpoints for monitoring server health.
Health check – returns OK if the server is running and
the database is reachable:
$ curl http://localhost:8080/api/management/healthcheck
{
"status": "ok"
}
Good to go – a lightweight check suitable for load balancers:
$ curl http://localhost:8080/api/management/gtg
OK
Properties – shows server configuration, version, and database info (requires admin API key):
$ curl http://localhost:8080/api/management/properties \
-H 'Authorization: Key your-admin-api-key'
Heartbeats – check that expected heartbeats are being received. Stale heartbeats often indicate a broken integration:
$ alerta heartbeats
Step 3: Common web UI errors
CORS errors
If the browser console shows Access-Control-Allow-Origin errors,
the web UI cannot reach the API due to cross-origin restrictions.
Set CORS_ORIGINS in alertad.conf to allow the web UI origin:
CORS_ORIGINS = [
'http://localhost:8080',
'https://alerta.example.com'
]
For Docker deployments, set the CORS_ORIGINS environment variable.
Blank page or missing alerts
Check the browser developer console (F12) for JavaScript errors.
Ensure the API_URL in the web UI configuration points to the
correct Alerta API endpoint. For Docker, this is set via the
BASE_URL environment variable.
Step 4: Authentication failures
“401 Unauthorized” errors
Verify the API key is valid and has not expired:
$ alerta key --listCheck that
AUTH_REQUIREDis set consistently – if the server requires authentication, all clients must provide credentialsEnsure API keys have the correct scopes (
read,write:alerts,admin) for the operations being attempted
OAuth / SSO login failures
Verify
OAUTH2_CLIENT_IDandOAUTH2_CLIENT_SECRETare correctCheck that the redirect URI matches exactly what is configured in the OAuth provider
Enable debug logging to see the full OAuth exchange
Step 5: Database connection errors
“could not connect to server” or timeout errors
Verify the
DATABASE_URLis correct and the database is reachable from the Alerta server:$ psql "$DATABASE_URL" -c "SELECT 1"For Docker, ensure the database container is running and on the same network:
$ docker network inspect <network_name>Check for connection pool exhaustion in the logs – this may indicate too many concurrent connections
Step 6: Plugin errors
Plugins that raise exceptions will cause alerts to be rejected. Debug logging will show the full traceback.
Common plugin issues:
A plugin listed in
PLUGINSis not installed – the server will fail to start. Check installed packages:$ pip list | grep alertaA plugin raises an exception during
pre_receive– the alert will be rejected with a 403 errorA
post_receiveplugin failure is logged but does not reject the alert
To temporarily disable a problematic plugin, remove it from the
PLUGINS list and restart the server.
Step 7: Common CLI errors
“connection refused” or timeout
Check that the
ALERTA_ENDPOINTenvironment variable or--endpointflag points to the correct URL:$ alerta --endpoint http://localhost:8080/api query
“not found” when alerts exist
The default query filters by open and acknowledged status. Use
--statusto query other statuses:$ alerta query --status closed
“environment not allowed”
The alert environment must be in the server
ALLOWED_ENVIRONMENTSlist. Check the current setting via the management properties endpoint.