What is measured
Lab Control presents HTTP and HTTPS GET checks against the fixed public gergokalman.hu homepage. A successful check requires status 200 and the expected site marker in the response. HTTPS also requires normal certificate and hostname validation; invalid certificates are failures, never silently accepted.
Response time is the total time to complete the probe, including name resolution, connection and response body. It is not ICMP ping or a measurement from the visitor’s location. TLS expiry is shown only when a validated HTTPS response provides certificate information.
Source and limitations
The collector runs in a separate container on the website’s host, once per minute. This is a same-host observation point. It can reveal application and TLS failures while the host is running, but cannot independently report that the entire host or its network has disappeared. A separately hosted probe is the next monitoring milestone.
If the last sample is over three minutes old, current state becomes stale. Missing samples are unknown. The dashboard never fills missing history with successful checks.
Reading availability
The 24-hour and 7-day views report successful checks divided by observed checks. Coverage separately reports how many expected one-minute slots have observations. A newly started monitor can show 100 % observed success with very low coverage; that is not a claim of seven days of uninterrupted availability.
The timeline summarizes fixed time buckets: a failure takes priority, an all-success bucket is green, and an empty bucket is unknown. Gaps remain empty in the response-time chart. Recent failed checks are probe observations, not automatically declared incident reports.
Deployment
The deployment uses compose.yaml plus deploy/compose.monitor.yaml. The additional service runs deploy/monitor.mjs. A named Docker volume stores bounded seven-day JSON history. The application mounts that volume read-only and exposes a filtered summary at /api/status.
cd /opt/gergokalman.hu
./deploy/update.sh
docker compose -f compose.yaml -f deploy/compose.monitor.yaml logs --tail=30 monitor
The API does not accept probe targets, expose credentials or offer device controls. A refresh reads collected results; it does not make an extra outbound check. Local development without a collector honestly displays Awaiting measurements.
Backup and recovery
Keep source and the previous application image before deploying. Do not remove the telemetry volume during routine updates. Back up the named telemetry volume separately if its history matters; a source ZIP does not contain collected history.
If measurements stop, inspect the monitor logs, volume permissions and network access. If HTTP works but HTTPS fails, inspect the certificate and hostname first. Never disable certificate verification to turn the dashboard green.
Future observation points
A remote probe can later provide an independent availability signal. Prometheus and its Blackbox Exporter are an option for expanding beyond this intentionally small collector. They are not dependencies of the current implementation.