logstash-filter-geoip 7.2.1-java → 7.2.5-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 285fa554ef1f4455e341836fd13e7b1af1a07c52b81d41854adfe6640d831eba
4
- data.tar.gz: e7dfba0e36f8255f15b27dcc8e55325b273941f277a6b9e3004e2c00e350778c
3
+ metadata.gz: 5343724bbb8e5c095b58bce550a623e52b430be296389ca4fa96d590ae75e833
4
+ data.tar.gz: 1c4d5fbc791114fe2ef3fb84fd4c69ea727232e3e60bd4ceed3b2fb36fb1dee4
5
5
  SHA512:
6
- metadata.gz: 6495b6e4a085cca0b2e23310621bbd6543ad0118dc3cd35aa97224795a12ff3e3714194460974fb86961e74e2653b3926e2d94b4941a5f80582700319ae73f18
7
- data.tar.gz: ce5b1b5bbc3b103de2cb0760bb3ab9d2b125e2d70d92fec20ef8f84b40f9e92cdbaf95ffd0954d7c2eacd85bd3865284a5d021f81e328fa82566dcaf42a0b3ec
6
+ metadata.gz: a982a61ac68f2e8a53c480e26652970be26a0773e0c4aaa5ad062e476b957eabeef1d6671db62ba9469cfa39010f650ec1b5d797e6cd09115644013e13b6cf02
7
+ data.tar.gz: c3163f27b7cdd8bdd57765f5214c816c9e9a93093b0de4a4931e132df92d92ef544835ad6f69c337fa0376cab4044f34f94ccf50180714eb0844b6c1be7e896f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## 7.2.5
2
+ - Added preview of ECS-v8 support with existing ECS-v1 implementation [#193](https://github.com/logstash-plugins/logstash-filter-geoip/pull/193)
3
+
4
+ ## 7.2.4
5
+ - Fix: update to Gradle 7 [#191](https://github.com/logstash-plugins/logstash-filter-geoip/pull/191)
6
+ - [DOC] Clarify CC licensed database indefinite use condition and air-gapped environment [#192](https://github.com/logstash-plugins/logstash-filter-geoip/pull/192)
7
+
8
+ ## 7.2.3
9
+ - [DOC] Add documentation for bootstrapping air-gapped environment for database auto-update [#189](https://github.com/logstash-plugins/logstash-filter-geoip/pull/189)
10
+
11
+ ## 7.2.2
12
+ - [DOC] Add documentation for database auto-update behavior and database metrics [#187](https://github.com/logstash-plugins/logstash-filter-geoip/pull/187)
13
+
1
14
  ## 7.2.1
2
15
  - Republish the gem due to missing jars in 7.2.0 [#186](https://github.com/logstash-plugins/logstash-filter-geoip/pull/186)
3
16
 
data/docs/index.asciidoc CHANGED
@@ -43,9 +43,7 @@ If you would like to get Autonomous System Number(ASN) information, you can use
43
43
  https://www.maxmind.com[MaxMind] changed from releasing the GeoIP database under
44
44
  a Creative Commons (CC) license to a proprietary end-user license agreement
45
45
  (EULA). The MaxMind EULA requires Logstash to update the MaxMind database
46
- within 30 days of a database update. If Logstash fails to download the database
47
- for 30 days, the geoip filter will stop enriching events in order to maintain compliance.
48
- Events will be tagged with `_geoip_expired_database` tag to facilitate the handling of this situation.
46
+ within 30 days of a database update.
49
47
 
50
48
  The GeoIP filter plugin can manage the database for users running the Logstash default
51
49
  distribution, or you can manage
@@ -57,6 +55,120 @@ Otherwise, you are responsible for maintaining compliance.
57
55
  The Logstash open source distribution uses the MaxMind Creative Commons license
58
56
  database by default.
59
57
 
58
+ [id="plugins-{type}s-{plugin}-database_auto"]
59
+ ==== Database Auto-update
60
+
61
+ This plugin bundles Creative Commons (CC) license databases.
62
+ Logstash checks for database updates every day. It downloads the latest and can replace the old database
63
+ while the plugin is running.
64
+ After Logstash downloads EULA license databases, it will not fallback to CC license databases.
65
+
66
+ NOTE: If the database has never been updated successfully, as in air-gapped environments, Logstash can use CC license databases indefinitely.
67
+
68
+ After Logstash has switched to a EULA licensed database, the geoip filter will
69
+ stop enriching events in order to maintain compliance if Logstash fails to
70
+ check for database updates for 30 days.
71
+ Events will be tagged with `_geoip_expired_database` tag to facilitate the handling of this situation.
72
+
73
+ TIP: When possible, allow Logstash to access the internet to download databases so that they are always up-to-date.
74
+
75
+ [id="plugins-{type}s-{plugin}-manage_update"]
76
+ ==== Manage your own database updates
77
+
78
+ **Use a proxy endpoint**
79
+
80
+ If you can't connect directly to the Elastic GeoIP endpoint, consider setting up
81
+ a secure proxy. You can then specify the proxy endpoint URL in the
82
+ `xpack.geoip.download.endpoint` setting in `logstash.yml` file.
83
+
84
+ **Use a custom endpoint (air-gapped environments)**
85
+
86
+ If you work in air-gapped environment and can't update your databases from the Elastic endpoint,
87
+ You can then download databases from MaxMind and bootstrap the service.
88
+
89
+ . Download your `.mmdb` database files from the
90
+ http://dev.maxmind.com/geoip/geoip2/geolite2[MaxMind site].
91
+
92
+ . Copy your database files to a single directory.
93
+
94
+ . https://www.elastic.co/downloads/elasticsearch[Download {es}].
95
+
96
+ . From your {es} directory, run:
97
+ +
98
+ [source,sh]
99
+ ----
100
+ ./bin/elasticsearch-geoip -s my/database/dir
101
+ ----
102
+
103
+ . Serve the static database files from your directory. For example, you can use
104
+ Docker to serve the files from nginx server:
105
+ +
106
+ [source,sh]
107
+ ----
108
+ docker run -p 8080:80 -v my/database/dir:/usr/share/nginx/html:ro nginx
109
+ ----
110
+
111
+ . Specify the service's endpoint URL using the
112
+ `xpack.geoip.download.endpoint=http://localhost:8080/overview.json` setting in `logstash.yml`.
113
+
114
+ Logstash gets automatic updates from this service.
115
+
116
+ [id="plugins-{type}s-{plugin}-metrics"]
117
+ ==== Database Metrics
118
+
119
+ You can monitor database status through the {logstash-ref}/node-stats-api.html#node-stats-api[Node Stats API].
120
+
121
+ The following request returns a JSON document containing database manager stats,
122
+ including:
123
+
124
+ * database status and freshness
125
+ ** `geoip_download_manager.database.*.status`
126
+ *** `init` : initial CC database status
127
+ *** `up_to_date` : using up-to-date EULA database
128
+ *** `to_be_expired` : 25 days without calling service
129
+ *** `expired` : 30 days without calling service
130
+ ** `fail_check_in_days` : number of days Logstash fails to call service since the last success
131
+ * info about download successes and failures
132
+ ** `geoip_download_manager.download_stats.successes` number of successful checks and downloads
133
+ ** `geoip_download_manager.download_stats.failures` number of failed check or download
134
+ ** `geoip_download_manager.download_stats.status`
135
+ *** `updating` : check and download at the moment
136
+ *** `succeeded` : last download succeed
137
+ *** `failed` : last download failed
138
+
139
+ [source,js]
140
+ --------------------------------------------------
141
+ curl -XGET 'localhost:9600/_node/stats/geoip_download_manager?pretty'
142
+ --------------------------------------------------
143
+
144
+ Example response:
145
+
146
+ [source,js]
147
+ --------------------------------------------------
148
+ {
149
+ "geoip_download_manager" : {
150
+ "database" : {
151
+ "ASN" : {
152
+ "status" : "up_to_date",
153
+ "fail_check_in_days" : 0,
154
+ "last_updated_at": "2021-06-21T16:06:54+02:00"
155
+ },
156
+ "City" : {
157
+ "status" : "up_to_date",
158
+ "fail_check_in_days" : 0,
159
+ "last_updated_at": "2021-06-21T16:06:54+02:00"
160
+ }
161
+ },
162
+ "download_stats" : {
163
+ "successes" : 15,
164
+ "failures" : 1,
165
+ "last_checked_at" : "2021-06-21T16:07:03+02:00",
166
+ "status" : "succeeded"
167
+ }
168
+ }
169
+ }
170
+ --------------------------------------------------
171
+
60
172
  ==== Details
61
173
 
62
174
  A `[geoip][location]` field is created if
@@ -172,7 +284,7 @@ For the built-in GeoLite2 City database, the following are available:
172
284
  * Value type is <<string,string>>
173
285
  * Supported values are:
174
286
  ** `disabled`: unstructured geo data added at root level
175
- ** `v1`: uses fields that are compatible with Elastic Common Schema (for example, `[client][geo][country_name]`)
287
+ ** `v1`, `v8`: uses fields that are compatible with Elastic Common Schema (for example, `[client][geo][country_name]`)
176
288
  * Default value depends on which version of Logstash is running:
177
289
  ** When Logstash provides a `pipeline.ecs_compatibility` setting, its value is used as the default
178
290
  ** Otherwise, the default value is `disabled`.
@@ -32,7 +32,7 @@ require "logstash/plugin_mixins/ecs_compatibility_support"
32
32
  # --
33
33
 
34
34
  class LogStash::Filters::GeoIP < LogStash::Filters::Base
35
- include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled, :v1)
35
+ include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled, :v1, :v8 => :v1)
36
36
 
37
37
  config_name "geoip"
38
38
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-filter-geoip'
4
- s.version = '7.2.1'
4
+ s.version = '7.2.5'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Adds geographical information about an IP address"
7
7
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
 
23
23
  # Gem dependencies
24
24
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
25
- s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.1'
25
+ s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.2'
26
26
  s.add_development_dependency 'logstash-devutils'
27
27
  s.add_development_dependency 'insist'
28
28
  s.add_development_dependency 'benchmark-ips'
@@ -14,7 +14,7 @@ describe LogStash::Filters::GeoIP do
14
14
  describe "simple ip filter", :aggregate_failures do
15
15
 
16
16
  context "when specifying the target", :ecs_compatibility_support do
17
- ecs_compatibility_matrix(:disabled, :v1) do |ecs_select|
17
+ ecs_compatibility_matrix(:disabled, :v1, :v8 => :v1) do |ecs_select|
18
18
 
19
19
  let(:ip) { "8.8.8.8" }
20
20
  let(:event) { LogStash::Event.new("message" => ip) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-geoip
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.1
4
+ version: 7.2.5
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-16 00:00:00.000000000 Z
11
+ date: 2021-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -35,7 +35,7 @@ dependencies:
35
35
  requirements:
36
36
  - - "~>"
37
37
  - !ruby/object:Gem::Version
38
- version: '1.1'
38
+ version: '1.2'
39
39
  name: logstash-mixin-ecs_compatibility_support
40
40
  prerelease: false
41
41
  type: :runtime
@@ -43,7 +43,7 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.1'
46
+ version: '1.2'
47
47
  - !ruby/object:Gem::Dependency
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
@@ -152,8 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  requirements: []
155
- rubyforge_project:
156
- rubygems_version: 2.6.13
155
+ rubygems_version: 3.1.6
157
156
  signing_key:
158
157
  specification_version: 4
159
158
  summary: Adds geographical information about an IP address