elastic / gsoc

Google Summer of Code at Elastic: Projects and guidelines
44 stars 12 forks source link

GSOC18 - Project Idea for Heartbeat #20

Closed berfinsari closed 6 years ago

berfinsari commented 6 years ago

I am working on contributing to the Heartbeat for traceroute and ping on heartbeat todo page.I contributed to Community Beats by Tracebeat beforehand, We talked that we can adapt it to the Heartbeat. I want to participate Google Summer of Code. What do you think about doing this in GSoC?

xeraa commented 6 years ago

Nice! Ping @urso @ruflin for input :)

ruflin commented 6 years ago

I'm definitively open for a proposal on this. I think we would have to add a bit more "work" to it to make it a full project.

@berfinsari As there is quite a bit of todo around heartbeat we can perhaps combine a few things here?

berfinsari commented 6 years ago

I examine Heartbeat todo and requirement list. Add more compression types attracts my attention. Do you have any advice for me such as a reading about it? I am going to make it a proposal after examining.

ruflin commented 6 years ago

Can you share where you saw the part about more compression types?

berfinsari commented 6 years ago

It is located under the http monitor topic in Heartbeat Todo page.

berfinsari commented 6 years ago

@ruflin I can contribute traceroute and ping on Heartbeat todo page. But I couldn't know what I should add in additional. Do you have any advice for me about what I should add?

Or I can contribute traceroute and ping on Heartbeat todo page and metricbeat module on GSoC ideas page.

urso commented 6 years ago

Hi,

Sorry for being late to the discussion. I just returned from vacation.

I think there is quite some potential for loads of work on heartbeat :)

If one checks the commit logs of the heartbeat subdirectory, there wasn't much development on heartbeat since its initial release. Some minor bug fixes and event format overhaul for beats 6.0 release. That is, it does not support some of the newer features found in other beats. For example autodiscovery.

One can check commit history via git log --stat heartbeat/**/*.go. Notable commits:

Furthermore the other beats like filebeat, metricbeat, packetbeat, ... are very service oriented. That is, one enbales mysql module to monitor mysql and the module does all the magic. Heartbeat on the other hand is very bare bones. No service oriented monitor types.

So for working on heartbeat only, one could spin a story on widening the scope, but also improve the usability of heartbeat:

=> Project should try to enhance support for different infrastructure + easily usable (curated) list of supported services (e.g. custom protocols)

To figure some of the potential tasks, we have to figure what 'expected state' of a services/network means. Knowing expected state, we can try to figure ways of querying systems/services for that state. Some ideas:

Thinking about it, the main themes I could come up with are:

Maybe you can identify some more themes or tasks. E.g. we're missing Kibana dashboards. Or authentication/minimal session tracking. And don't forget developer support for custom protocols.

From the TODO you referenced, some of these tasks can be removed. Still relevant (but rather smallish tasks) are:

Yet, I wouldn't really focus on any of these.

For discussing the final proposal I would suggest to use the forums (as done by others): https://discuss.elastic.co/c/elastic-community/elastic-gsoc

Feel free to start with the proposal and ping @ruflin or me, so we can have a look as well.

xeraa commented 6 years ago

Closing since the application period has finished. We can start a new discussion as needed.