Logs
← Documentation · Welcome
Everything your pods write to stdout/stderr is collected by the platform and kept for one year, searchable in Grafana. You don't need to run a log shipper, mount anything, or configure your app - just log to standard output.
Where to find them
Open the cluster's Grafana (https://grafana.k8s-isg-dev.inf.ethz.ch, log in with your ETH account). You see the logs of the namespaces your access groups grant in Dashboards → Logs: pick your namespace, optionally a pod and container, and type a word the line must contain. Good enough for most debugging.
App Overview
Grafana opens on App Overview, the one-page health check of your namespaces: the pods and anything wrong with them (crash loops, image pull errors, OOM kills, missing replicas), CPU and memory against your requests, limits and quota, how full your quota and your volumes are, network and disk I/O per pod, and the warnings and errors from your logs. Pick your namespace(s) in the dropdown at the top; the dropdown only lists the namespaces you have access to, and every panel is filtered to them.
Unlike logs, metrics are kept for 10 days only. That covers "what happened last weekend", not month-over-month trends; if you need those, scrape the metrics into your own long-term storage or open a ticket.
If you need a panel that is not there, open a ticket at support@inf.ethz.ch (what to include).
Tips
- Log JSON or logfmt and Grafana can filter and graph on your fields without any extra setup.
- Don't log secrets. Logs are kept for a year and visible to everyone in your access group and to the platform admins.
- Very chatty apps are rate-limited per namespace; if you need more volume or a longer retention (logs: 1 year, metrics: 10 days), open a ticket at support@inf.ethz.ch (what to include).
- To exclude a pod from log collection, annotate it with
fluentbit.io/exclude: "true". kubectl logsstill works as usual for the live view of a running pod.