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

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:
- 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.


NB: I won't work on this before 2017 or 2018, but I need to discuss
this early to.

NB2: My current TODO list is at:

[2]: https://prometheus.io/docs/instrumenting/pushing/

Mathieu Parent
Heka mailing list

Reply via email to