Features
- Added ProcessDirectoryInput.
- InputRunners now support being specified as ‘transient’, meaning their
lifespan should be managed by the code that creates the InputRunner and not
Heka’s pipeline code.
- HttpInput: now supports configuring the HTTP method, HTTP headers and HTTP
Basic Authentication
- TLS Listeners can specify a ‘client_cafile’ which limits the CAs that a
client cert can be chained to. This provides a mechanism for TLS Client AUTH.
- TLS Senders can specify a ‘root_cafile’ which limits the CAs that a
server cert can be chained to. This provides a mechanims for TLS Server AUTH.
- Added StopDecoderRunner function to PluginHelper API so inputs can manually
decommission decoders when they’re no longer being used.
- The SandboxManagerFilter can now control the sandbox usage limits (issue #95)
- Added support for send_nsca to NagiosOutput as an alternative to direct http
submission; also a way to explicitely specify service_description and host
to match Nagios config
- Added configurable network types to TcpInput “tcp”, “tcp4”, “tcp6”, “unix” and
“unixpacket” (issue #539)
- Added configurable network types to UdpInput “udp”, “udp4”, “udp6”
(issue #539)
- Added flush_count config setting to FileOutput to complement existing
flush_interval. Also added flush_operator setting which can be “AND” or “OR”
to specify how flush_count and flush_interval should be combined.
- Introduced share_dir global config setting, which specifies where Heka’s
read only resources should live. Defaults to /usr/share/heka. Also added
pipeline.PrependShareDir() function for use within plugin initialization
code.
- Added an rsyslog decoder based on the rsyslog string configuration template
(issue #432).
- Added an Nginx access log decoder based on the Nginx ‘log_format’
configuration directive.
- heka-cat: A command-line utility for counting, viewing, filtering, and
extracting Heka protobuf logs.
- TcpOutput has been redesigned to handle unavailable endpoints and dropped
connections without data loss (issue #355).
- CarbonOutput now supports submitting messages via UDP, persistent TCP
connection.
- Added Logstreamer Input [LogstreamerInput]: An input that replaces the
Logfile and Logfile Directory Inputs and supports sequential reading of
logstreams that span sets of ordered logfiles (issue #372).
- TcpInput, TcpOutput, and flood client now all support TLS encrypted TCP
connections using Go’s crypto/tls package.
- Added Http Listen Input [HttpListenInput]: An input that listens for
HTTP requests on the specified address. If a decoder is not specified the
input generates a message with the HTML request body as the payload.
This input is especially useful for consuming and processing webhooks.
(Issue #431)
- Added support for local external packages (issue #393)
- Inject: A command-line utility for injecting arbitrary messages into
a Heka pipeline.
- Added Go ScribbleDecoder for efficient setting of purely static message
field values.
- Exposed write_message API function to Lua decoders to allow mutation of
existing decoded message (issue #577).
- HttpInput: Added urls (array) option.
- HttpInput: Failed and successful HTTP GET actions produce messages of Type
“heka.httpinput.data”, Logger = Request URL, and severity appropriate to
HTTP status 200 or not. I.e. Connections responding with a status of 200
produce a message with Severity 6, non-200 statuses Severity 1. Failure to
connect produces a message with Severity 1 and Type “heka.httpinput.error”.
- HttpInput: Fields[ResponseTime] populates with time duration in seconds for
HTTP GET of URL, Fields[Status] with HTTP Status, Fields[Protocol] with HTTP
protocol and version, Fields[StatusCode] with HTTP Response Status Code for
successful HTTP GETs. The Circular Buffer Graph Annotation (Alerts)
(http://hekad.readthedocs.org/en/latest/sandbox/graph_annotation.html) plugin
is compatible with the HttpInput plugin.
- HttpInput: Added success_severity and error_severity options for GET actions.
- HttpInput: Messages now set Logger, UUID, and Timestamp.
- Added log_errors option to PayloadregexDecoder to allow skipping invalid
payloads.
- Added “id” flag to elasticsearch output (issue #386).
- Added SmtpOutput (issue #472)
- Added preserve_data option to SandboxDecoder (issue #668).
- Added delete_idle_stats to StatAccumInput.
- Added sum and count_ps metrics to timers in stat_accum_input.