Logging stuff

14 views
Skip to first unread message

Mike Thompson

unread,
Oct 12, 2020, 12:47:19 PM10/12/20
to kial...@googlegroups.com
In looking at other logging analyzers I found this one to be interesting: 


Wondering if we shouldn't incorporate something like their timeline or pretty print features?

-- Mike

Joel Takvorian

unread,
Oct 13, 2020, 3:23:42 AM10/13/20
to Mike Thompson, kiali-dev
Looks like it is a compiled executable, so not sure how we could incorporate it ...
But otherwise +1 to look for existing libraries!

--
You received this message because you are subscribed to the Google Groups "kiali-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kiali-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kiali-dev/CACms5tuj2hcPWi-mn3Q7UeOK9cfTT4Qg7FtSc27WRd3uyGDqRA%40mail.gmail.com.

Lucas Ponce

unread,
Oct 13, 2020, 3:34:07 AM10/13/20
to Joel Takvorian, Mike Thompson, kiali-dev
We should put a feature context on this.

What do we want to accomplish by adding this library ?

Kiali won't be a generic tool for logging analytics, it will correlate logs always in the context of ServiceMesh/Istio scenarios.

I'd like to see more feature proposals (i.e. log structure for a container is open, but we know the structure of the proxy, that would be fixed and probably there are possibilities having that info).

So, I'd try to identify a technical framework / library in the context of a feature we want to work on.

Lucas

Mike Thompson

unread,
Oct 13, 2020, 8:56:20 AM10/13/20
to Joel Takvorian, kiali-dev
To further clarify, the idea wasn't to pull in the compiled code but to replicate some of the features in our logging tab via React. For example:

1) Pretty Print View:
pretty-print.png

2) Timeline View:

tiemline.png



Joel Takvorian

unread,
Oct 13, 2020, 9:39:59 AM10/13/20
to Mike Thompson, kiali-dev
What I liked from what I've seen in this tool is the ability to merge several log sources into one output (with some different colors).
That could be pretty handy to see istio-proxy and main container logs at the same time, instead of a split window

Joel Takvorian

unread,
Oct 13, 2020, 9:43:58 AM10/13/20
to Mike Thompson, kiali-dev
(PS : i didn't check the latest developments in the area, perhaps that's something already in the pipeline!)

Edgar Hernández

unread,
Oct 13, 2020, 10:12:38 AM10/13/20
to Joel Takvorian, Mike Thompson, kiali-dev
I only gave it a quick look at the homepage and it looks quite awesome.

Having said that, I don't think that "replicating the features via React" is that easy.
It requires parsing... and even a so-so decent parser requires quite a lot of work.

I would delegate that work to other tools, similarly to how we are delegating some things to Jaeger and Grafana.
Perhaps, for logging it would mean to delegate to elasticsearch?

Mike Thompson

unread,
Oct 13, 2020, 12:11:03 PM10/13/20
to Edgar Hernández, Joel Takvorian, kiali-dev
It requires parsing... and even a so-so decent parser requires quite a lot of work.
Actually, Caina has started parsing on the server-side. So we will have more options there. 

Perhaps, for logging it would mean to delegate to elasticsearch?
We could delegate to something like Logstash/Loki but I think our purpose here is just to show whatever the k8s API gives us in more powerful and easier ways. Also to correlate other information such as Health/spans/etc... with the logs.

Joel Takvorian

unread,
Oct 13, 2020, 12:15:35 PM10/13/20
to Edgar Hernández, Mike Thompson, kiali-dev
Looking around at some of the JS ecosystem, I'm close to think we could start creating our own log analyzer. Not a big thing, just something able to scan, highlight, compute some limited stats, all of that at a small scale, ie. not from hundreds of sources like ES or Loki would do, but just limited to the scope of a couple of sources (like what we currently have: workload logs, which is N pods x M containers).

Not saying ES or Loki are uninterested, of course not, but it's another degree of work with many implications.

