monokle
monokle copied to clipboard
Cluster Logging Enhancement
Describe the enhancement you'd like to see
The typical log looks like this:
2022-02-20 14:00:00.123456 info kubelet container "my-container" is starting
Which consists of the following:
- Timestamp.
- Log level.
- Component.
- Message.
- Additional fields.
We can add a filter for log level or text search on messages.
identify better ways to do this using projects or libraries:
- [x] See logs in real time (done)
- [ ] Syntax highlighting. Being able to identify and change color for dates, error level, etc.
- [ ] See logs from different files at the same time selecting more than one artefact for logs
- [ ] See logs with a selector (label equals value '-l app=nginx')
- [ ] Be able to connect to logs when the kubelet has an expired certificate (--insecure-skipt-tls-verify-backend), with a dialog asking for "are you sure? Yes / no /don't ask again
- [ ] Select the container in the pod to show logs
- [ ] Show logs from all pods, not only one or the first one (--all-containers=true)
- [ ] Filter logs in real time (i.e. only show lines with "WARNING" as grepex. The flow of logs should continue, with the filter applied. If you take out the filter you will see all other files
- [ ] Stop update of the logs (when you want to maintain the logs and you don't want them to move). Ideally: if you are at the bottom of the logs, you see them in real time with updates. If you scroll, it will keep the scroll point, and the list will grow without chagning the focus
Add logs for the capabilites available in kubectl:
-
[ ] Pods
-
[ ] Snapshot of previous terminated log (-p -c )
-
[ ] Jobs
-
[ ] Deployment
-
[ ] Services (** verify that is possible)
-
[ ] All logs with a selector (with maximum number of pods)
-
[ ] filter by last x hours (--since=1h)
-
[ ] First pod and all logs (--all)