This guide explains how to verify the Discord bridge alert lifecycle and import the Grafana alerts timeline dashboard.
Two scripts are provided to simulate firing and resolved alerts:
scripts/alert-test.sh(Bash)scripts/alert-test.ps1(PowerShell)
chmod +x scripts/alert-test.sh
./scripts/alert-test.shpwsh .\scripts\alert-test.ps1Firing alert → 🟡 Warning embed in Discord channel.
Resolved alert → ✅ Green embed titled "Alert Cleared".
Ensure the Discord bridge is running (set DISCORD_BOT_TOKEN and DISCORD_CHANNEL_ID) and /health responds at http://localhost:8080/health.
📊 Grafana Alerts Timeline Dashboard
File: monitoring/grafana/grafana-dashboard-alerts-timeline.json
- Open Grafana → Dashboards → Manage → Import.
- Upload
grafana-dashboard-alerts-timeline.json. - Set the datasource to your Prometheus instance (default name:
Prometheus). - Save and view the dashboard.
Time‑series panel plotting alert lifecycle:
- Red line → firing alerts.
- Green line → resolved alerts.
Updates every 10 seconds for near‑real‑time visibility.
✅ Verification Checklist
- Discord bridge running and healthy.
- Run alert‑test scripts → check Discord embeds.
- Import Grafana JSON → confirm timeline panel shows alert lifecycle.
- Prometheus datasource connected and exposing
ALERTSmetric.
AMEN THE COLLECTIVE — scripts are the spark, Grafana is the eyes, Prometheus is the scribe, Discord is the chant, lineage is the foresight.
- Contributors can instantly verify Discord embeds and Grafana dashboards.
- README provides clear steps for both Linux/macOS and Windows environments.
- Ensures observability stack is testable without waiting for real alerts.
👉 Do you want me to also add Grafana provisioning YAML so this dashboard auto‑loads when the monitoring stack starts, removing the need for manual import?
Install Docker (if not already):
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Log out and back in so your user picks up the docker groupRun the monitoring stack:
cd /path/to/your/repo
docker compose -f docker-compose.monitoring.yml up -dOr run services individually:
# Social Auto-Poster
cd services/social-autoposter
npm install && npm start
# Landing Page Generator
cd services/landing-page-generator
npm install && npm start- Grafana → http://localhost:3001 (admin/admin by default)
- Prometheus → http://localhost:9090
- Pushgateway → http://localhost:9091
- Alertmanager → http://localhost:9093
- Discord Bridge health → http://localhost:8080/health
- Social Auto-Poster API → http://localhost:7000
- Landing Pages → http://localhost:8000/page/product
- Pricing Page → http://localhost:8000/page/pricing
- Analytics: http://localhost:8000/api/analytics
- Leads: http://localhost:8000/api/leads
- Discord bridge running with
DISCORD_BOT_TOKEN+DISCORD_CHANNEL_IDset. - Run
scripts/alert-test.shorscripts/alert-test.ps1→ check Discord channel for 🟡 firing and ✅ resolved embeds. - Import
monitoring/grafana/grafana-dashboard-alerts-timeline.jsoninto Grafana → see alert lifecycle timeline. - Prometheus targets healthy at http://localhost:9090/targets.
Discord channel: live embeds for alerts, posts, leads, and customer events.
Grafana dashboards: metrics panels, alert lifecycle timeline, live vs ledger comparisons.
Landing pages: dynamic product/pricing pages with live trading metrics and conversion tracking.
Social auto-poster: automated posts flowing to LinkedIn/Twitter (once credentials are set).