Runtime health
Service, environment, and deployment health from check-ins, logs, and gauges.
The runtime page is one row per service, environment, and deployment. A deployment is a Kubernetes deployment name, a container name, or a host name, whichever the resource attributes include.
Each row shows the release, the last check-in, restarts, disk, CPU, memory, and the log error count for the last hour. Open a row to filter issues to that resource.
Resource attributes
The Collector stamps these on every log, metric, and check-in:
service.name,service.version,deployment.environment.namek8s.cluster.name,k8s.namespace.name,k8s.deployment.name,k8s.pod.name,k8s.container.name,k8s.node.namecontainer.name,container.image.name,host.name
Logs
POST /otlp/v1/logs accepts OTLP JSON and protobuf, gzip, and a project API key with logs:write. Lines keep trace_id and span_id. An error line opens an issue when that trace does not already have an SDK exception.
search_logs reads lines by trace, service, severity, and time.
Gauges
POST /otlp/v1/metrics accepts container.cpu.usage, container.memory.usage, container.filesystem.usage, and the k8s.* gauges the Collector emits. The key scope is metrics:write.
A gauge alert uses kind gauge and a query such as metric:container.filesystem.usage AND tag.container.name:web. A log-rate alert uses kind logRate and optional service:web. The threshold is the error count in the window.
k8s.job.failed_pods above zero opens an issue. A rising k8s.container.restarts opens one issue. Filesystem usage at or above 90% of the limit opens a disk issue and resolves below 85%.
See pricing for how logs and metrics are billed.