BTW just found that: react-lazylog ( https://github.com/mozilla-frontend-infra/react-lazylog ) , from mozilla. It's purely visualization, no analysis afaict. Might be interesting.

Caina Costa

unread,
Oct 13, 2020, 12:18:01 PM10/13/20
to Joel Takvorian, Edgar Hernández, Mike Thompson, kiali-dev
On Tue, Oct 13, 2020 at 1:15 PM Joel Takvorian <jtak...@redhat.com> wrote:
Looking around at some of the JS ecosystem, I'm close to think we could start creating our own log analyzer. Not a big thing, just something able to scan, highlight, compute some limited stats, all of that at a small scale, ie. not from hundreds of sources like ES or Loki would do, but just limited to the scope of a couple of sources (like what we currently have: workload logs, which is N pods x M containers).

+1.
I think we can give a more holistic approach that ES/loki can, because of the other data we already get.
 

Not saying ES or Loki are uninterested, of course not, but it's another degree of work with many implications.

BTW just found that: react-lazylog ( https://github.com/mozilla-frontend-infra/react-lazylog ) , from mozilla. It's purely visualization, no analysis afaict. Might be interesting.

On Tue, Oct 13, 2020 at 4:12 PM Edgar Hernández <eher...@redhat.com> wrote:
I only gave it a quick look at the homepage and it looks quite awesome.

Having said that, I don't think that "replicating the features via React" is that easy.
It requires parsing... and even a so-so decent parser requires quite a lot of work.

Seems ok to me. Long term projects are ok, and I think we can do better than others because we can do less instead of more. 

Caina Costa

unread,
Oct 13, 2020, 12:20:00 PM10/13/20
to Mike Thompson, Edgar Hernández, Joel Takvorian, kiali-dev
On Tue, Oct 13, 2020 at 1:11 PM Mike Thompson <mith...@redhat.com> wrote:
It requires parsing... and even a so-so decent parser requires quite a lot of work.
Actually, Caina has started parsing on the server-side. So we will have more options there. 

Yes, but I would say at this moment "parsing" is a strong word. We get some data from the text, but do not generate a structure. This is the case because log format changes a lot depending on the runtime you're on.
There is some consistency, though, namely on the fact that timestamps are stable because k8s is the one adding them.
 

Jay Shaughnessy

unread,
Oct 13, 2020, 2:16:17 PM10/13/20
to kial...@googlegroups.com
Lot's of good ideas in this thread.  The trick when looking at interesting tech is figuring out how it can be applied in a way that helps solve your problem.  In my opinion the primary observability problem Kiali tries to solve it to surface issues in the mesh, and then helping the user get started with an investigation of the problem.   With respect to logs I think there are three aspects for Kiali to consider:

1) Logs as a health indicator

This is not deep analysis of logs, anything like that would be deferred to another tool.  That tool that may itself generate alerts/events to incorporate into Kiali in a more generic fashion (a hook we don't currently have).  But some level of cursory background log crawling could be useful.  Caina already has server-side ability to turn logs into simple entries like {timestamp, level, message} which could be useful today for log-level hits, or going forward possibly allowing user-configured patterns (maybe from the health config).  (note, as he mentioned, complicated parsing is not what we do, nor is it in scope.)

2) Log visualization

I think we're doing a pretty good job of this already.  Mike has added a nice split-view comparison with strong client-side filtering ability, as well as full-window viewing.  From the tech Mike showed, and Joel commented on, an integrated view could be useful, especially in...

3) Logs as part of a correlated view

We have some work to do here, but Caina is currently adding server-side support for time-periods, allowing us to focus on an interesting past window that could be determined via charts, or graph replay, etc.  I could imagine then some correlated view involving logs, this time maybe with an integrated view of multiple containers' logs.

The main point of this comment is to reinforce what Lucas was saying, keep in mind the problem we're solving, and use it to limit scope.  We are likely not going to be an alerting system, nor a log analysis tool, nor a machine learning tool.  But we may be able to leverage those sorts of things, or scratch the surface on our own when it helps Kiali users.

Mike Thompson

unread,
Oct 13, 2020, 2:37:53 PM10/13/20
to Joel Takvorian, Edgar Hernández, kiali-dev
Yes, that React-lazylog does look interesting! I had not seen that. Perhaps we can use it instead of text boxes?

Lucas Ponce

unread,
Oct 13, 2020, 3:19:36 PM10/13/20
to Jay Shaughnessy, kiali-dev
Also, I'd add to think in our domain.

Generic logging (or App logging) it's a huge domain, but in our domain / problem we have some advantage:

- We already know in advance the structure of the proxy logs.
- Same for the log of core components of Istio (i.e. istiod / ingress / egress pods).

To me, Kiali would be the ideal tool to extract, interpret and correlate that specific info with all signals and information we are collecting.
(The split view of proxy + container logs is great; it can show what the sidecar is doing).

To also add more feature context, read point n 4 of this article in case it may help of inspiration:

Let's think about what Kiali can automate and it's part of the ServiceMesh scenario we are helping to simplify.


Mike Thompson

unread,
Oct 13, 2020, 4:04:05 PM10/13/20
to Lucas Ponce, Jay Shaughnessy, kiali-dev
Lots of really good conversation here. Perhaps we can circle back on this in our Water Cooler (agenda Item)?

Alissa Bonas

unread,
Nov 23, 2020, 12:04:47 PM11/23/20
to Mike Thompson, Lucas Ponce, Jay Shaughnessy, kiali-dev
Are there any actions items/future feature plans that came up from this discussion? (yes, I know, I'm late to this thread :))

Reply all
Reply to author
Forward
0 new messages