Management interface and input hijacking

Description

So we've been talking about logstash having some internal command and control for a while. Things like:

  • Reread configs

  • shutdown input/filter/output

  • insert random whatever here

The idea is that we add a flag to inputs/base that would allow you to do this:

input { fooinput { management => true } }

At that point, that input become the management channel. Any input it gets is expected to be a management command. If it's not valid, it's dropped. No harm no foul.

Obviously we'd need to design a simple command language. Something similar to the Nagios command file format feels right here but we DO have flexibility to make it more complicated.

Activity

Show:
Jordan Sissel
February 10, 2012, 2:52 AM

should this be special enough that we make a new config section?

Management loads 'input' plugins just like 'input' would, but it is used entirely for management. Separating this might be useful? Don't know if it matters.

John E. Vincent
February 10, 2012, 3:00 AM

I dunno. I like the idea of having it be something set as an input to keep the stanzas to a minimum. However it might be better for readability?

Zachary Buckholz
December 12, 2013, 9:00 PM

I personally feel it would be nice to see it have a signal handler. (reload, pause, dump stats, etc..)

http://www.ruby-doc.org/core-2.0.0/Signal.html

Zachary Buckholz
December 12, 2013, 9:08 PM

Here's a good example of how unicorn handles signals.

http://unicorn.bogomips.org/SIGNALS.html

Aaron Mildenstein
February 6, 2015, 6:19 PM

This is being migrated and discussed here: https://github.com/elasticsearch/logstash/issues/2529

Assignee

Logstash Developers

Reporter

John E. Vincent

Labels

Fix versions

Configure