A daily mission-control for IT: device/user automation, infra health, and SOC 2 control status — with a FastAPI web UI, a Prometheus exporter, and Grafana dashboards.
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python monitoring/prometheus_exporter.py --port 9108
uvicorn web-dashboard.main:app --reload --port 8000Open: http://localhost:8000
Metrics: http://localhost:9108/metrics
This project runs cleanly in Docker, automatically provisioning Grafana with a Prometheus datasource and the included dashboard.
- Docker Engine + Docker Compose plugin
- Linux/macOS/Windows (Docker Desktop works fine)
# Ubuntu quick install
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
newgrp dockergit clone https://github.com/suresh-1001/it-ops-control-center.git
cd it-ops-control-center
# (Optional) set a stronger first-time Grafana password
sed -i 's/GF_SECURITY_ADMIN_PASSWORD=admin/GF_SECURITY_ADMIN_PASSWORD=ChangeMe123!/' docker-compose.yml
docker compose up -d| Service | URL | Description |
|---|---|---|
| FastAPI UI | http://<server-ip>:8000/ |
IT Ops Control Center web interface |
| Grafana | http://<server-ip>:3000/ |
Login with admin credentials from compose |
| Prometheus | http://<server-ip>:9090/ |
Prometheus metrics explorer |
| Exporter | http://<server-ip>:9108/metrics |
Raw metrics endpoint |
If a firewall is enabled:
sudo ufw allow 8000,3000,9090,9108/tcp# SOC 2 status file (for Compliance Status panel)
docker compose exec api bash -lc "python compliance/control_status_collector.py"
# Onboarding plan (visible in UI)
docker compose exec api bash -lc "python automation/onboarding_workflow.py --email [email protected] --role Engineer --out automation_onboard_plan.json"Then refresh:
- FastAPI UI → shows updated Compliance Status and Quick Onboarding (Dry Run)
- Grafana → auto-imported dashboard visualizes uptime & control metrics
Grafana is configured to automatically:
- Create a Prometheus datasource at
http://prometheus:9090 - Import the dashboard from
grafana/dashboard.json - Store dashboards in folder IT Ops Control Center
If you forget the password:
docker compose exec grafana grafana-cli admin reset-admin-password 'ChangeMe123!'| Component | Description |
|---|---|
| FastAPI UI | Displays onboarding, compliance status, and metrics |
| Prometheus Exporter | Emits VM/VPN heartbeat and open-action metrics |
| Grafana Dashboard | Visualizes uptime, onboarding, and SOC 2 controls |
| Provisioning Files | Auto-configures Grafana datasource and dashboards |
| Adapters | Stubs for Google Workspace, Slack, Intune/Entra, Jira (ready for real API wiring) |
Purpose: Streamline IT systems and security workflows for daily visibility, operational resilience, and audit readiness.
| Role Alignment | Value Demonstrated |
|---|---|
| IT Systems & Security Specialist | SOC 2 / PCI DSS automation, Jira & Slack integrations, fleet and endpoint management |
| IT Operations Manager | VM/VPN uptime monitoring, helpdesk workflow automation, network and infrastructure reliability |
Impact Metrics
- 60 % faster onboarding/offboarding cycle
- 24 h infrastructure visibility via Grafana/Prometheus
- Daily SOC 2 JSON control export → auditor-ready evidence
docker compose down
git pull
docker compose up -d/docs/step-by-step with screenshots/scripts/repeatable automation/dashboards/sample JSON/PBIX (if relevant)/templates/redacted policies/SOPs
Contact
- Email: [email protected]
- LinkedIn: linkedin.com/in/sureshchand01