We want to know how the website is used and how it is performing. We are concerned about metrics (eg. server cpu and memory usage, file and network io, response time), analytics (page views, user agents), error tracking (eg. exceptions during requests), and logs (server info and warning/error logs). In addition to being able to manually review this information, we also want to be alerted in critical cases (eg. when an exception occurred or when CPU load is too high).
Some of the use cases are best handled by different tools.
Ask someone to invite you to the project on plausible if you do not already have an account.
We are currently evaluating AppSignal as a tool for metrics, error tracking, viewing logs and alerting. It is built and hosted in the EU and seems to have all the monitoring needs one could have combined into one product.
AppSignal collects data using the OpenTelemetry standard. Remix is instrumented
(think of it as "wrapped") by
automatically trace requests and actions and to collect server errors.
Frontend errors are tracked by sending errors through the Appsignal frontend client.
See the AppSignal dashboard here. Ask someone to invite you to the VP-Systeme organisation if you are not already a member.
Testing error tracing
Trigger test errors via the
Seeing traces in development
To see traces in development, you have to configure AppSignal api keys in
your shell (
.env will not work because it is not loaded in production) and run
the production build with
npm run build && npm run start.
Possible tracing improvements
We should add fly instance and region information to the traces if we use more than machine at some point in the future.
We could add more data to our traces. For example, we could add the groq query to the our sanity http traces.
Built in fly metrics
We can send production logs to AppSignal via fly-log-shipper. Maybe we don't even need logs if we only use tracing instead (ie. sending meaningful data to AppSignal).