fluent-plugin-input-opensearch 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/fluent/plugin/in_opensearch.rb +3 -3
  4. data/lib/fluent/plugin/out_opensearch.rb +5 -1
  5. metadata +5 -55
  6. data/.coveralls.yml +0 -1
  7. data/.editorconfig +0 -9
  8. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
  9. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -24
  10. data/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -9
  11. data/.github/workflows/coverage.yaml +0 -22
  12. data/.github/workflows/issue-auto-closer.yml +0 -12
  13. data/.github/workflows/linux.yml +0 -26
  14. data/.github/workflows/macos.yml +0 -26
  15. data/.github/workflows/windows.yml +0 -26
  16. data/.gitignore +0 -18
  17. data/CONTRIBUTING.md +0 -24
  18. data/Gemfile +0 -10
  19. data/History.md +0 -67
  20. data/README.OpenSearchGenID.md +0 -116
  21. data/README.OpenSearchInput.md +0 -396
  22. data/README.Troubleshooting.md +0 -482
  23. data/Rakefile +0 -37
  24. data/fluent-plugin-opensearch.gemspec +0 -39
  25. data/gemfiles/Gemfile.elasticsearch.v6 +0 -12
  26. data/test/helper.rb +0 -60
  27. data/test/plugin/datastream_template.json +0 -4
  28. data/test/plugin/test_alias_template.json +0 -9
  29. data/test/plugin/test_filter_opensearch_genid.rb +0 -241
  30. data/test/plugin/test_in_opensearch.rb +0 -500
  31. data/test/plugin/test_index_alias_template.json +0 -11
  32. data/test/plugin/test_index_template.json +0 -25
  33. data/test/plugin/test_oj_serializer.rb +0 -45
  34. data/test/plugin/test_opensearch_error_handler.rb +0 -770
  35. data/test/plugin/test_opensearch_fallback_selector.rb +0 -100
  36. data/test/plugin/test_opensearch_tls.rb +0 -171
  37. data/test/plugin/test_out_opensearch.rb +0 -3980
  38. data/test/plugin/test_out_opensearch_data_stream.rb +0 -746
  39. data/test/plugin/test_template.json +0 -23
  40. data/test/test_log-ext.rb +0 -61
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9418f867988b41854b21285006db5adce7875d9a0eb5e480989e70146674fddd
4
- data.tar.gz: fc1aaa976dffc952a028dc944048cf579d8bd0112003ea40ab82ca26149a2d1d
3
+ metadata.gz: 20c770361eae05639dd05467514f4d5d725ed081fa6f9316391bfe2d4e410b6e
4
+ data.tar.gz: 4af0f71d3bd9df224252232192bc3d630df4818c23870705bf36f4a98507b422
5
5
  SHA512:
6
- metadata.gz: 61cbf7e514a16a3e292d072f59d81bc5d37ab6aa7e6d8bc5a8a2ec76d1cbc7972054e109b003c39be1d2195ff6c9648d153c62f72c708e7a4d999c3489f2bf08
7
- data.tar.gz: 71484682650b25de3a6e77ae3e17621c2a8ff691e80ea1e6ed9f5a809f658eee8f2122271f7b8aa8919b73076c2afc08d50f70659bab2c67babc53bdec7506b2
6
+ metadata.gz: 71b0e17756425c15b2b3f5d4b0ab926785f9c8730304cac2d871a70bc396b30d662135c7f235c44fc92b398be212a4d4f430e16a9472db6d07202d9f9aa20cc6
7
+ data.tar.gz: 4b4f75328bf00643d93d937a9fc5ee479582019761ec1e4de64794faa57a68fe5d823d28e053d02e71fdd0801d1b9fd9f5087ee9a5482a524b62fe4a5dbe6c88
data/README.md CHANGED
@@ -605,10 +605,10 @@ request_timeout 15s # defaults to 5s
605
605
 
606
606
  ### reload_connections
607
607
 
