Heka Filter afd example: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 1: Строка 1:
 
=Heka Filter AFD example=
 
=Heka Filter AFD example=
   
  +
Here is example of AFD (AnomalyFaultDetection) plugin.
  +
<BR>
  +
The main idea plugin is:
  +
* count number of incoming messages per second
  +
* calculate average rate
  +
* put this rate into InfluxDB and create chart in Grafana
  +
  +
  +
  +
==Collecting data==
  +
To collect message rate we are using filter which called on each incoming message.
  +
<BR>Each process_message() call just add 1 to circular buffer.
  +
===Cirular buffer===
 
Heka's LUA SandBox has bilt-in Circular Buffer Library ehich can be used for data aggregation.
 
Heka's LUA SandBox has bilt-in Circular Buffer Library ehich can be used for data aggregation.
 
<BR>
 
<BR>

Версия 15:11, 5 февраля 2016

Heka Filter AFD example

Here is example of AFD (AnomalyFaultDetection) plugin.
The main idea plugin is:

  • count number of incoming messages per second
  • calculate average rate
  • put this rate into InfluxDB and create chart in Grafana


Collecting data

To collect message rate we are using filter which called on each incoming message.
Each process_message() call just add 1 to circular buffer.

Cirular buffer

Heka's LUA SandBox has bilt-in Circular Buffer Library ehich can be used for data aggregation.


Loopback error

[heartbeat_filter_lua]
type = "SandboxFilter"
filename = "/usr/share/lma_collector/filters/afd_test2.lua"
message_matcher = "TRUE"
ticker_interval = 1

[heartbeat_filter_lua.config]
    critical_delta = 1
2016/02/03 18:39:40 Plugin 'aggregator_tcpoutput' error: writing to 192.168.0.7:5565: write tcp 192.168.0.7:5565: broken pipe
2016/02/03 18:39:41 Plugin 'aggregator_tcpoutput' error: writing to 192.168.0.7:5565: write tcp 192.168.0.7:5565: broken pipe
2016/02/03 18:39:41 Plugin 'heartbeat_filter_lua' error: attempted to Inject a message to itself
2016/02/03 18:39:41 Plugin 'heartbeat_filter_lua' error: attempted to Inject a message to itself
2016/02/03 18:39:41 Plugin 'heartbeat_filter_lua' error: Terminated. Reason: timer_event() /usr/share/lma_collector/filters/afd_test2.lua:57: inject_payload() creates a circular reference (matches this plugin's message_matcher)
2016/02/03 18:39:41 Plugin 'heartbeat_filter_lua': stopped
2016/02/03 18:39:41 Plugin 'heartbeat_filter_lua': has stopped, exiting plugin without shutting down.