Start with Grafana. It is indexed, searchable across every component at once, and does not require you to know which pod to look at.
Searching logs in Grafana
Open Grafana and go to the Logging dashboards. They search the log lines your cluster’s components have written, indexed so you can filter and count rather than scroll.The dashboards
Filtering
Each Logging dashboard has selectors at the top, and they map onto the labels every log line carries:
Start broad and narrow down.
app_name plus log_level="ERROR" over a wide time range is usually enough to find the window worth reading in detail, and pod_name then tells you whether the problem is one replica or all of them.
Writing your own queries
The dashboards are built from LogQL you can adapt. In Grafana, choose Explore with the Loki data source. Find every error from one application in the current time range:qs_requestId, qs_table, qs_timeMs, qs_docs, qs_entries, and qs_query — the same values shown as columns on the query dashboards. qs_requestId is the one to carry between dashboards when drilling into a single slow query.
For anything beyond ad-hoc searching of query behaviour, prefer
system_query_log over the query_stats log group. It is a queryable Pinot table with a much richer set of columns, and you can join and aggregate it with SQL. The log view is the fallback when the query logger is not enabled on your cluster.Retention
Logs are retained for a bounded window, set for your environment — days rather than months. Confirm the exact retention with your StarTree team if you need to rely on it. Beyond that window the lines are gone, so for a problem you may need to explain later, export what you need while it is still in range: use Inspect → Data on a log panel, or copy the lines out of the log view. This matters most for intermittent problems. If something fires monthly, do not plan to go back and look at the previous occurrence — capture each one as it happens.Pulling raw log files from an instance
When you need the unparsed file from one specific component — a full stack trace, a startup sequence, everything around a single second — use the Pinot controller’s logger API. This is also the route when you need to hand a complete log file to support. All calls go to your controller host and use the same authentication as the rest of the Pinot API; see Manage API tokens.1
List the instances that have logs
2
List the log files on one instance
Server_pinot-server-0.…_8098, for example. See Collect log files from a given instance.For the controller you are already talking to, GET /loggers/files lists its local files directly (reference).3
Download the file
Raising a log level to reproduce something
If a problem is reproducible but the logs are not saying enough, you can raise a logger’s level at runtime without a restart.1
Find the logger
GET /loggers/{loggerName} returns the level of one (reference).2
Raise the level
3
Reproduce, collect, and put it back
Reproduce the problem, collect what you need from Grafana or the file API, then set the level back to
INFO.Task and subtask logs
For minion work, the Data Portal shows logs in context rather than making you search for them. Open a task plan and use its Logs tab, or open an individual subtask for its own log view alongside its progress. See Task observability.What is not available to you
Some logs exist but are not exposed:- Logs from the managed platform itself. The services StarTree runs to operate and manage your environment are not exposed here.
- Cloud provider infrastructure logs. Network and cloud-API audit logs for StarTree-managed infrastructure are not exposed through the Data Portal. In a BYOC or BYOK deployment the data plane runs in your own cloud account, so those logs are in your account and under your control.
- Anything older than retention. Once the window has passed, the data is deleted rather than archived.
Related
- Grafana dashboards — where the Logging dashboards live
- Query Logger —
system_query_log, the structured alternative for query analysis - Pinot audit logs — who did what to the cluster, as opposed to what it logged
- Task observability — logs for minion tasks
- Troubleshooting: start here

