When something goes wrong, the most effective first step is to check three sources in order: the service logs (Celery worker stdout, Streamlit stderr), the connector health endpoints (which surface data source reachability independently of a full analysis run), and the Celery task state stored in Redis. Most failures fall into one of three categories — startup problems, analysis-time failures, or connectivity issues — and the sections below address each with targeted diagnostic commands and configuration fixes.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vrashmanyu605-eng/devops-root-cause-analysis-agent/llms.txt
Use this file to discover all available pages before exploring further.
- Startup Issues
- Analysis Issues
- Connectivity Issues
Celery worker fails to start
Celery worker fails to start
The most common cause is a missing or malformed Then verify the worker can register itself with the broker:If
REDIS_URL environment variable. The worker process exits immediately if it cannot connect to the Redis broker during startup.DiagnosisFirst, confirm that Redis is reachable from the worker container or host:inspect ping times out with no response, the worker process has not started or cannot reach the broker.Common causes and fixesREDIS_URLis not set — add it to your.envfile:REDIS_URL=redis://localhost:6379/0- Redis is not running — start it with
docker compose up redisorredis-server - Firewall or network policy blocking port 6379 between the worker and Redis containers
CELERY_BROKER_URLis set to a different value thanREDIS_URL— ensure both point to the same Redis instance
Streamlit UI shows a blank page
Streamlit UI shows a blank page
A blank page at Verify that port 8501 is not already bound by another process:Fixes
http://localhost:8501 usually means Streamlit started but encountered an import or runtime error before rendering, or the browser is connecting before the server is ready.DiagnosisCheck the terminal output where streamlit run was launched for Python tracebacks. Streamlit prints errors to stderr before the server begins accepting connections:- If a traceback is present, resolve the underlying Python error (see the ImportError accordion below).
- If the port is in use, stop the conflicting process or change the port:
streamlit run app/ui.py --server.port 8502 - Clear Streamlit’s module and data cache if a stale cache is causing unexpected state:
- On some Linux hosts, Streamlit’s file watcher uses
inotify. If you see “inotify watch limit reached”, increase the system limit:
ImportError or ModuleNotFoundError on startup
ImportError or ModuleNotFoundError on startup
This error means Python cannot locate one or more packages that the agent depends on. It most often occurs when the virtual environment is not activated or dependencies were never installed.DiagnosisIf the If you are using Docker and see this error inside the container, the image may have been built before
grep returns no output, the packages are missing from the current environment.FixesActivate the virtual environment and install dependencies:requirements.txt was last updated. Rebuild without cache:Always pin your dependency versions in
requirements.txt (e.g., celery==5.3.6) to avoid silent breakage when upstream packages release incompatible updates.Enabling Debug Logging
Detailed debug output is the fastest way to understand exactly what the agent is doing at each pipeline stage. Enable it for the Celery worker and the Streamlit UI independently. Celery worker with debug logging:DEBUG level, the worker logs the full signal payload before it is sent to the LLM, the rendered prompt template, and the raw LLM JSON response. This makes it straightforward to verify that the correct signals are being fetched and that the LLM prompt is populated as expected.
If none of the steps above resolve your issue, open a GitHub issue in the repository and attach the debug log output (redact any API keys or secrets). Include the analysis ID, the list of enabled connectors, and the environment variable names (not values) that are set in your
.env file.