
Monitoring Rust Services With Grafana Dashboards Explained
Build a Grafana dashboard for a Rust service from Prometheus metrics: the RED panels, PromQL for rate, errors and p99, saturation panels, variables and alert rules.
From cargo build to production: CI pipelines, slim Docker images, Linux services and what to watch afterwards.

Build a Grafana dashboard for a Rust service from Prometheus metrics: the RED panels, PromQL for rate, errors and p99, saturation panels, variables and alert rules.

A Compose file that runs a Rust service with PostgreSQL and Redis for local development, with healthchecks so the app starts after its dependencies, volumes, networks and a clean teardown.

Expose Prometheus metrics from a Rust service: counters, gauges and histograms with the metrics crate, an Axum /metrics endpoint, labels to keep small and useful metrics to start with.

Run a Rust service on Kubernetes properly: a Deployment with liveness and readiness probes, resource requests and limits, graceful shutdown with SIGTERM, and a rolling update strategy.

Build and deploy a Rust function to AWS Lambda with cargo-lambda: project template, lambda_runtime handler, ARM builds, deploy, invoke locally, cold starts and limits.

Deploy a Rust web service to Fly.io from scratch: Dockerfile, fly launch, fly.toml with health checks, secrets, a Postgres attachment, scaling and rollbacks.

Why a one-line change recompiles every crate in Docker, and the fixes in order of effort: copy order, a dummy main trick, cargo-chef, BuildKit cache mounts and a pinned base.

A reproducible build produces the same bytes from the same source anywhere. See what breaks it in Rust (paths, timestamps, toolchains), how to fix each, and how to verify a binary.

Build a fully static Rust binary for the musl target and run it from a scratch image. Covers the target, linker, OpenSSL and DNS caveats, the allocator and how to verify.

Four runtime base images for Rust containers, compared on size, libc, debugging, TLS certificates and security. A decision table and the failure each choice invites.

tracing adds spans and key-value fields to logs, works across async tasks and outputs JSON for log pipelines. Set up tracing-subscriber and instrument a handler.

Build a Rust service image in two stages so the final image holds only the binary and what it needs to run. See the Dockerfile, the sizes to expect and the checks that it works.
We send one email when a new post is published. No spam.