eventrouter icon indicating copy to clipboard operation
eventrouter copied to clipboard

Is the project dead?

Open Elettronik opened this issue 4 years ago • 30 comments

Hello, I'm looking to use this project on some k8s but this project seems dead for about a year.

Is there any people from Heptio Labs taking care of this project?

I see a the current moment 11 PR opened during a year without a single answer from owners, and 30 issues.

Please says if the project is dead, or will be some housekeeping.

Elettronik avatar Feb 17 '21 19:02 Elettronik

@timothysc @jbeda

alok87 avatar Feb 18 '21 11:02 alok87

We are using it and it works well for us in porting the logs to s3.

alok87 avatar Feb 18 '21 11:02 alok87

The description of the heptiolabs org (https://github.com/heptiolabs) now reads: "Former home of experimental projects from Heptio"

I wonder if these projects had to be abandoned when Heptio was bought by VMware.

Ghazgkull avatar Feb 19 '21 22:02 Ghazgkull

Yes, an update on this would be good.

varac avatar Mar 10 '21 17:03 varac

Let me do the Devil's Advocate.

20 days - no official answers, no activities on the project.

image

Elettronik avatar Mar 11 '21 11:03 Elettronik

I agree this project is probably on hold, if not abandoned. Would love to hear from VMWare/former Heptio folks if they plan to pick it up or donate the project to the community, or if we should just fork it/reimplement it.

MatteoJoliveau avatar Mar 11 '21 11:03 MatteoJoliveau

This does indeed seem dead. I need the functionality that eventrouter provides for another project I'm working on. I'm going to be working on this fulltime for the near future. Please feel free to contact me if you need support/help.

I've decided to base my efforts on Kubewatch and not EventRouter. Kubewatch is a little more maintained, but it also seems somewhat dormant since the VMWare-Bitnami acquisition. Kubewatch doesn't yet stream all the events that EventRouter does, so I'll start by adding all event types to the Kubewatch output. Feel free to let me know which other EventRouter features you need in Kubewatch.

VMWare folks - I would love to merge my changes to Kubewatch/Eventrouter upstream. If not, I suppose I'll fork it, but that isn't my preference.

@MatteoJoliveau @Elettronik what are your needs beyond what Kubewatch/EventRouter currently provide? How are you interested in using them?

aantn avatar Mar 21 '21 16:03 aantn

@aantn that seems like great news! Thank you for being willing to keep development going at least for now. I'll try to see if we can help as well.

For us it's mainly getting Kubernetes events into something Grafana can display. Using EventRouter we were going to have Loki and Promtail scrape up the logs from stdout/stderr and then have them streamed to Grafana as JSON lines. This way developers could select the event stream they wanted using the same query language they already use for selecting application log streams. e.g. { app_kubernetes_io_name="my-app", stream="events" }(or something along those lines).

But really any solution that allows us to collect and store events for later querying will do.

MatteoJoliveau avatar Mar 21 '21 16:03 MatteoJoliveau

Got it. I'm working on a more generic platform for running Python code as a result of Kubernetes changes/Prometheus alerts and automating common responses. It will be open sourced eventually, but for now it is still in private beta. One easy use-case, for example, is to add annotations to grafana so that you can see exactly when a new version of an application was updated and can quickly eyeball the difference in the performance before and after.

For your use case, you're only interested in forwarding actual Kubernetes Events, right? In other words, if a pod is created/modified/dies, you don't need to forward that, but if there is a CrashLoopBackOff then you do need to forward it. Is that correct?

aantn avatar Mar 21 '21 17:03 aantn

Correct. The reason being that, especially now with Operators, k8s Event objects are a very useful tool to track changes and issues in k8s resources. Currently we have logs, metrics and traces centrally accessible in Grafana, but if a developer wants to debug a crash loop they have to manually run kubectl describe. Having events stored in Loki would allow for quick querying and alerting over them using common tools devs are already used to

MatteoJoliveau avatar Mar 21 '21 17:03 MatteoJoliveau

Great, I'll update you when I have something you can use for that purpose.

aantn avatar Mar 21 '21 17:03 aantn

Looking forward to it, thanks @aantn!

MatteoJoliveau avatar Mar 21 '21 18:03 MatteoJoliveau

Maybe this is a bit OT, but... Is it possible to add metrics to the app? For example, first thing that pops into my mind: adding metrics for probe failures.

Asking this because it would be nicer to have graphs around metrics in grafana than around logs. But maybe this is out of scope :D

antoniocascais avatar Mar 26 '21 11:03 antoniocascais

Maybe this is a bit OT, but... Is it possible to add metrics to the app? For example, first thing that pops into my mind: adding metrics for probe failures.

Asking this because it would be nicer to have graphs around metrics in grafana than around logs. But maybe this is out of scope :D

Yeah, this is the type of thing I'm working on. Can you help me understand exactly what you would like to achieve? I think you can already get probe failure metrics from kubelet into prometheus. Do you want to enrich grafana with extra info? To run some remediation or enrichment steps?

aantn avatar Mar 26 '21 12:03 aantn

This while conversation is a little off topic, I guess. I think the eventrouter community could benefit from another open source project that is the spiritual successor of eventrouter, but if the discussion here bothers someone then let me know and I'll take it elsewhere.

aantn avatar Mar 26 '21 12:03 aantn

Maybe this is a bit OT, but... Is it possible to add metrics to the app? For example, first thing that pops into my mind: adding metrics for probe failures. Asking this because it would be nicer to have graphs around metrics in grafana than around logs. But maybe this is out of scope :D

Yeah, this is the type of thing I'm working on. Can you help me understand exactly what you would like to achieve? I think you can already get probe failure metrics from kubelet into prometheus. Do you want to enrich grafana with extra info? To run some remediation or enrichment steps?

I was not aware of such metrics! Thank you very much :D

antoniocascais avatar Mar 26 '21 13:03 antoniocascais

I'm close to releasing my open source project which supports many of the features that people want added to eventrouter. Can everyone on this thread let me know what they're actually using eventrouter for today or what they want to use it for? Are you sending events to slack for online notifications? Are you just logging changes to ELK so that you can troubleshoot when something goes wrong? What use cases does event router solve for you?

aantn avatar Apr 02 '21 08:04 aantn

@aantn Good to hear! I'm using eventrouter only for exporting k8s events to loki (and grafana), using promtail which tails the eventrouter container logs. So the only feature I'd be interested in is having all k8s events in the (eventrouter|your project) container logs.

varac avatar Apr 04 '21 12:04 varac

@varac do you have any interest in turning k8s events into grafana annotations? e.g. adding a dotted line to grafana whenever a deployment is updated and the image tags change? I'm using this to easily correlate upgrades w/ changes in CPU usage.

aantn avatar Apr 04 '21 13:04 aantn

Something like this:

grafana-annotations

aantn avatar Apr 04 '21 13:04 aantn

@aantn That looks great, sure that would be a good feature.

varac avatar Apr 04 '21 13:04 varac

Cool, I've already implemented that. I have a little more work before I release this, but it's coming along nicely. Let me know if there are more integrations you can think of which would be useful. I'm currently implementing two-way Slack integration. The typical usecase is something like this:

  1. There is a prometheus alert (e.g. low disk space on a persistent volume)
  2. The system sends a mesage to Slack with details and a recommended remediation (e.g. cleanup some logs and increase the volume size if it still is low on space)
  3. You click a button in Slack approving that remediation.
  4. The system receives your approval and executes some remediation commands

aantn avatar Apr 04 '21 14:04 aantn

I would like to use it to stream kubernetes events into a kafka topic so my system can make decisions based on some of these events (e.g. a job is finished, so do something).

cordoor avatar May 19 '21 13:05 cordoor

@cordoor we can do that already. can you reach out to me privately to discuss in more detail (either [email protected] or on linkedin here: https://www.linkedin.com/in/natanyellin/)

aantn avatar May 19 '21 14:05 aantn

hello @aantn I'm interested in your project.. Currently what my usecase involves is to stream changes occurring to a specific set of kubernetes objects such as pods that are part of a replicaset in a particular namespace into a kafka topic..

If you've a prototype or something in the works can you please point us to that so that we can start using it and communicate feedback and hopefully submit patches ourselves

aakarshg avatar Jun 03 '21 17:06 aakarshg

@aakarshg sure, send me an email and I'll send you the beta version.

aantn avatar Jun 03 '21 20:06 aantn

We are migrating to https://github.com/openshift/eventrouter

sl4dy avatar Jun 07 '21 12:06 sl4dy

@aantn - ditto on being interested in a maintained replacement. The grafana integration for annotations sounds great.

zswanson avatar Nov 25 '21 02:11 zswanson

@zswanson sorry about the delay! We've finally released the first version! https://docs.robusta.dev/master/

@aakarshg @cordoor @varac @antoniocascais @MatteoJoliveau might be relevant for you guys too

If anyone wants to discuss, we're on Slack and happy to add features for anything you need. (Or just open a github issue)

aantn avatar Dec 27 '21 13:12 aantn

we've also reimplemented this as a Grafana Agent integration here - you can run a standalone Agent that only runs this integration as a drop-in eventrouter replacement. to learn more please see the docs.

for now it supports shipping events directly to a Loki-compatible sink and solves the "duplicate events" bug that occurs when you restart eventrouter. from there you can create dashboard annotations and "metrics from logs" directly in Grafana.

please file an issue in the Agent repo and ping me directly if you encounter any bugs or have feature suggestions!

you may also want to checkout @joe-elliott's diff logger as well!

hjet avatar Feb 22 '22 20:02 hjet