Sign inSign up

antonmilev979/js-alert-ai-backend

By antonmilev979

•Updated about 6 hours ago

AI-powered alert monitoring backend for SAP Joule Studio landscapes.

Image
Machine learning & AI
Monitoring & observability
0

366

antonmilev979/js-alert-ai-backend repository overview

⁠js-alert-ai-backend

FastAPI backend for the Joule AI Alert Monitoring system — an AI-assisted alert aggregation, enrichment, and analysis service designed for on-call engineers managing SAP Joule Studio landscapes.

⁠What it does

The backend ingests raw alert streams, enriches them with AI-driven root-cause analysis and dependency-graph reasoning, and exposes the results via REST and WebSocket APIs consumed by the real-time dashboard.

⁠Core pipeline

Upstream Alert Proxy → Ingestion → Enrichment → Broadcasting → Dashboard

  1. Ingestion — polls the upstream alert FIFO, normalises and validates events, persists to PostgreSQL.
  2. Enrichment — runs parallel AI workers (SAP AI Core / LLM) to classify alerts, map service dependencies, generate root-cause hypotheses, and build an AlertVerdict with confidence score.
  3. Broadcasting — fans enriched events out to WebSocket subscribers, filtered per landscape.
  4. Live Summary — continuously regenerates a plain-language situation report per landscape.

⁠Key features

  • Real-time alert feed over WebSocket
  • AI-generated root-cause hypotheses and blast-radius analysis
  • Service dependency graph (topology)
  • Natural-language Q&A about active alerts ("Ask Alerts"), with optional log file attachment
  • Alert statistics, forecasting, and velocity analytics
  • MS Teams webhook notifications
  • MLflow tracing for LLM observability
  • SAP Cloud Logging Service (CLS) integration for deep log correlation
  • PostgreSQL in production; auto-fallback to SQLite for local development
  • SAP XSUAA OAuth authentication (bypass flag available for local dev)

⁠API surface

TypePathPurpose
HTTPGET /api/alerts/recentRecent alert feed
HTTPGET /api/alerts/statsCounts and severity breakdown
HTTPGET /api/alerts/forecastAlert prediction
HTTPGET /api/alerts/landscapesLandscape health summary
HTTPGET /api/alerts/topologyService dependency topology
HTTPGET /api/alerts/cluster/{slug}/analysisPer-cluster root-cause analysis
HTTPGET /healthzHealth probe
WSWS /ws/alertsLive alert stream (cluster-scoped)
WSWS /ws/summaryLive plain-language summary
WSWS /ws/askNatural-language Q&A session
WSWS /ws/cluster-analysisLive dependency graph + hypotheses

⁠Production deployment

The image is designed to run on Kubernetes via the included Helm chart (deploy/helm/js-alert-ai/). In production it expects:

  • A PostgreSQL instance (Kubernetes operator-managed)
  • An SAP Cloud approuter sidecar handling OAuth (XSUAA)
  • Valid SAP AI Core credentials for LLM enrichment

⁠Tech stack

  • Python 3.11 / FastAPI / uvicorn
  • SQLAlchemy + PostgreSQL / SQLite
  • LangChain + SAP AI Core (gen_ai_hub)
  • asyncio worker pool for pipeline stages

Tag summary

Content type

Image

Digest

sha256:3ffca9ae2…

Size

308.9 MB

Last updated

about 6 hours ago

docker pull antonmilev979/js-alert-ai-backend:build-173