logstash-output-google_cloud_storage 3.0.1 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cc96477a96f187a01300f0fac4d97d4db89229f9
4
- data.tar.gz: 772f75fb6128207021822643b7312956ffac53e4
2
+ SHA256:
3
+ metadata.gz: '028cf4d52779b4adfce9d03cc2046bbfb53dd0d5ff397597d8a56457811e64a4'
4
+ data.tar.gz: 4977802be645d4df808f5d5ded47b7ecf9628b2b1d720dadda9995eef7985d38
5
5
  SHA512:
6
- metadata.gz: af5d28f9e409438df55299b705f193ffb2abb8d51141ba624792987b28c3913f1efa4f6b36973107c43deb5299602f4ec3dc1dc0d437daf65f134d0c1f653f82
7
- data.tar.gz: 782ded398ca86c512d0824b0f7e897406d91bb83b8a0fc3702a4a3402a51b80dbee36f47a43c1a50b4b54d0c76ad5b78ca3f22d455ac45c443a913f1e8cc711d
6
+ metadata.gz: 57b22937cb64c8f96b3c59285413c951407651b4910f92635958ee4bc52b0f68c4da4e9515a0c735f5637e52fea3b13d401f56fc6ffa9dad35f6b7e16873f747
7
+ data.tar.gz: 264829c41678e242d9986f4b3c29017a6763239a59bd74d67c6f52e40689cceb0f1709d48c185b0e30a0f88035d41567e48a2222ffa1ad04b46aba4854742eaf
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 3.0.2
2
+ - Docs: Fix doc formatting
3
+
1
4
  ## 3.0.1
2
5
  - align the dependency on mime-type and google-api-client with the `logstash-output-google_bigquery`
3
6
 
data/Gemfile CHANGED
@@ -1,2 +1,11 @@
1
1
  source 'https://rubygems.org'
