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 . 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:
Heka mailing list