Start here. This is the direct spoken answer to practice first.
Why this question matters
Observability should help a team notice user harm, narrow the failing boundary, and verify recovery. More telemetry is not automatically more useful; signals need stable meaning, manageable cost, and a decision they support.
I use metrics to see service behavior over time, structured logs to explain specific events, and distributed traces to follow one operation across dependencies. For an API I start with request rate, error rate, latency percentiles, and saturation such as thread-pool, connection-pool, queue, CPU, and memory pressure. I add dependency duration and failures plus business outcomes such as successful order creation. Alerts are tied to sustained user impact or an exhausted operational limit, not every warning log.