2
- gemspec
2
+
3
+ gemspec
4
+
5
+ logstash_path = ENV["LOGSTASH_PATH"] || "../../logstash"
6
+ use_logstash_source = ENV["LOGSTASH_SOURCE"] && ENV["LOGSTASH_SOURCE"].to_s == "1"
7
+
8
+ if Dir.exist?(logstash_path) && use_logstash_source
9
+ gem 'logstash-core', :path => "#{logstash_path}/logstash-core"
10
+ gem 'logstash-core-plugin-api', :path => "#{logstash_path}/logstash-core-plugin-api"
11
+ end
@@ -0,0 +1,206 @@
1
+ :plugin: google_cloud_storage
2
+ :type: output
3
+
4
+ ///////////////////////////////////////////
5
+ START - GENERATED VARIABLES, DO NOT EDIT!
6
+ ///////////////////////////////////////////
7
+ :version: %VERSION%
8
+ :release_date: %RELEASE_DATE%
9
+ :changelog_url: %CHANGELOG_URL%
10
+ :include_path: ../../../../logstash/docs/include
11
+ ///////////////////////////////////////////
12
+ END - GENERATED VARIABLES, DO NOT EDIT!
13
+ ///////////////////////////////////////////
14
+
15
+ [id="plugins-{type}-{plugin}"]
16
+
17
+ === Google_cloud_storage output plugin
18
+
19
+ include::{include_path}/plugin_header.asciidoc[]
20
+
21
+ ==== Description
22
+
23
+ Summary: plugin to upload log events to Google Cloud Storage (GCS), rolling
24
+ files based on the date pattern provided as a configuration setting. Events
25
+ are written to files locally and, once file is closed, this plugin uploads
26
+ it to the configured bucket.
27
+
28
+ For more info on Google Cloud Storage, please go to:
29
+ https://cloud.google.com/products/cloud-storage
30
+
31
+ In order to use this plugin, a Google service account must be used. For
32
+ more information, please refer to:
33
+ https://developers.google.com/storage/docs/authentication#service_accounts
34
+
35
+ Recommendation: experiment with the settings depending on how much log
36
+ data you generate, so the uploader can keep up with the generated logs.
37
+ Using gzip output can be a good option to reduce network traffic when
38
+ uploading the log files and in terms of storage costs as well.
39
+
40
+ USAGE:
41
+ This is an example of logstash config:
42
+
43
+ [source,json]
44
+ --------------------------
45
+ output {
46
+ google_cloud_storage {
47
+ bucket => "my_bucket" (required)
48
+ key_path => "/path/to/privatekey.p12" (required)
49
+ key_password => "notasecret" (optional)
50
+ service_account => "1234@developer.gserviceaccount.com" (required)
51
+ temp_directory => "/tmp/logstash-gcs" (optional)
52
+ log_file_prefix => "logstash_gcs" (optional)
53
+ max_file_size_kbytes => 1024 (optional)
54
+ output_format => "plain" (optional)
55
+ date_pattern => "%Y-%m-%dT%H:00" (optional)
56
+ flush_interval_secs => 2 (optional)
57
+ gzip => false (optional)
58
+ uploader_interval_secs => 60 (optional)
59
+ }
60
+ }
61
+ --------------------------
62
+
63
+ * Support logstash event variables to determine filename.
64
+ * Turn Google API code into a Plugin Mixin (like AwsConfig).
65
+ * There's no recover method, so if logstash/plugin crashes, files may not
66
+ be uploaded to GCS.
67
+ * Allow user to configure file name.
68
+ * Allow parallel uploads for heavier loads (+ connection configuration if
69
+ exposed by Ruby API client)
70
+
71
+ [id="plugins-{type}s-{plugin}-options"]
72
+ ==== Google_cloud_storage Output Configuration Options
73
+
74
+ This plugin supports the following configuration options plus the <<plugins-{type}s-{plugin}-common-options>> described later.
75
+
76
+ [cols="<,<,<",options="header",]
77
+ |=======================================================================
78
+ |Setting |Input type|Required
79
+ | <<plugins-{type}s-{plugin}-bucket>> |<<string,string>>|Yes
80
+ | <<plugins-{type}s-{plugin}-date_pattern>> |<<string,string>>|No
81
+ | <<plugins-{type}s-{plugin}-flush_interval_secs>> |<<number,number>>|No
82
+ | <<plugins-{type}s-{plugin}-gzip>> |<<boolean,boolean>>|No
83
+ | <<plugins-{type}s-{plugin}-key_password>> |<<string,string>>|No
84
+ | <<plugins-{type}s-{plugin}-key_path>> |<<string,string>>|Yes
85
+ | <<plugins-{type}s-{plugin}-log_file_prefix>> |<<string,string>>|No
86
+ | <<plugins-{type}s-{plugin}-max_file_size_kbytes>> |<<number,number>>|No
87
+ | <<plugins-{type}s-{plugin}-output_format>> |<<string,string>>, one of `["json", "plain"]`|No
88
+ | <<plugins-{type}s-{plugin}-service_account>> |<<string,string>>|Yes
89
+ | <<plugins-{type}s-{plugin}-temp_directory>> |<<string,string>>|No
90
+ | <<plugins-{type}s-{plugin}-uploader_interval_secs>> |<<number,number>>|No
91
+ |=======================================================================
92
+
93
+ Also see <<plugins-{type}s-{plugin}-common-options>> for a list of options supported by all
94
+ output plugins.
95
+
96
+ &nbsp;
97
+
98
+ [id="plugins-{type}s-{plugin}-bucket"]
99
+ ===== `bucket`
100
+
101
+ * This is a required setting.
102
+ * Value type is <<string,string>>
103
+ * There is no default value for this setting.
104
+
105
+ GCS bucket name, without "gs://" or any other prefix.
106
+
107
+ [id="plugins-{type}s-{plugin}-date_pattern"]
108
+ ===== `date_pattern`
109
+
110
+ * Value type is <<string,string>>
111
+ * Default value is `"%Y-%m-%dT%H:00"`
112
+
113
+ Time pattern for log file, defaults to hourly files.
114
+ Must Time.strftime patterns: www.ruby-doc.org/core-2.0/Time.html#method-i-strftime
115
+
116
+ [id="plugins-{type}s-{plugin}-flush_interval_secs"]
117
+ ===== `flush_interval_secs`
118
+
119
+ * Value type is <<number,number>>
120
+ * Default value is `2`
121
+
122
+ Flush interval in seconds for flushing writes to log files. 0 will flush
123
+ on every message.
124
+
125
+ [id="plugins-{type}s-{plugin}-gzip"]
126
+ ===== `gzip`
127
+
128
+ * Value type is <<boolean,boolean>>
129
+ * Default value is `false`
130
+
131
+ Gzip output stream when writing events to log files.
132
+
133
+ [id="plugins-{type}s-{plugin}-key_password"]
134
+ ===== `key_password`
135
+
136
+ * Value type is <<string,string>>
137
+ * Default value is `"notasecret"`
138
+
139
+ GCS private key password.
140
+
141
+ [id="plugins-{type}s-{plugin}-key_path"]
142
+ ===== `key_path`
143
+
144
+ * This is a required setting.
145
+ * Value type is <<string,string>>
146
+ * There is no default value for this setting.
147
+
148
+ GCS path to private key file.
149
+
150
+ [id="plugins-{type}s-{plugin}-log_file_prefix"]
151
+ ===== `log_file_prefix`
152
+
153
+ * Value type is <<string,string>>
154
+ * Default value is `"logstash_gcs"`
155
+
156
+ Log file prefix. Log file will follow the format:
157
+ <prefix>_hostname_date<.part?>.log
158
+
159
+ [id="plugins-{type}s-{plugin}-max_file_size_kbytes"]
160
+ ===== `max_file_size_kbytes`
161
+
162
+ * Value type is <<number,number>>
163
+ * Default value is `10000`
164
+
165
+ Sets max file size in kbytes. 0 disable max file check.
166
+
167
+ [id="plugins-{type}s-{plugin}-output_format"]
168
+ ===== `output_format`
169
+
170
+ * Value can be any of: `json`, `plain`
171
+ * Default value is `"plain"`
172
+
173
+ The event format you want to store in files. Defaults to plain text.
174
+
175
+ [id="plugins-{type}s-{plugin}-service_account"]
176
+ ===== `service_account`
177
+
178
+ * This is a required setting.
179
+ * Value type is <<string,string>>
180
+ * There is no default value for this setting.
181
+
182
+ GCS service account.
183
+
184
+ [id="plugins-{type}s-{plugin}-temp_directory"]
185
+ ===== `temp_directory`
186
+
187
+ * Value type is <<string,string>>
188
+ * Default value is `""`
189
+
190
+ Directory where temporary files are stored.
191
+ Defaults to /tmp/logstash-gcs-<random-suffix>
192
+
193
+ [id="plugins-{type}s-{plugin}-uploader_interval_secs"]
194
+ ===== `uploader_interval_secs`
195
+
196
+ * Value type is <<number,number>>
197
+ * Default value is `60`
198
+
199
+ Uploader interval when uploading new files to GCS. Adjust time based
200
+ on your time pattern (for example, for hourly files, this interval can be
201
+ around one hour).
202
+
203
+
204
+
205
+ [id="plugins-{type}s-{plugin}-common-options"]
206
+ include::{include_path}/{type}.asciidoc[]
@@ -1,3 +1,5 @@
1
+ # [source,txt]
2
+ # -----
1
3
  # encoding: utf-8
