3.4 KiB
Monitoring Plan
Context
This feature is a static marketing website (dist/ bundle, no back-end, no database) currently deployed manually via a build artifact (see operations/deployment/deployment-plan.md). There is no existing monitoring/logging infrastructure in this project yet.
Decision
Monitoring/observability is included for this feature (Question 1 = A / clarified further via Clarification Question 1).
Initial answers to the monitoring plan were contradictory: Question 2 selected "Logging" only (A), yet the alerting/dashboard follow-up questions (4, 5, 6) were also answered, and the answer to Question 4 (S) was not a valid option. A clarification round was run (operations/plans/monitoring-setup-clarification-questions.md) to resolve this before generating artifacts.
Clarified answer: Logging + Dashboards (Clarification Question 1 = C). Alerting is explicitly out of scope for this feature at this time (Clarification Question 2 = D, "not needed yet / decide later" — consistent with not choosing Alerting in Clarification Question 1).
Chosen Approach(es)
Logging
Client-side errors (JavaScript crashes, broken links) are logged. Decided: Sentry free tier (in addition to the browser console) — see the follow-up in audit.md and the implementation in monitoring-setup.md.
Dashboards
A combination of:
- Website analytics (visitors, page views, basic engagement) — e.g. a simple/free tool such as Plausible, Umami, or Google Analytics/Search Console.
- Uptime dashboard (site reachability) — e.g. an external monitoring service such as UptimeRobot or Better Uptime.
(Original Question 6 = C, "Both (analytics + uptime dashboard)".)
Explicitly Out of Scope
- Alerting/notifications: not requested. If the uptime dashboard tool supports basic notifications (e.g. UptimeRobot's own e-mail alert on downtime), that MAY be enabled opportunistically as part of dashboard setup, but no dedicated alerting channel, escalation policy, or alert-on-error-rate logic is designed or required here.
- Reuse of existing infrastructure: this feature does not plug into any pre-existing shared monitoring (original Question 7 = A) — there is none yet. Should a shared back-end/CMS monitoring stack be introduced later, this can be revisited.
Open Action Items
Decide logging destination— Resolved: Sentry free tier, wired intoErrorBoundary/main.tsx(seemonitoring-setup.md). The Gitea Actions variableVITE_SENTRY_DSNstill needs to be created by the user with a real Sentry project DSN; until then the build simply skips Sentry initialization and only console-logging is active.- Pick concrete analytics + uptime tools:
monitoring-setup.mdlists candidate free-tier tools; final tool selection/account creation is a manual follow-up outside this workflow (no code changes required to swap providers, since neither is wired into the codebase yet beyond an optional embed snippet).
Rationale
Given this is a simple static marketing site with no backend and no existing monitoring, the aim is lightweight, low/no-cost observability: enough to know if the site is down (uptime) and how it's being used (analytics), plus a documented (if not yet finalized) path for capturing client-side errors. Alerting was deliberately left out to avoid over-engineering a notification pipeline before there's a concrete trigger/audience for it.