Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Live reload config files without restarting filebeat process #2043

Closed
superwhykz opened this issue Jul 15, 2016 · 10 comments
Closed

Live reload config files without restarting filebeat process #2043

superwhykz opened this issue Jul 15, 2016 · 10 comments

Comments

@superwhykz
Copy link

Based on discussion opening enhancement feature request.
https://discuss.elastic.co/t/reload-if-modification-time-changes-in-config-files/55556

@slava-vishnyakov
Copy link

slava-vishnyakov commented Nov 4, 2016

It would probably be better to reload, like nginx with something like kill -s HUP

Although logstash, for ex., uses automatic reload https://www.elastic.co/guide/en/logstash/current/reloading-config.html

@OferE
Copy link

OferE commented Nov 17, 2016

I'm working with microservices architecture and restarting the filebeat process is a big pain to me,
I have many services coming and going and i want them to register themselves with filebeats without restarting the filebeat process everytime a service joins.
Restart a process is a very aggressive operation and has consequences regarding the exactly once guarantees.

@ruflin
Copy link
Member

ruflin commented Nov 18, 2016

Does every service need its own config / prospector? Or do you know all of them in advance and could provide all the prospectors on first start?

@OferE
Copy link

OferE commented Nov 18, 2016

knowing all services in advance is a bad practice since i have multiple machine types, each type runs a different set of services. each machine may run different services even with the same machine type.
currently this is how i workaround everything: by providing one huge config.
The correct approach IMHO will be that every service will register itself with its own config - the current filebeat process will reload the configuration on every change/inroduction of new config and adjust in a clean way.
By the way - the outputs themselves should have the ability to change dynamically and accrding to each prospector, since some services may want to write to kafka (even into different topics) and others to elasctic/logstash.
This should be per prospector and not as a global definition.
The world is moving into microservices architectures - filebeat is a great project - but it is not a perfect match for micro services.

@ruflin
Copy link
Member

ruflin commented Nov 21, 2016

@OferE I was also more thinking of current work arounds, but it seems you found one. It is definitively something we are looking into also related to #464

@OferE
Copy link

OferE commented Nov 21, 2016

@ruflin - great to see that i am useful - also great to see that u hear community feedback! great product - i tend to use it in production for streaming messages to Kafka un huge scale.

@aqiao
Copy link

aqiao commented Jan 5, 2017

hi guys, may i know the latest progress of this feature?

@ruflin
Copy link
Member

ruflin commented Jan 5, 2017

@aqiao Interesting timing. There is not directly a filebeat update but I just pushed this PR here: #3281 This could be reused for filebeat prospectors in the future. It's a little bit trickier for filebeat as it must be ensured that a file is only harvested once and brings up the question when exactly a harvester should shut down ...

@ruflin
Copy link
Member

ruflin commented Jan 25, 2017

Closing as #3362 was merged to master. This allows to dynamically reload prospectors.

@ruflin ruflin closed this as completed Jan 25, 2017
@OferE
Copy link

OferE commented Jan 26, 2017

@ruflin thanks for this feature!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants