Looking for a log viewer

I’m currently using a log saving configuration similar to this one (fluent-bit DaemonSets forwarding to a 1-replica StatefulSet collecting the logs to disk), with ngnix for viewing the logs, and logrotate for preventing the logs from completely filling the 40GB persistent volume that I have set up.

This mostly works great, except that viewing the logs is sort of a pain. The main browser view works sort-of-okay:

Nginx listing of logs

The two problems are:

  • My logrotate configuration simply looks for files that end in .log and adds a date suffix, which causes nginx to have no idea what MIME type to send, and then triggers a download and open prompt rather than viewing in-browser
  • The logs are all JSON structured logs, which is great except that actually reading them raw is… not great.
Not the best for quick scanning

Ideally, I’d like a web server which can serve the following:

  • A nicer directory listing. In particular, it would be cool to not have to translate 4196640 to “4.1MB” in my head. 😁
  • The actual log files, supporting range requests for large files so that I don’t need to download 40MB until I actually need it.
  • A nice JavaScript log viewer which allows filtering and eliding the structured JSON fields.

I haven’t found something out there yet; I may end up being forced to write one. (I got spoiled by the Stackdriver viewer when I worked on GCP, but I’m trying to live off the land for this cluster rather than caving in to SaaS. I’d also like something smaller than ELK, but I may end up doing that in the end.)

0 thoughts on “Looking for a log viewer

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.