event_hydrant – Message Tracking
The event_hydrant module is used for tracking messages from generation through engagement. It exports a jlog file that provides the full disposition status of every message that goes through Momentum, including message generation, message reception, message delivery, and engagement tracking. Note that this module combines the functionality of the ec_logger and bounce_logger with engagement tracking.
Ensure that you have a subscriber for the jlog file generated by this module. For an example of a jlog reader, see “Using JLog::Reader”.
Note
Event data, tracking the full disposition status of every message that goes through Momentum, is also available in the following:
-
UI reports (See Reports and Engagement Tracking in the UI .)
-
Webhooks API or Webhooks page of the UI (See Managing Your Webhooks in the UI .)
Therefore, writing the event_hydrant jlog file is typically disabled by default. This option must be enabled if you wish to create the jlog file.
The event_hydrant module is configured in the ecelerity.conf
file. The following is the default configuration:
event_hydrant "event_collector" {
concurrency = 1
cust_prefix = "cust_"
jlog_filename = "jlog:///var/log/ecelerity/event_hydrant.rt=>event_consumer"
log_click = true
log_conversion = true
log_delivery = true
log_genfail = true
log_genrejection = true
log_inband_bounce = true
log_open = true
log_outofband_bounce = true
log_reception = true
log_rejection = true
log_tempfail = true
# Set to "false" by default. Set to "true" to write jlogs
write_jlog = false
}
The following are the configuration options defined by this module:
- concurrency
-
Define the number of threads to use. Default value is
1
. - cust_prefix
-
This option enables you to add your own data to the jlog by logging arbitrary context variables. Any context variable created using this prefix will be added to the jlog. Default value is
cust_
. When using Lua policy, usemsg:context_set
to set the context variable. - jlog_filename
-
Specify the location, name, and subscriber of the jlog file generated by this module. To use this option,
write_jlog
must be set totrue
. Default value isjlog:///var/log/ecelerity/event_hydrant.rt=>event_consumer
.Note
For a plain text log, drop the
jlog://
prefix. - log_click
-
Whether to log click events. Default value is
true
. - log_conversion
-
Whether to log conversion events. Default value is
true
. Note: Conversion events have not yet been implemented. - log_delivery
-
Whether to log deliveries. Default value is
true
. - log_genfail
-
Whether to log message generation failure events. Default value is
true
.An event is recorded for each individual failure. For example, if a transmission has 100 recipients and 20 of them have invalid email addresses, 20 generation failure events are logged.
- log_genrejection
-
Whether to log a generated message that is rejected by policy. Default value is
true
. - log_inband_bounce
-
Whether to log in-band bounces. Default value is
true
. - log_open
-
Whether to log open events. Default value is
true
. - log_outofband_bounce
-
Whether to log out-of-band bounces. Default value is
true
. - log_reception
-
Whether to log receptions. Default value is
true
. - log_rejection
-
Whether to log rejections. Default value is
true
. - log_tempfail
-
Whether to log temporary failures. Default value is
true
. - write_jlog
-
Whether to write jlogs. Default value is
false
. This option must be enabled if you wish to create jlogs. The location of the jlog file is determined by thejlog_filename
option.If this option is enabled, logs will be written individually on each Platform node so custom applications can read event data. You are not required to implement aggregation in order to read jlogs.