Skip to content

Application & database dashboard

Dashboard name: dash-mz-app-{env} (dev / prd)
UID: monozu-application
Source: Infrastructure/observability/grafana/monozu-app.dashboard.json

Azure Portal → MonitorDashboards 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}.

VariableValuesNotes
servicemonozu-cloud-backend, monozu-cloud-worker, monozu-ingestor, monozu-management-backendMulti-select, All = all
tenantDistinct Properties.tenant_id from AppRequestsUUID only; refreshes on dashboard load (not on every time-range change)
severityall, warn_plusLogs row
searchfree textMatches Message or OperationId

Default time range: 24 hours. Refresh: 1 minute.

Overview stat panels use stepped thresholds (SLO-relaxed):

Metric typeGreenYellowRed
Success % (HTTP, SQL, worker)≥95%≥90%<90%
5xx rate0%≥1%≥5%
Avg latency (ms)<500≥500≥5000
Exceptions (count)0≥5≥20

Timeseries panels in other rows are not threshold-colored.

Row IDSection
100Overview — HTTP KPIs (business/server success, 5xx, avg latency), exceptions, worker/SQL KPIs
110HTTP — combined P50/P95/P99 latency, status by service, slowest endpoints
120Worker jobs — throughput, success, p95, failures by job name
130Tenants — top request count, 5xx rate, p95 (Top 10)
140Errors — exceptions by type/code, 5xx trend, failed requests
150SQL / dependencies — SQL rate/latency, outbound HTTP/Azure
160Logs — AppTraces with severity filter
  • Business successAppRequests.Success == true (HTTP status < 400).
  • Server successtoint(ResultCode) < 500.
  • Endpoint ranking tables require Count ≥ 20 before appearing in Top 10.

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.

  1. Edit monozu-app.dashboard.json.
  2. Validate: python3 Infrastructure/observability/grafana/validate_dashboards.py Infrastructure/observability/grafana/monozu-app.dashboard.json
  3. Deploy shared infrastructure Bicep (substitutes __LAW_RESOURCE_ID__).
  4. Rollback: redeploy the previous JSON from git.

Legacy dash-monozu-obs-{env} remains until manually removed from Azure.