fluent-plugin-elasticsearch 4.1.1 → 5.4.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|