## Index * [Usage](#usage) * [Configuration](#configuration) + [hash_id_key](#hash_id_key) + [include_tag_in_seed](#include_tag_in_seed) + [include_time_in_seed](#include_time_in_seed) + [use_record_as_seed](#use_record_as_seed) + [use_entire_record](#use_entire_record) + [record_keys](#record_keys) + [separator](#separator) + [hash_type](#hash_type) * [Advanced Usage](#advanced-usage) ## Usage In your Fluentd configuration, use `@type elasticsearch_genid`. Additional configuration is optional, default values would look like this: ``` @type elasticsearch_genid hash_id_key _hash include_tag_in_seed false include_time_in_seed false use_record_as_seed false use_entire_record false record_keys [] separator _ hash_type sha1 ``` ## Configuration ### hash_id_key ``` hash_id_key _id ``` You can specify generated hash storing key. ### include_tag_in_seed ``` include_tag_in_seed true ``` You can specify to use tag for hash generation seed. ### include_time_in_seed ``` include_time_in_seed true ``` You can specify to use time for hash generation seed. ### use_record_as_seed ``` use_record_as_seed true ``` You can specify to use record in events for hash generation seed. This parameter should be used with [record_keys](#record_keys) parameter in practice. ### record_keys ``` record_keys request_id,pipeline_id ``` You can specify keys which are record in events for hash generation seed. This parameter should be used with [use_record_as_seed](#use_record_as_seed) parameter in practice. ### use_entire_record ``` use_entire_record true ``` You can specify to use entire record in events for hash generation seed. ### separator ``` separator | ``` You can specify separator charactor to creating seed for hash generation. ### hash_type ``` hash_type sha1 ``` You can specify hash algorithm. Support algorithms `md5`, `sha1`, `sha256`, `sha512`. Default: `sha1` ## Advanced Usage Elasticsearch GenID plugin can handle record contents differing with the following parameters: ```aconf @type elasticsearch_genid use_entire_record true hash_type sha1 hash_id_key _hash separator _ inc_time_as_key true inc_tag_as_key true ``` The above configuration can handle tag, time, and record differing and generate different base64 encoded hash per record.