Find the logs that explain the problem.
Search and filter structured logs, follow live activity as it arrives, and open the lines around any one line — from the same request, host or pod. Every line links to the trace it belongs to.
TimeoutError: pool exhausted after <ms>
Go from an error to the lines that explain it
Logs carry the request, service, host and deploy they came from, so each one is a link to somewhere else. Here is one investigation, from the error to the confirmed fix.
Search, shape and keep your logs
Structured logs that keep their fields, with the tools to narrow them, process them on ingest and control what each index costs.
Open the lines before and after any line, from the same request, host or pod.
contextJSON fields stay fields: filter on them, group by them, and turn one into a metric.
attributesCollapse near-identical lines into one pattern with a count, so a new pattern stands out.
patternsStream the current filter as lines arrive, and freeze it to read what went past.
tailSave a filter, share it with your team, and link to it from a runbook.
viewsParse, rename, redact and drop lines on ingest, with a preview of what each rule matches and changes.
pipelinesSet retention per index, so debug output and audit trails can be kept for different lengths of time.
indexesFollow a line to what it belongs to.
Every line carries the trace, service, host and deploy it came from. Each of those is a link, so a log line is a starting point rather than a dead end.
- To the trace. From a line to the request it came from, and the span that was slow in it.
- To the host. From a line to what that machine was doing at the same moment.
- To the deploy. From a line’s first appearance to the release that introduced it.
- Into an alert. Turn the filter you built into a log monitor from the same view.
Start sending your logs.
Ship over OTLP, JSON or syslog, set retention per index, and search structured fields from the first line. Start on the free plan with no card.