Application & database dashboard
Dashboard name: dash-mz-app-{env} (dev / prd)
UID: monozu-application
Source: Infrastructure/observability/grafana/monozu-app.dashboard.json
Azure Portal → Monitor → Dashboards with Grafana, or rg-monozu-shared-{env} → dash-mz-app-{env}.
RBAC: Monitoring Reader on rg-monozu-shared-{env}, rg-monozu-cloud-{env}, rg-monozu-ingest-{env}, and rg-monozu-manage-{env}.
Filters
Section titled “Filters”| Variable | Values | Notes |
|---|---|---|
| service | monozu-cloud-backend, monozu-cloud-worker, monozu-ingestor, monozu-management-backend | Multi-select, All = all |
| tenant | Distinct Properties.tenant_id from AppRequests | UUID only; refreshes on dashboard load (not on every time-range change) |
| severity | all, warn_plus | Logs row |
| search | free text | Matches Message or OperationId |
Default time range: 24 hours. Refresh: 1 minute.
Overview stat colors
Section titled “Overview stat colors”Overview stat panels use stepped thresholds (SLO-relaxed):
| Metric type | Green | Yellow | Red |
|---|---|---|---|
| Success % (HTTP, SQL, worker) | ≥95% | ≥90% | <90% |
| 5xx rate | 0% | ≥1% | ≥5% |
| Avg latency (ms) | <500 | ≥500 | ≥5000 |
| Exceptions (count) | 0 | ≥5 | ≥20 |
Timeseries panels in other rows are not threshold-colored.
| Row ID | Section |
|---|---|
| 100 | Overview — HTTP KPIs (business/server success, 5xx, avg latency), exceptions, worker/SQL KPIs |
| 110 | HTTP — combined P50/P95/P99 latency, status by service, slowest endpoints |
| 120 | Worker jobs — throughput, success, p95, failures by job name |
| 130 | Tenants — top request count, 5xx rate, p95 (Top 10) |
| 140 | Errors — exceptions by type/code, 5xx trend, failed requests |
| 150 | SQL / dependencies — SQL rate/latency, outbound HTTP/Azure |
| 160 | Logs — AppTraces with severity filter |
Success definitions
Section titled “Success definitions”- Business success —
AppRequests.Success == true(HTTP status < 400). - Server success —
toint(ResultCode) < 500. - Endpoint ranking tables require Count ≥ 20 before appearing in Top 10.
OperationId drill-down
Section titled “OperationId drill-down”The latest-failed-requests table links OperationId to the same dashboard with var-search set. The Logs row matches Message or OperationId against the search box.
Deploy / rollback
Section titled “Deploy / rollback”- Edit
monozu-app.dashboard.json. - Validate:
python3 Infrastructure/observability/grafana/validate_dashboards.py Infrastructure/observability/grafana/monozu-app.dashboard.json - Deploy shared infrastructure Bicep (substitutes
__LAW_RESOURCE_ID__). - Rollback: redeploy the previous JSON from git.
Legacy dash-monozu-obs-{env} remains until manually removed from Azure.