2
4
  # Author: Rodrigo De Castro <rdc@google.com>
3
5
  # Date: 2013-09-20
@@ -15,6 +17,7 @@
15
17
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
18
  # See the License for the specific language governing permissions and
17
19
  # limitations under the License.
20
+ # -----
18
21
  require "logstash/outputs/base"
19
22
  require "logstash/namespace"
20
23
  require "logstash/json"
@@ -40,6 +43,8 @@ require "zlib"
40
43
  # USAGE:
41
44
  # This is an example of logstash config:
42
45
  #
46
+ # [source,json]
47
+ # --------------------------
43
48
  # output {
44
49
  # google_cloud_storage {
45
50
  # bucket => "my_bucket" (required)
@@ -56,14 +61,15 @@ require "zlib"
56
61
  # uploader_interval_secs => 60 (optional)
57
62
  # }
58
63
  # }
64
+ # --------------------------
59
65
  #
60
66
  # Improvements TODO list:
61
- # - Support logstash event variables to determine filename.
62
- # - Turn Google API code into a Plugin Mixin (like AwsConfig).
63
- # - There's no recover method, so if logstash/plugin crashes, files may not
67
+ # * Support logstash event variables to determine filename.
68
+ # * Turn Google API code into a Plugin Mixin (like AwsConfig).
69
+ # * There's no recover method, so if logstash/plugin crashes, files may not
64
70
  # be uploaded to GCS.
65
- # - Allow user to configure file name.
66
- # - Allow parallel uploads for heavier loads (+ connection configuration if
71
+ # * Allow user to configure file name.
72
+ # * Allow parallel uploads for heavier loads (+ connection configuration if
67
73
  # exposed by Ruby API client)
68
74
  class LogStash::Outputs::GoogleCloudStorage < LogStash::Outputs::Base
69
75
  config_name "google_cloud_storage"
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-google_cloud_storage'
3
- s.version = '3.0.1'
3
+ s.version = '3.0.3'
4
4
  s.licenses = ['Apache License (2.0)']
5
5
  s.summary = "plugin to upload log events to Google Cloud Storage (GCS)"
6
6
  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"
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.require_paths = ["lib"]
11
11
 
12
12
  # Files
13
- s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','CONTRIBUTORS','Gemfile','LICENSE','NOTICE.TXT']
13
+ s.files = Dir["lib/**/*","spec/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT", "vendor/jar-dependencies/**/*.jar", "vendor/jar-dependencies/**/*.rb", "VERSION", "docs/**/*"]
14
14
 
15
15
  # Tests
16
16
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-google_cloud_storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-20 00:00:00.000000000 Z
11
+ date: 2017-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -100,7 +100,9 @@ dependencies:
100
100
  - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
- 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
103
+ description: This gem is a Logstash plugin required to be installed on top of the
104
+ Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This
105
+ gem is not a stand-alone program
104
106
  email: info@elastic.co
105
107
  executables: []
106
108
  extensions: []
@@ -112,6 +114,7 @@ files:
112
114
  - LICENSE
113
115
  - NOTICE.TXT
114
116
  - README.md
117
+ - docs/index.asciidoc
115
118
  - lib/logstash/outputs/google_cloud_storage.rb
116
119
  - logstash-output-google_cloud_storage.gemspec
117
120
  - spec/outputs/google_cloud_storage_spec.rb
@@ -138,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
141
  version: '0'
139
142
  requirements: []
140
143
  rubyforge_project:
141
- rubygems_version: 2.4.8
144
+ rubygems_version: 2.6.11
142
145
  signing_key:
143
146
  specification_version: 4
144
147
  summary: plugin to upload log events to Google Cloud Storage (GCS)