608
- You can tune how the opensearch-transport host reloading feature works. By default it will reload the host list from the server every 10,000th request to spread the load. This can be an issue if your OpenSearch cluster is behind a Reverse Proxy, as Fluentd process may not have direct network access to the OpenSearch nodes.
608
+ You can tune how the opensearch-transport host reloading feature works. By default it off but if you set true it will reload the host list from the server every 10,000th request to spread the load. This can be an issue if your OpenSearch cluster is behind a Reverse Proxy, as Fluentd process may not have direct network access to the OpenSearch nodes.
609
609
 
610
610
  ```
611
- reload_connections false # defaults to true
611
+ reload_connections false # defaults to false
612
612
  ```
613
613
 
614
614
  ### reload_on_failure
@@ -344,8 +344,8 @@ module Fluent::Plugin
344
344
  end
345
345
  @retry.step
346
346
  if error.message.include?('EOFError (EOFError)')
347
- log.error("Restart plugin #{error.message}")
348
- exit(1)
347
+ log.error("Restart plugin because hit error #{error.message}")
348
+ start
349
349
  end
350
350
  #Raise error if the retry limit has been reached
351
351
  raise "Hit limit for retries. retry_times: #{@retry.steps}, error: #{error.message}" if @retry.limit?
@@ -370,7 +370,7 @@ module Fluent::Plugin
370
370
  run_slice(slice_id)
371
371
  end
372
372
  end
373
- rescue Faraday::ConnectionFailed, OpenSearch::Transport::Transport::Error => error
373
+ rescue => error
374
374
  update_retry_state(error)
375
375
  retry
376
376
  end
@@ -350,7 +350,11 @@ module Fluent::Plugin
350
350
 
351
351
  @credential_mutex.synchronize do
352
352
  @_os = nil
353
- @_aws_credentials = aws_credentials(@endpoint)
353
+ begin
354
+ @_aws_credentials = aws_credentials(@endpoint)
355
+ rescue => e
356
+ log.error("Failed to get new AWS credentials: #{e}")
357
+ end
354
358
  end
355
359
  end
356
360
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-input-opensearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - imcotop
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-25 00:00:00.000000000 Z
11
+ date: 2025-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.7.0
131
+ version: '1.9'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.7.0
138
+ version: '1.9'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: webmock
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -199,28 +199,8 @@ executables: []
199
199
  extensions: []
200
200
  extra_rdoc_files: []
201
201
  files:
202
- - ".coveralls.yml"
203
- - ".editorconfig"
204
- - ".github/ISSUE_TEMPLATE/bug_report.md"
205
- - ".github/ISSUE_TEMPLATE/feature_request.md"
206
- - ".github/PULL_REQUEST_TEMPLATE/pull_request_template.md"
207
- - ".github/workflows/coverage.yaml"
208
- - ".github/workflows/issue-auto-closer.yml"
209
- - ".github/workflows/linux.yml"
210
- - ".github/workflows/macos.yml"
211
- - ".github/workflows/windows.yml"
212
- - ".gitignore"
213
- - CONTRIBUTING.md
214
- - Gemfile
215
- - History.md
216
202
  - LICENSE.txt
217
- - README.OpenSearchGenID.md
218
- - README.OpenSearchInput.md
219
- - README.Troubleshooting.md
220
203
  - README.md
221
- - Rakefile
222
- - fluent-plugin-opensearch.gemspec
223
- - gemfiles/Gemfile.elasticsearch.v6
224
204
  - lib/fluent/log-ext.rb
225
205
  - lib/fluent/plugin/filter_opensearch_genid.rb
226
206
  - lib/fluent/plugin/in_opensearch.rb
@@ -234,21 +214,6 @@ files:
234
214
  - lib/fluent/plugin/opensearch_tls.rb
235
215
  - lib/fluent/plugin/out_opensearch.rb
236
216
  - lib/fluent/plugin/out_opensearch_data_stream.rb
