fluent-plugin-elasticsearch 4.1.1 → 5.4.3
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.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/issue-auto-closer.yml +2 -2
- data/.github/workflows/linux.yml +5 -2
- data/.github/workflows/macos.yml +5 -2
- data/.github/workflows/windows.yml +5 -2
- data/Gemfile +1 -2
- data/History.md +146 -0
- data/README.ElasticsearchGenID.md +4 -4
- data/README.ElasticsearchInput.md +1 -1
- data/README.Troubleshooting.md +692 -0
- data/README.md +260 -550
- data/fluent-plugin-elasticsearch.gemspec +4 -1
- data/lib/fluent/plugin/elasticsearch_compat.rb +31 -0
- data/lib/fluent/plugin/elasticsearch_error_handler.rb +19 -4
- data/lib/fluent/plugin/elasticsearch_fallback_selector.rb +2 -2
- data/lib/fluent/plugin/elasticsearch_index_lifecycle_management.rb +18 -4
- data/lib/fluent/plugin/elasticsearch_index_template.rb +65 -21
- data/lib/fluent/plugin/elasticsearch_simple_sniffer.rb +2 -1
- data/lib/fluent/plugin/filter_elasticsearch_genid.rb +1 -1
- data/lib/fluent/plugin/in_elasticsearch.rb +8 -2
- data/lib/fluent/plugin/oj_serializer.rb +2 -1
- data/lib/fluent/plugin/out_elasticsearch.rb +192 -36
- data/lib/fluent/plugin/out_elasticsearch_data_stream.rb +298 -0
- data/lib/fluent/plugin/out_elasticsearch_dynamic.rb +3 -1
- data/test/helper.rb +0 -4
- data/test/plugin/mock_chunk.dat +0 -0
- data/test/plugin/test_elasticsearch_error_handler.rb +130 -23
- data/test/plugin/test_elasticsearch_fallback_selector.rb +17 -8
- data/test/plugin/test_elasticsearch_index_lifecycle_management.rb +57 -18
- data/test/plugin/test_elasticsearch_tls.rb +8 -2
- data/test/plugin/test_filter_elasticsearch_genid.rb +16 -16
- data/test/plugin/test_in_elasticsearch.rb +51 -21
- data/test/plugin/test_index_alias_template.json +11 -0
- data/test/plugin/test_index_template.json +25 -0
- data/test/plugin/test_out_elasticsearch.rb +2118 -704
- data/test/plugin/test_out_elasticsearch_data_stream.rb +1199 -0
- data/test/plugin/test_out_elasticsearch_dynamic.rb +170 -31
- metadata +62 -10
- data/.coveralls.yml +0 -2
- data/.travis.yml +0 -44
- data/appveyor.yml +0 -20
- data/gemfiles/Gemfile.without.ilm +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 542a7706becd1b24f8d3e6ad8957015dba5f721b3a93047ec4bea80313df8200
|
4
|
+
data.tar.gz: 8104645d96578abf0f4357a22c83a7f9cbc548e7bbc35ef5eeb8726deaada6f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93a2a932a766170b197f3ded762c89912f743cec3ddcef3e7719d8ca57b504f6f7b51bc17bac02ef5073fd1fade3366140a7d775351c8b86b1f05693a76be122
|
7
|
+
data.tar.gz: 35b82c172909a1f47dc74507c7ea9df451576b9cb1c8dcba85fdb094b3568b2187aafa1aecbd3367ef2ab0a347a30f90d8b663780e3261bdefc5dcb2b24f0133
|
@@ -0,0 +1,37 @@
|
|
1
|
+
---
|
2
|
+
name: Bug Report
|
3
|
+
about: Create a report to help us improve. If you have questions about ES 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/uken/fluent-plugin-elasticsearch/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
|
+
#### Problem
|
12
|
+
|
13
|
+
...
|
14
|
+
|
15
|
+
#### Steps to replicate
|
16
|
+
|
17
|
+
Either clone and modify https://gist.github.com/pitr/9a518e840db58f435911
|
18
|
+
|
19
|
+
**OR**
|
20
|
+
|
21
|
+
Provide example config and message
|
22
|
+
|
23
|
+
#### Expected Behavior or What you need to ask
|
24
|
+
|
25
|
+
...
|
26
|
+
|
27
|
+
#### Using Fluentd and ES plugin versions
|
28
|
+
|
29
|
+
* OS version
|
30
|
+
* Bare Metal or within Docker or Kubernetes or others?
|
31
|
+
* Fluentd v0.12 or v0.14/v1.0
|
32
|
+
* paste result of ``fluentd --version`` or ``td-agent --version``
|
33
|
+
* ES plugin 3.x.y/2.x.y or 1.x.y
|
34
|
+
* paste boot log of fluentd or td-agent
|
35
|
+
* paste result of ``fluent-gem list``, ``td-agent-gem list`` or your Gemfile.lock
|
36
|
+
* ES version (optional)
|
37
|
+
* ES template(s) (optional)
|
@@ -0,0 +1,24 @@
|
|
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/uken/fluent-plugin-elasticsearch/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. -->
|
@@ -5,8 +5,8 @@ jobs:
|
|
5
5
|
runs-on: ubuntu-latest
|
6
6
|
steps:
|
7
7
|
- name: Autoclose issues that did not follow issue template
|
8
|
-
uses: roots/issue-closer-action@v1.
|
8
|
+
uses: roots/issue-closer-action@v1.2
|
9
9
|
with:
|
10
10
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
11
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.*)"
|
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.*)"
|
data/.github/workflows/linux.yml
CHANGED
@@ -2,18 +2,21 @@ name: Testing on Ubuntu
|
|
2
2
|
on:
|
3
3
|
- push
|
4
4
|
- pull_request
|
5
|
+
permissions:
|
6
|
+
contents: read
|
7
|
+
|
5
8
|
jobs:
|
6
9
|
build:
|
7
10
|
runs-on: ${{ matrix.os }}
|
8
11
|
strategy:
|
9
12
|
fail-fast: false
|
10
13
|
matrix:
|
11
|
-
ruby: [ '
|
14
|
+
ruby: [ '3.0', '3.1', '3.2' ]
|
12
15
|
os:
|
13
16
|
- ubuntu-latest
|
14
17
|
name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
|
15
18
|
steps:
|
16
|
-
- uses: actions/checkout@
|
19
|
+
- uses: actions/checkout@v4
|
17
20
|
- uses: ruby/setup-ruby@v1
|
18
21
|
with:
|
19
22
|
ruby-version: ${{ matrix.ruby }}
|
data/.github/workflows/macos.yml
CHANGED
@@ -2,18 +2,21 @@ name: Testing on macOS
|
|
2
2
|
on:
|
3
3
|
- push
|
4
4
|
- pull_request
|
5
|
+
permissions:
|
6
|
+
contents: read
|
7
|
+
|
5
8
|
jobs:
|
6
9
|
build:
|
7
10
|
runs-on: ${{ matrix.os }}
|
8
11
|
strategy:
|
9
12
|
fail-fast: false
|
10
13
|
matrix:
|
11
|
-
ruby: [ '
|
14
|
+
ruby: [ '3.0', '3.1', '3.2' ]
|
12
15
|
os:
|
13
16
|
- macOS-latest
|
14
17
|
name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
|
15
18
|
steps:
|
16
|
-
- uses: actions/checkout@
|
19
|
+
- uses: actions/checkout@v4
|
17
20
|
- uses: ruby/setup-ruby@v1
|
18
21
|
with:
|
19
22
|
ruby-version: ${{ matrix.ruby }}
|
@@ -2,18 +2,21 @@ name: Testing on Windows
|
|
2
2
|
on:
|
3
3
|
- push
|
4
4
|
- pull_request
|
5
|
+
permissions:
|
6
|
+
contents: read
|
7
|
+
|
5
8
|
jobs:
|
6
9
|
build:
|
7
10
|
runs-on: ${{ matrix.os }}
|
8
11
|
strategy:
|
9
12
|
fail-fast: false
|
10
13
|
matrix:
|
11
|
-
ruby: [ '
|
14
|
+
ruby: [ '3.0', '3.1', '3.2' ]
|
12
15
|
os:
|
13
16
|
- windows-latest
|
14
17
|
name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
|
15
18
|
steps:
|
16
|
-
- uses: actions/checkout@
|
19
|
+
- uses: actions/checkout@v4
|
17
20
|
- uses: ruby/setup-ruby@v1
|
18
21
|
with:
|
19
22
|
ruby-version: ${{ matrix.ruby }}
|
data/Gemfile
CHANGED
@@ -4,8 +4,7 @@ source 'https://rubygems.org'
|
|
4
4
|
gemspec
|
5
5
|
|
6
6
|
gem 'simplecov', require: false
|
7
|
-
gem 'coveralls', ">= 0.8.0", require: false
|
8
7
|
gem 'strptime', require: false if RUBY_ENGINE == "ruby" && RUBY_VERSION =~ /^2/
|
9
8
|
gem "irb" if RUBY_ENGINE == "ruby" && RUBY_VERSION >= "2.6"
|
10
|
-
gem "elasticsearch-xpack"
|
9
|
+
gem "elasticsearch-xpack" if ENV["USE_XPACK"]
|
11
10
|
gem "oj"
|
data/History.md
CHANGED
@@ -2,6 +2,152 @@
|
|
2
2
|
|
3
3
|
### [Unreleased]
|
4
4
|
|
5
|
+
### 5.4.3
|
6
|
+
- add data_stream_template\_use\_index\_patterns\_wildcard in elasticsearch\_data\_stream (#1040)
|
7
|
+
|
8
|
+
### 5.4.2
|
9
|
+
- in\_elasticsearch: Avoid to use deprecated endpoint for clear\_scroll (#1039)
|
10
|
+
|
11
|
+
### 5.4.1
|
12
|
+
- Adjust ilm endpoint (#1036)
|
13
|
+
|
14
|
+
### 5.4.0
|
15
|
+
- Fix support for host/hosts placeholders for ipv6 addresses (#1030)
|
16
|
+
- Handle newer es library (#1032)
|
17
|
+
|
18
|
+
### 5.3.0
|
19
|
+
|
20
|
+
- Unpin `faraday` from v1, upgrade to v2. (#1012)
|
21
|
+
Note that if you can't migrate other plugins from `faraday` v1 yet, need to keep
|
22
|
+
fluent-plugin-elasticsearch v5.2.5.
|
23
|
+
|
24
|
+
### 5.2.5
|
25
|
+
|
26
|
+
- Update the name of parameter about `thread_pool`.
|
27
|
+
It should be `thread_pool.write.queue_size` instead of `thread_pool.bulk.queue_size` (#1000)
|
28
|
+
- Replace obsolete `File.exists?` with `File.exist?` (#998)
|
29
|
+
- Support `compression_level` for `elasticsearch_data_stream` (#995)
|
30
|
+
- Honor `hosts` parameter for `elasticsearch_data_stream` (#1008)
|
31
|
+
- Drop outdated coveralls (#1009)
|
32
|
+
|
33
|
+
### 5.2.4
|
34
|
+
- Pin Faraday 1.10 (#987)
|
35
|
+
- Increase errors metric on error response in data stream (#986)
|
36
|
+
|
37
|
+
### 5.2.3
|
38
|
+
- Bump actions/checkout from 2 to 3 (#978)
|
39
|
+
- chore: Included githubactions in the dependabot config (#977)
|
40
|
+
- chore: Set permissions for GitHub actions (#972)
|
41
|
+
- Remove nested msgpack\_each in handle\_error (#970)
|
42
|
+
- do not overwrite @timestamp in data stream if it already exists in the record (#968)
|
43
|
+
|
44
|
+
### 5.2.2
|
45
|
+
- Add missing top level class markers (#961)
|
46
|
+
- Ensure use_record_as_seed for same records (#960)
|
47
|
+
|
48
|
+
### 5.2.1
|
49
|
+
- respect include\_tag\_key and tag\_key setting when using data streams (#936)
|
50
|
+
- Handle unsupported version error (#956)
|
51
|
+
- Display deprecated warning on ES dynamic plugin (#955)
|
52
|
+
|
53
|
+
### 5.2.0
|
54
|
+
- Migrate to handle Elasticsearch 8 (#949)
|
55
|
+
|
56
|
+
### 5.1.5
|
57
|
+
- Make retryable DataStreams creation at configure phase (#943)
|
58
|
+
- Handle @hosts parameter on data_stream plugin (#942)
|
59
|
+
- allow specifying custom ILM policies for data streams (#933)
|
60
|
+
|
61
|
+
### 5.1.4
|
62
|
+
- Handle ES8 or above more strictly (#931)
|
63
|
+
- fixing double "\_policy" in index lifecycle management policy for elasticsearch\_data\_stream output (#930)
|
64
|
+
|
65
|
+
### 5.1.3
|
66
|
+
- fixing execution order for dynamic data stream creation (#928)
|
67
|
+
|
68
|
+
### 5.1.2
|
69
|
+
- Fix default values of datastream parameters (#926)
|
70
|
+
|
71
|
+
### 5.1.1
|
72
|
+
- Report appropriate error for data_stream parameters (#922)
|
73
|
+
- Add ILM and template parameters for data streams (#920)
|
74
|
+
- Support Buffer in Data Stream Output (#917)
|
75
|
+
|
76
|
+
### 5.1.0
|
77
|
+
- Correct default target bytes value (#914)
|
78
|
+
- Handle elasticsearch-ruby 7.14 properly (#913)
|
79
|
+
|
80
|
+
### 5.0.5
|
81
|
+
- Drop json_parse_exception messages for bulk failures (#900)
|
82
|
+
- GitHub Actions: Drop Ruby 2.5 due to EOL (#894)
|
83
|
+
|
84
|
+
### 5.0.4
|
85
|
+
- test: out_elasticsearch: Remove a needless headers from affinity stub (#888)
|
86
|
+
- Target Index Affinity (#883)
|
87
|
+
|
88
|
+
### 5.0.3
|
89
|
+
- Fix use_legacy_template documentation (#880)
|
90
|
+
- Add FAQ for dynamic index/template (#878)
|
91
|
+
- Handle IPv6 address string on host and hosts parameters (#877)
|
92
|
+
|
93
|
+
### 5.0.2
|
94
|
+
- GitHub Actions: Tweak Ruby versions on test (#875)
|
95
|
+
- test: datastreams: Set nonexistent datastream as default (#874)
|
96
|
+
- Fix overwriting of index template and index lifecycle policy on existing data streams (#872)
|
97
|
+
|
98
|
+
### 5.0.1
|
99
|
+
- Use elasticsearch/api instead of elasticsearch/xpack (#870)
|
100
|
+
|
101
|
+
### 5.0.0
|
102
|
+
- Support #retry_operate on data stream (#863)
|
103
|
+
- Support placeholder in @data\_stream\_name for @type elasticsearch\_data\_stream (#862)
|
104
|
+
- Extract troubleshooting section (#861)
|
105
|
+
- Fix unmatched `<source>` close tag (#860)
|
106
|
+
- Initial support for Elasticsearch Data Stream (#859)
|
107
|
+
|
108
|
+
### 4.3.3
|
109
|
+
- Handle invalid Elasticsearch::Client#info response (#855)
|
110
|
+
|
111
|
+
### 4.3.2
|
112
|
+
- Use log.debug to dump ES 8.x _type information (#852)
|
113
|
+
|
114
|
+
### 4.3.1
|
115
|
+
- Unsplit huge records by default (#851)
|
116
|
+
|
117
|
+
### 4.3.0
|
118
|
+
- Add cloud_id & cloud_auth settings (#850)
|
119
|
+
- Fix failing tests on es6 client (#848)
|
120
|
+
- feat: retry on transport errors (#846)
|
121
|
+
- fix typo (#838)
|
122
|
+
- Remove unnecessary nil check (#826)
|
123
|
+
|
124
|
+
### 4.2.2
|
125
|
+
- Remove unnecessary nil check (#826)
|
126
|
+
- Fix ILM rollover index template pattern to apply index_separator (#825)
|
127
|
+
- Fix ILM rollover alias creation when a placeholder is used in index_name (#823)
|
128
|
+
- Add a note about the pitfalls of per-date indexes used with ILM (#822)
|
129
|
+
|
130
|
+
### 4.2.1
|
131
|
+
- Update a broken link (#821)
|
132
|
+
- Include chunk_id in records (#820)
|
133
|
+
- Fix a failing testcase (#818)
|
134
|
+
|
135
|
+
### 4.2.0
|
136
|
+
- ci: Add Ruby 2.7 jobs (#812)
|
137
|
+
- Support Elasticsearch new style template (#810)
|
138
|
+
|
139
|
+
### 4.1.4
|
140
|
+
- ElasticsearchGenID update docs for hash_type (#809)
|
141
|
+
- Handle api key header (#808)
|
142
|
+
- index_template: Handle error object entirely on index creation failure (#807)
|
143
|
+
|
144
|
+
### 4.1.3
|
145
|
+
- Load multiple templates even if template_name and template_file given (#799)
|
146
|
+
- Handle elasticsearch-ruby 7.9.0 using HTTP method changes (#795)
|
147
|
+
|
148
|
+
### 4.1.2
|
149
|
+
- Use Hash#dig instead of Hash#[] on retrieving version information from Elasticsearch info API (#793)
|
150
|
+
|
5
151
|
### 4.1.1
|
6
152
|
- Correct ILM explain on logstash_format case (#786)
|
7
153
|
|
@@ -17,7 +17,7 @@
|
|
17
17
|
In your Fluentd configuration, use `@type elasticsearch_genid`. Additional configuration is optional, default values would look like this:
|
18
18
|
|
19
19
|
```
|
20
|
-
<
|
20
|
+
<filter>
|
21
21
|
@type elasticsearch_genid
|
22
22
|
hash_id_key _hash
|
23
23
|
include_tag_in_seed false
|
@@ -26,8 +26,8 @@ In your Fluentd configuration, use `@type elasticsearch_genid`. Additional confi
|
|
26
26
|
use_entire_record false
|
27
27
|
record_keys []
|
28
28
|
separator _
|
29
|
-
hash_type
|
30
|
-
</
|
29
|
+
hash_type sha1
|
30
|
+
</filter>
|
31
31
|
```
|
32
32
|
|
33
33
|
## Configuration
|
@@ -95,7 +95,7 @@ You can specify separator charactor to creating seed for hash generation.
|
|
95
95
|
hash_type sha1
|
96
96
|
```
|
97
97
|
|
98
|
-
You can specify hash algorithm.
|
98
|
+
You can specify hash algorithm. Support algorithms `md5`, `sha1`, `sha256`, `sha512`. Default: `sha1`
|
99
99
|
|
100
100
|
## Advanced Usage
|
101
101
|
|