On Wed, Sep 21, 2016 at 10:48 AM, Mathieu Parent <[email protected]> wrote: > Hello (again), > > Hindsight is using a push-model (i.e Nagios passive checks). This is > great, but I want to plug it with Prometheus which uses pull-model > [1]. > > I see several ways to handle this: > - use the prometheus push-gateway [2]. This has several drawbacks listed below > - introduce pull model in hindsight > - add a new daemon, based on lua_sandbox too, but using pull model > > The drawbacks of prometheus push-gateway are: > - Unnecessary polling of data (data is grabbed even if not pulled by > prometheus > - time lag, between data grabbing and data pulling > - To sum up : to reduce time lag, you increase polling rate, when us > decrease polling, you increase time lag. > > The push model may work like this:
You mean "pull" here I guess. > - Adding pull_message_matcher config to inputs (defaults to FALSE) > - Adding process_pull_message() function to inputs, returning a table > of messages (or should it be inject_pull_message() + return 0?) > - Adding request_pull_message() function to outputs, which maps to > matching process_pull_message() and concatenates the results in a > table. This function is blocking. > > Opinions? If there was an "http listen" extension in lua_sandbox_extensions then I think it would be easy to write an output plugin compatible with Prometheus, without specific support for pull in Hindsight. The problem is that there's "http listen" extension in lua_sandbox_extensions right now, see [*] for a bit more information on this. [*] <https://mail.mozilla.org/pipermail/heka/2016-September/001107.html> _______________________________________________ Heka mailing list [email protected] https://mail.mozilla.org/listinfo/heka