237
- - test/helper.rb
238
- - test/plugin/datastream_template.json
239
- - test/plugin/test_alias_template.json
240
- - test/plugin/test_filter_opensearch_genid.rb
241
- - test/plugin/test_in_opensearch.rb
242
- - test/plugin/test_index_alias_template.json
243
- - test/plugin/test_index_template.json
244
- - test/plugin/test_oj_serializer.rb
245
- - test/plugin/test_opensearch_error_handler.rb
246
- - test/plugin/test_opensearch_fallback_selector.rb
247
- - test/plugin/test_opensearch_tls.rb
248
- - test/plugin/test_out_opensearch.rb
249
- - test/plugin/test_out_opensearch_data_stream.rb
250
- - test/plugin/test_template.json
251
- - test/test_log-ext.rb
252
217
  homepage: https://github.com/fluent/fluent-plugin-opensearch
253
218
  licenses:
254
219
  - Apache-2.0
@@ -273,19 +238,4 @@ rubygems_version: 3.5.7
273
238
  signing_key:
274
239
  specification_version: 4
275
240
  summary: Opensearch output plugin for Fluent event collector
276
- test_files:
277
- - test/helper.rb
278
- - test/plugin/datastream_template.json
279
- - test/plugin/test_alias_template.json
280
- - test/plugin/test_filter_opensearch_genid.rb
281
- - test/plugin/test_in_opensearch.rb
282
- - test/plugin/test_index_alias_template.json
283
- - test/plugin/test_index_template.json
284
- - test/plugin/test_oj_serializer.rb
285
- - test/plugin/test_opensearch_error_handler.rb
286
- - test/plugin/test_opensearch_fallback_selector.rb
287
- - test/plugin/test_opensearch_tls.rb
288
- - test/plugin/test_out_opensearch.rb
289
- - test/plugin/test_out_opensearch_data_stream.rb
290
- - test/plugin/test_template.json
291
- - test/test_log-ext.rb
241
+ test_files: []
data/.coveralls.yml DELETED
@@ -1 +0,0 @@
1
- service_name: github-ci
data/.editorconfig DELETED
@@ -1,9 +0,0 @@
1
- # EditorConfig: http://EditorConfig.org
2
-
3
- root = true
4
-
5
- [*]
6
- end_of_line = lf
7
- insert_final_newline = true
8
- indent_style = space
9
- indent_size = 2
@@ -1,29 +0,0 @@
1
- ---
2
- name: Bug Report
3
- about: Create a report to help us improve. If you have questions about OpenSearch plugin on kubernetes, please direct these to https://discuss.kubernetes.io/ before sumbit kubernetes related issue.
4
-
5
- ---
6
-
7
- (check apply)
8
- - [ ] read [the contribution guideline](https://github.com/fluent/fluent-plugin-opensearch/blob/master/CONTRIBUTING.md)
9
- - [ ] (optional) already reported 3rd party upstream repository or mailing list if you use k8s addon or helm charts.
10
-
11
- #### Steps to replicate
12
-
13
- Provide example config and message
14
-
15
- #### Expected Behavior or What you need to ask
16
-
17
- ...
18
-
19
- #### Using Fluentd and OpenSearch plugin versions
20
-
21
- * OS version
22
- * Bare Metal or within Docker or Kubernetes or others?
23
- * Fluentd v1.0 or later
24
- * paste result of ``fluentd --version`` or ``td-agent --version``
25
- * OpenSearch plugin version
26
- * paste boot log of fluentd or td-agent
27
- * paste result of ``fluent-gem list``, ``td-agent-gem list`` or your Gemfile.lock
28
- * OpenSearch version (optional)
29
- * OpenSearch template(s) (optional)
@@ -1,24 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
-
5
- ---
6
-
7
- (check apply)
8
- - [ ] read [the contribution guideline](https://github.com/fluent/fluent-plugin-opensearch/blob/master/CONTRIBUTING.md)
9
-
10
- **Is your feature request related to a problem? Please describe.**
11
-
12
- <!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
13
-
14
- **Describe the solution you'd like**
15
-
16
- <!-- A clear and concise description of what you want to happen. -->
17
-
18
- **Describe alternatives you've considered**
19
-
20
- <!-- A clear and concise description of any alternative solutions or features you've considered. -->
21
-
22
- **Additional context**
23
-
24
- <!-- Add any other context or screenshots about the feature request here. -->
@@ -1,9 +0,0 @@
1
- DESCRIPTION HERE
2
-
3
- (check all that apply)
4
- - [ ] tests added
5
- - [ ] tests passing
6
- - [ ] README updated (if needed)
7
- - [ ] README Table of Contents updated (if needed)
8
- - [ ] History.md and `version` in gemspec are untouched
9
- - [ ] backward compatible
@@ -1,22 +0,0 @@
1
- name: coverage
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- coverage:
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v2
10
- - name: Set up Ruby 3.0
11
- uses: ruby/setup-ruby@v1
12
- with:
13
- ruby-version: '3.1'
14
- - name: Build and test with Rake
15
- run: |
16
- gem install bundler
17
- bundle install
18
- bundle exec rake
19
- - name: Coveralls GitHub Action
20
- uses: coverallsapp/github-action@v1.1.2
21
- with:
22
- github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,12 +0,0 @@
1
- name: Autocloser
2
- on: [issues]
3
- jobs:
4
- autoclose:
5
- runs-on: ubuntu-latest
6
- steps:
7
- - name: Autoclose issues that did not follow issue template
8
- uses: roots/issue-closer-action@v1.1
9
- with:
10
- repo-token: ${{ secrets.GITHUB_TOKEN }}
11
- issue-close-message: "@${issue.user.login} this issue was automatically closed because it did not follow the issue template."
12
- issue-pattern: "(.*Problem.*)|(.*Expected Behavior or What you need to ask.*)|(.*Using Fluentd and ES plugin versions.*)|(.*Is your feature request related to a problem? Please describe.*)|(.*Describe the solution you'd like.*)|(.*Describe alternatives you've considered.*)"
@@ -1,26 +0,0 @@
1
- name: Testing on Ubuntu
2
- on:
3
- - push
4
- - pull_request
5
- jobs:
6
- build:
7
- runs-on: ${{ matrix.os }}
8
- strategy:
9
- fail-fast: false
10
- matrix:
11
- ruby: [ '3.0', '3.1', '3.2' ]
12
- os:
13
- - ubuntu-latest
14
- name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
15
- steps:
16
- - uses: actions/checkout@v2
17
- - uses: ruby/setup-ruby@v1
18
- with:
19
- ruby-version: ${{ matrix.ruby }}
20
- - name: unit testing
21
- env:
22
- CI: true
23
- run: |
24
- gem install bundler rake
25
- bundle install --jobs 4 --retry 3
26
- bundle exec rake test
@@ -1,26 +0,0 @@
1
- name: Testing on macOS
2
- on:
3
- - push
4
- - pull_request
5
- jobs:
6
- build:
7
- runs-on: ${{ matrix.os }}
8
- strategy:
9
- fail-fast: false
10
- matrix:
11
- ruby: [ '3.0', '3.1', '3.2' ]
12
- os:
13
- - macOS-latest
14
- name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
15
- steps:
16
- - uses: actions/checkout@v2
17
- - uses: ruby/setup-ruby@v1
18
- with:
19
- ruby-version: ${{ matrix.ruby }}
20
- - name: unit testing
21
- env:
22
- CI: true
23
- run: |
24
- gem install bundler rake
25
- bundle install --jobs 4 --retry 3
26
- bundle exec rake test
@@ -1,26 +0,0 @@
1
- name: Testing on Windows
2
- on:
3
- - push
4
- - pull_request
5
- jobs:
6
- build:
7
- runs-on: ${{ matrix.os }}
8
- strategy:
9
- fail-fast: false
10
- matrix:
11
- ruby: [ '3.0', '3.1', '3.2' ]
12
- os:
13
- - windows-latest
14
- name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
15
- steps:
16
- - uses: actions/checkout@v2
17
- - uses: ruby/setup-ruby@v1
18
- with:
19
- ruby-version: ${{ matrix.ruby }}
20
- - name: unit testing
21
- env:
22
- CI: true
23
- run: |
24
- gem install bundler rake
25
- bundle install --jobs 4 --retry 3
26
- bundle exec rake test
data/.gitignore DELETED
@@ -1,18 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- .DS_Store
data/CONTRIBUTING.md DELETED
@@ -1,24 +0,0 @@
1
- Contributing to fluent-plugin-elasticsearch
2
- ===
3
-
4
- We'd love your contribution. Here are the guidelines!
5
-
6
- ## Got a question or problem?
7
-
8
- RESOURCES of [OpenSearch plugin documentation](https://github.com/fluent/fluent-plugin-opensearch/blob/master/README.md) may help you.
9
-
10
- If you have further questions about OpenSearch plugin, feel free to [open an Issue](https://github.com/fluent/fluent-plugin-opensearch/issues).
11
-
12
- ## Found a bug?
13
-
14
- If you find a bug of OpenSearch plugin or a mistake in the documentation, you can help us by submitting an issue to OpenSearch plugin. Even better you can submit a pull request with a fix.
15
-
16
- Note: Please follow the issue template/pull request template when sending your issue. Otherwise, your issue _might going to be closed with no response_.
17
-
18
- ## Patch Guidelines
19
-
20
- Here are some things that would increase a chance that your patch is accepted:
21
-
22
- * Write tests
23
- * Run tests before sending pull request with `bundle exec rake test`
24
- * Write [a good commit message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
data/Gemfile DELETED
@@ -1,10 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in fluent-plugin-opensearch.gemspec
4
- gemspec
5
-
6
- gem 'simplecov', require: false
7
- gem 'simplecov-lcov', require: false
8
- gem 'strptime', require: false if RUBY_ENGINE == "ruby" && RUBY_VERSION =~ /^2/
9
- gem "irb" if RUBY_ENGINE == "ruby" && RUBY_VERSION >= "2.6"
10
- gem "oj"
data/History.md DELETED
@@ -1,67 +0,0 @@
1
- ## Changelog [[tags]](https://github.com/fluent/fluent-plugin-opensearch/tags)
2
-
3
- ### [Unreleased]
4
-
5
- ### 1.1.4
6
- - test: remove minitest to correct misjudge of the framework by flexmock (#114)
7
- - Add logic to write method of out_opensearch_data_stream (#109)
8
-
9
- ### 1.1.3
10
- - Revert the behavior of passing duration second (#108)
11
-
12
- ### 1.1.2
13
- - Check OS cluster for data streams and templates for index template creation (#106)
14
- - out\_opensearch\_data\_stream: Don't connect to opensearch on dry-run (#105)
15
-
16
- ### 1.1.1
17
- - Pass a value of refresh\_credentials\_interval as duration\_seconds (#78)
18
-
19
- ### 1.1.0
20
- - Unpin `faraday` from v1, upgrade to v2.
21
- Note that if you can't migrate other plugins from `faraday` v1 yet, need to keep
22
- fluent-plugin-opensearch v1.0.10.
23
-
24
- ### 1.0.10
25
- - Replace File.exists? with File.exist? to work with Ruby 3.2 (#93)
26
- - Add a constraint for dependent gem to stay on Faraday v1 (#90)
27
- - README.md: Fix a link to opensearch-ruby (#85)
28
-
29
- ### 1.0.9
30
- - Adjust GitHub workflows (#89)
31
- - out\_opensearch: Provide service_name choices for handling serverless (#88)
32
-
33
- ### 1.0.8
34
- - Use faraday 1.x explicitly (#71)
35
-
36
- ### 1.0.7
37
- - Expire AWS credentials with a certain interval (#52)
38
-
39
- ### 1.0.6
40
- - out\_opensearch: Handle suppress\_type\_name operation correctly (#61)
41
-
42
- ### 1.0.5
43
- - Use if clause to detect requirements for emitting error label events (#57)
44
- - opensearch_data_stream: Align lowercases for data_stream and its template names (#50)
45
-
46
- ### 1.0.4
47
- - Automatically create data streams (#44)
48
-
49
- ### 1.0.3
50
- - Configurable unrecoverable record types (#40)
51
- - Handle exceptions on retrieving AWS credentials (#39)
52
- - Suppress emit error label events (#38)
53
- - Provide suppress_type_name parameter (#29)
54
- - Honor @time_key (data streams) (#28)
55
-
56
- ### 1.0.2
57
- - Honor @hosts parameter for Data Streams (#21)
58
- - Use template_file for Data Streams (#20)
59
- - Specify host argument if needed (#11)
60
-
61
- ### 1.0.1
62
- - Add testcases for hosts parameter (#10)
63
- - Permit to handle @hosts parameter (#9)
64
- - Retry creating data stream/template when OpenSearch is unreachable (#8)
65
-
66
- ### 1.0.0
67
- - Initial public gem release.
@@ -1,116 +0,0 @@
1
- ## Index
2
-
3
- * [Usage](#usage)
4
- * [Configuration](#configuration)
5
- + [hash_id_key](#hash_id_key)
6
- + [include_tag_in_seed](#include_tag_in_seed)
7
- + [include_time_in_seed](#include_time_in_seed)
8
- + [use_record_as_seed](#use_record_as_seed)
9
- + [use_entire_record](#use_entire_record)
10
- + [record_keys](#record_keys)
11
- + [separator](#separator)
12
- + [hash_type](#hash_type)
13
- * [Advanced Usage](#advanced-usage)
14
-
15
- ## Usage
16
-
17
- In your Fluentd configuration, use `@type opensearch_genid`. Additional configuration is optional, default values would look like this:
18
-
19
- ```
20
- <filter>
21
- @type opensearch_genid
22
- hash_id_key _hash
23
- include_tag_in_seed false
24
- include_time_in_seed false
25
- use_record_as_seed false
26
- use_entire_record false
27
- record_keys []
28
- separator _
29
- hash_type sha1
30
- </filter>
31
- ```
32
-
33
- ## Configuration
34
-
35
- ### hash_id_key
36
-
37
- ```
38
- hash_id_key _id
39
- ```
40
-
41
- You can specify generated hash storing key.
42
-
43
- ### include_tag_in_seed
44
-
45
- ```
46
- include_tag_in_seed true
47
- ```
48
-
49
- You can specify to use tag for hash generation seed.
50
-
51
- ### include_time_in_seed
52
-
53
- ```
54
- include_time_in_seed true
55
- ```
56
-
57
- You can specify to use time for hash generation seed.
58
-
59
- ### use_record_as_seed
60
-
61
- ```
62
- use_record_as_seed true
63
- ```
64
-
65
- 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.
66
-
67
- ### record_keys
68
-
69
- ```
70
- record_keys request_id,pipeline_id
71
- ```
72
-
73
- 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.
74
-
75
- ### use_entire_record
76
-
77
- ```
78
- use_entire_record true
79
- ```
80
-
81
- You can specify to use entire record in events for hash generation seed.
82
-
83
-
84
- ### separator
85
-
86
- ```
87
- separator |
88
- ```
89
-
90
- You can specify separator charactor to creating seed for hash generation.
91
-
92
- ### hash_type
93
-
94
- ```
95
- hash_type sha1
96
- ```
97
-
98
- You can specify hash algorithm. Support algorithms `md5`, `sha1`, `sha256`, `sha512`. Default: `sha1`
99
-
100
- ## Advanced Usage
101
-
102
- Opensearch GenID plugin can handle record contents differing with the following parameters:
103
-
104
- ```aconf
105
- <filter the.awesome.your.routing.tag>
106
- @type opensearch_genid
107
- use_entire_record true
108
- hash_type sha1
109
- hash_id_key _hash
110
- separator _
111
- inc_time_as_key true
112
- inc_tag_as_key true
113
- </filter>
114
- ```
115
-
116
- The above configuration can handle tag, time, and record differing and generate different base64 encoded hash per record.