Metrics · Logs · Traces · Alerting · OpsCore
The three pillars — metrics, logs, and traces — plus the alerting layer that turns them into pages, and a look at how an internal platform like OpsCore consolidates all of it into one pane of glass.
Metrics tell you something is wrong. Logs tell you what. Traces tell you where. Alerting decides when to wake someone up. OpsCore is where all four live together.
Click any pillar to explore concepts, queries, and production-tested guidance.
/metrics HTTP endpoint that gets polled on an interval.$namespace, $pod) — one dashboard, many contexts| Trait | Loki | ELK (Elasticsearch) |
|---|---|---|
| Indexing | Labels only — cheap | Full-text on every field — expensive |
| Query language | LogQL | KQL / Lucene / DSL |
| Storage cost | Low (object storage, chunks) | High (inverted index overhead) |
| Best fit | Kubernetes-native, Grafana shops, cost-sensitive | Complex free-text search, security/SIEM use cases |
| Native to | Grafana ecosystem | Kibana |
/var/log/pods, attaches pod/namespace labelsgroup_by: [alertname, cluster]) instead of one page per podtrace_id into structured logs — makes "metric spike → logs → trace" a single click, not three tabs/incidents/<id> view that pulls metrics graph + log window + trace waterfall together| Factor | Internal Platform (OpsCore-style) | Commercial APM |
|---|---|---|
| Cost model | Infra + engineering time | Per-host / per-GB licensing |
| Domain fit | Exact match to internal services & ownership | Generic, needs custom tagging |
| Data residency | Fully on-prem/internal | Vendor cloud, unless self-hosted tier |
| Time to value | Slower — you build it | Fast — mostly configuration |