hermes-client
Settings shared by all clients.
Main subsections:
- hermes-client
- datamodel
- data-type-name
- datamodel
hermes-client.autoremediation
- Description: Autoremediation policy to use in error queue for events concerning a same object.
Warning
Enabling this feature may break the regular processing order of events: if your data types are only linked by primary keys, it shouldn’t be problematic, but if the links between them are more complex, you really should consider what could go wrong before enabling it.
e.g. with
maximum
policy, and trashbin enabled, the autoremediation will delete both events when anadded
event is followed by aremoved
event. Without error, the object would have been created and stored in trashbin, but in this case it won’t even be created.See how autoremediation works for more details.
- Mandatory: No
- Type: string
- Default value:
disabled
- Valid values:
disabled
: no autoremediation, events are stacked as is (default).conservative
: only mergeadded
andmodified
events between them.- merge an
added
event with a followingmodified
event. - merge two successive
modified
events.
- merge an
maximum
: merge every events that can be merged.- merge an
added
event with a followingmodified
event. - merge two successive
modified
events. - delete both events when an
added
event is followed by aremoved
event. - merge a
removed
event followed by anadded
event in amodified
event. - delete a
modified
event when it is followed by aremoved
event.
- merge an
hermes-client.foreignkeys_policy
- Description: Set up which event types that will be placed in the error queue if the
object concerning them is the parent (by foreign key) of an object already present
in the error queue.
See Foreign keys for more details. - Mandatory: No
- Type: string
- Default value:
on_remove_event
- Valid values:
disabled
: No event, policy is disabled.on_remove_event
: Only on removed events.on_every_event
: On every events types (added, modified, removed)
hermes-client.errorQueue_retryInterval
- Description: Number of minutes between two attempts of re-processing events in error.
- Mandatory: No
- Type: integer
- Default value: 60 (1 hour)
- Valid values: 1 - 65535
hermes-client.trashbin_purgeInterval
- Description: Number of minutes between two trashbin purge attempts.
- Mandatory: No
- Type: integer
- Default value: 60 (1 hour)
- Valid values: 1 - 65535
- Ignored when: trashbin_retention is
0
/unset
hermes-client.trashbin_retention
- Description: Number of days to keep removed data in trashbin before permanently deleting it.
0
/unset
disable the trashbin: data will be immediately deleted. - Mandatory: No
- Type: integer
- Default value: 0 (no trashbin)
- Valid values: >= 0
hermes-client.updateInterval
- Description: Number of seconds to sleep once no more events are available on message bus.
- Mandatory: No
- Type: integer
- Default value: 5
- Valid values: >= 0
hermes-client.useFirstInitsyncSequence
- Description: If
true
, indicate to use the first/older initsync sequence available on message bus. Iffalse
, the latest/newer will be used. - Mandatory: No
- Type: boolean
- Default value:
false
hermes-client.datamodel
Mandatory subsection used to configure client datamodel.
For each data types needed, a subsection with the desired data type name must be created and configured. The data type name MUST start with an alphanumerical character.
Obviously, at least one data type must be set up.
hermes-client.datamodel.data-type-name.hermesType
- Description: Name of corresponding data type on
hermes-server
. - Mandatory: Yes
- Type: string
hermes-client.datamodel.data-type-name.toString
- Description: Jinja template to compose the way a data item will be represented in log files.
- Mandatory: No
- Type: string
hermes-client.datamodel.data-type-name.attrsmapping
Subsection to set up attribute mapping. CLIENT attributes as keys, REMOTE attributes (identified as HERMES attributes on hermes-server) as values.
A Jinja template could be set as value. If you do so, the value outside the templates will be used as raw string, and not as remote attribute name.
Jinja vars available are:
- each remote attribute for current data type, only if its value is not
NULL
and not an empty list.
If you won’t use their value, it is not necessary to declare a mapping for primary key(s). For some data types, you may omit the attrsmapping, which is equivalent to defining an empty one : therefore it will only contain its primary key(s).