fluent-plugin-google-cloud 0.6.4 → 0.6.5.pre.1

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.
@@ -23,6 +23,7 @@ module Constants
23
23
  # Attributes used for the GCE metadata service.
24
24
  PROJECT_ID = 'test-project-id'
25
25
  ZONE = 'us-central1-b'
26
+ ZONE2 = 'us-central1-c'
26
27
  FULLY_QUALIFIED_ZONE = 'projects/' + PROJECT_ID + '/zones/' + ZONE
27
28
  VM_ID = '9876543210'
28
29
 
@@ -51,6 +52,19 @@ module Constants
51
52
  MANAGED_VM_BACKEND_NAME = 'default'
52
53
  MANAGED_VM_BACKEND_VERSION = 'guestbook2.0'
53
54
 
55
+ # Docker Container labels.
56
+ DOCKER_CONTAINER_ID = '0d0f03ff8d3c42688692536d1af77a28cd135c0a5c531f25a31'
57
+ DOCKER_CONTAINER_ID2 = '42688692536d1af77a28cd135c0a5c531f25a0317d37da427e3'
58
+ DOCKER_CONTAINER_NAME = 'happy_hippo'
59
+ DOCKER_CONTAINER_NAME2 = 'sad_panda'
60
+ DOCKER_CONTAINER_STREAM_STDOUT = 'stdout'
61
+ DOCKER_CONTAINER_STREAM_STDERR = 'stderr'
62
+ # Timestamp for 1234567890 seconds and 987654321 nanoseconds since epoch.
63
+ DOCKER_CONTAINER_TIMESTAMP = '2009-02-13T23:31:30.987654321Z'
64
+ DOCKER_CONTAINER_SECONDS_EPOCH = 1_234_567_890
65
+ DOCKER_CONTAINER_NANOS = 987_654_321
66
+ DOCKER_CONTAINER_APPLICATION_LOG_TAG = 'nginx-access-log'
67
+
54
68
  # Container Engine / Kubernetes specific labels.
55
69
  CONTAINER_CLUSTER_NAME = 'cluster-1'
56
70
  CONTAINER_NAMESPACE_ID = '898268c8-4a36-11e5-9d81-42010af0194c'
@@ -145,6 +159,14 @@ module Constants
145
159
  monitoring_type prometheus
146
160
  )
147
161
 
162
+ ENABLE_METADATA_AGENT_CONFIG = %(
163
+ enable_metadata_agent true
164
+ )
165
+
166
+ DISABLE_METADATA_AGENT_CONFIG = %(
167
+ enable_metadata_agent false
168
+ )
169
+
148
170
  CUSTOM_METADATA_CONFIG = %(
149
171
  project_id #{CUSTOM_PROJECT_ID}
150
172
  zone #{CUSTOM_ZONE}
@@ -196,7 +218,17 @@ module Constants
196
218
  label_map { "name": "#{ML_CONSTANTS[:service]}/job_id/log_area" }
197
219
  )
198
220
 
221
+ CONFIG_KEEP_TRACE_KEY_TRUE = %(
222
+ keep_trace_key true
223
+ )
224
+
225
+ CONFIG_CUSTOM_TRACE_KEY_SPECIFIED = %(
226
+ trace_key custom_trace_key
227
+ )
228
+
199
229
  # Service configurations for various services.
230
+
231
+ # GCE.
200
232
  COMPUTE_PARAMS = {
201
233
  resource: {
202
234
  type: COMPUTE_CONSTANTS[:resource_type],
@@ -212,6 +244,7 @@ module Constants
212
244
  }
213
245
  }
214
246
 
247
+ # GAE.
215
248
  VMENGINE_PARAMS = {
216
249
  resource: {
217
250
  type: APPENGINE_CONSTANTS[:resource_type],
@@ -229,6 +262,7 @@ module Constants
229
262
  }
230
263
  }
231
264
 
265
+ # GKE Container.
232
266
  CONTAINER_TAG = "kubernetes.#{CONTAINER_POD_NAME}_" \
233
267
  "#{CONTAINER_NAMESPACE_NAME}_#{CONTAINER_CONTAINER_NAME}"
234
268
 
@@ -281,6 +315,79 @@ module Constants
281
315
  }
282
316
  }
283
317
 
318
+ CONTAINER_FROM_APPLICATION_PARAMS = {
319
+ resource: {
320
+ type: CONTAINER_CONSTANTS[:resource_type],
321
+ labels: {
322
+ 'cluster_name' => CONTAINER_CLUSTER_NAME,
323
+ 'namespace_id' => CONTAINER_NAMESPACE_ID,
324
+ 'instance_id' => VM_ID,
325
+ 'pod_id' => CONTAINER_POD_ID,
326
+ 'container_name' => CONTAINER_CONTAINER_NAME,
327
+ 'zone' => ZONE
328
+ }
329
+ },
330
+ log_name: 'test',
331
+ project_id: PROJECT_ID,
332
+ labels: {
333
+ "#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME
334
+ }
335
+ }
336
+
337
+ # Docker Container.
338
+ DOCKER_CONTAINER_TAG = "container.#{DOCKER_CONTAINER_ID}." \
339
+ "#{DOCKER_CONTAINER_NAME}"
340
+ DOCKER_CONTAINER_TAG_WITH_APPLICATION =
341
+ "application-container.#{DOCKER_CONTAINER_NAME}." \
342
+ "#{DOCKER_CONTAINER_APPLICATION_LOG_TAG}"
343
+
344
+ DOCKER_CONTAINER_PARAMS = {
345
+ resource: {
346
+ type: DOCKER_CONSTANTS[:resource_type],
347
+ labels: {
348
+ 'container_id' => DOCKER_CONTAINER_ID,
349
+ 'location' => ZONE
350
+ }
351
+ },
352
+ log_name: "container.#{DOCKER_CONTAINER_ID}.#{DOCKER_CONTAINER_NAME}",
353
+ project_id: PROJECT_ID,
354
+ labels: {
355
+ "#{COMPUTE_CONSTANTS[:service]}/resource_id" => VM_ID,
356
+ "#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME,
357
+ "#{DOCKER_CONSTANTS[:service]}/container_name" => DOCKER_CONTAINER_NAME
358
+ }
359
+ }
360
+ DOCKER_CONTAINER_PARAMS_WITH_STREAM_STDOUT = DOCKER_CONTAINER_PARAMS.merge(
361
+ labels: DOCKER_CONTAINER_PARAMS[:labels].merge(
362
+ "#{DOCKER_CONSTANTS[:service]}/stream" => DOCKER_CONTAINER_STREAM_STDOUT
363
+ )
364
+ )
365
+ DOCKER_CONTAINER_PARAMS_WITH_METADATA_OVERWRITTEN = \
366
+ DOCKER_CONTAINER_PARAMS.merge(
367
+ resource: DOCKER_CONTAINER_PARAMS[:resource].merge(
368
+ labels: DOCKER_CONTAINER_PARAMS[:resource][:labels].merge(
369
+ 'container_id' => DOCKER_CONTAINER_ID2
370
+ )
371
+ ),
372
+ labels: DOCKER_CONTAINER_PARAMS[:labels].merge(
373
+ "#{DOCKER_CONSTANTS[:service]}/container_name" =>
374
+ DOCKER_CONTAINER_NAME2,
375
+ "#{DOCKER_CONSTANTS[:service]}/stream" =>
376
+ DOCKER_CONTAINER_STREAM_STDERR
377
+ )
378
+ )
379
+ DOCKER_CONTAINER_PARAMS_WITH_ZONE2 = DOCKER_CONTAINER_PARAMS.merge(
380
+ resource: DOCKER_CONTAINER_PARAMS[:resource].merge(
381
+ labels: DOCKER_CONTAINER_PARAMS[:resource][:labels].merge(
382
+ 'location' => ZONE2
383
+ )
384
+ )
385
+ )
386
+ DOCKER_CONTAINER_WITH_APPLICATION_PARAMS = DOCKER_CONTAINER_PARAMS.merge(
387
+ log_name: DOCKER_CONTAINER_TAG_WITH_APPLICATION
388
+ )
389
+
390
+ # Cloud Functions.
284
391
  CLOUDFUNCTIONS_TAG = "kubernetes.#{CLOUDFUNCTIONS_POD_NAME}_" \
285
392
  "#{CLOUDFUNCTIONS_NAMESPACE_NAME}_" \
286
393
  "#{CLOUDFUNCTIONS_CONTAINER_NAME}"
@@ -326,6 +433,7 @@ module Constants
326
433
  }
327
434
  }
328
435
 
436
+ # Cloud Dataflow.
329
437
  DATAFLOW_PARAMS = {
330
438
  resource: {
331
439
  type: DATAFLOW_CONSTANTS[:resource_type],
@@ -345,6 +453,7 @@ module Constants
345
453
  }
346
454
  }
347
455
 
456
+ # Cloud Dataproc.
348
457
  DATAPROC_PARAMS = {
349
458
  resource: {
350
459
  type: DATAPROC_CONSTANTS[:resource_type],
@@ -363,6 +472,7 @@ module Constants
363
472
  }
364
473
  }
365
474
 
475
+ # Cloud ML.
366
476
  ML_PARAMS = {
367
477
  resource: {
368
478
  type: ML_CONSTANTS[:resource_type],
@@ -449,4 +559,57 @@ module Constants
449
559
  '' => '_'
450
560
  }
451
561
  ALL_TAGS = VALID_TAGS.merge(INVALID_TAGS)
562
+
563
+ # Stub value for Monitored resources from Metadata Agent.
564
+ MONITORED_RESOURCE_STUBS = {
565
+ # Implicit GCE instance.
566
+ IMPLICIT_MONITORED_RESOURCE_UNIQUE_KEY => {
567
+ 'unique_id' => IMPLICIT_MONITORED_RESOURCE_UNIQUE_KEY,
568
+ 'monitored_resource' => '{' \
569
+ "\"type\": \"#{COMPUTE_CONSTANTS[:resource_type]}\"," \
570
+ '"labels": {' \
571
+ "\"zone\": \"#{ZONE}\"," \
572
+ "\"instance_id\": \"#{VM_ID}\"" \
573
+ '}' \
574
+ '}'
575
+ },
576
+ # Docker container stderr / stdout logs.
577
+ DOCKER_CONSTANTS[:resource_type] => {
578
+ 'unique_id' => "container.#{DOCKER_CONTAINER_ID}",
579
+ 'monitored_resource' => '{' \
580
+ "\"type\": \"#{DOCKER_CONSTANTS[:resource_type]}\"," \
581
+ '"labels": {' \
582
+ "\"location\": \"#{ZONE2}\"," \
583
+ "\"container_id\": \"#{DOCKER_CONTAINER_ID}\"" \
584
+ '}' \
585
+ '}'
586
+ },
587
+ # Docker container application logs.
588
+ "#{DOCKER_CONSTANTS[:resource_type]}_application" => {
589
+ 'unique_id' => "containerName.#{DOCKER_CONTAINER_NAME}",
590
+ 'monitored_resource' => '{' \
591
+ "\"type\": \"#{DOCKER_CONSTANTS[:resource_type]}\"," \
592
+ '"labels": {' \
593
+ "\"location\": \"#{ZONE}\"," \
594
+ "\"container_id\": \"#{DOCKER_CONTAINER_ID}\"" \
595
+ '}' \
596
+ '}'
597
+ },
598
+ # GKE container application logs.
599
+ "#{CONTAINER_CONSTANTS[:resource_type]}_application" => {
600
+ 'unique_id' => "gke_containerName.#{CONTAINER_NAMESPACE_ID}" \
601
+ ".#{CONTAINER_POD_NAME}.#{CONTAINER_CONTAINER_NAME}",
602
+ 'monitored_resource' => '{' \
603
+ "\"type\": \"#{CONTAINER_CONSTANTS[:resource_type]}\"," \
604
+ '"labels": {' \
605
+ "\"cluster_name\": \"#{CONTAINER_CLUSTER_NAME}\"," \
606
+ "\"container_name\": \"#{CONTAINER_CONTAINER_NAME}\"," \
607
+ "\"instance_id\": \"#{VM_ID}\"," \
608
+ "\"namespace_id\": \"#{CONTAINER_NAMESPACE_ID}\"," \
609
+ "\"pod_id\": \"#{CONTAINER_POD_ID}\"," \
610
+ "\"zone\": \"#{ZONE}\"" \
611
+ '}' \
612
+ '}'
613
+ }
614
+ }
452
615
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-google-cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.4
4
+ version: 0.6.5.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Derr
@@ -9,8 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-07-11 00:00:00.000000000 Z
12
+ date: 2017-08-11 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: excon
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 0.57.1
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 0.57.1
14
28
  - !ruby/object:Gem::Dependency
15
29
  name: fluentd
16
30
  requirement: !ruby/object:Gem::Requirement
@@ -57,16 +71,16 @@ dependencies:
57
71
  name: google-cloud-logging
58
72
  requirement: !ruby/object:Gem::Requirement
59
73
  requirements:
60
- - - "~>"
74
+ - - '='
61
75
  - !ruby/object:Gem::Version
62
- version: 0.23.2
76
+ version: 0.24.1
63
77
  type: :runtime
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
- - - "~>"
81
+ - - '='
68
82
  - !ruby/object:Gem::Version
69
- version: 0.23.2
83
+ version: 0.24.1
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: googleauth
72
86
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +88,9 @@ dependencies:
74
88
  - - "~>"
75
89
  - !ruby/object:Gem::Version
76
90
  version: '0.4'
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: 0.5.2
77
94
  type: :runtime
78
95
  prerelease: false
79
96
  version_requirements: !ruby/object:Gem::Requirement
@@ -81,6 +98,9 @@ dependencies:
81
98
  - - "~>"
82
99
  - !ruby/object:Gem::Version
83
100
  version: '0.4'
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.5.2
84
104
  - !ruby/object:Gem::Dependency
85
105
  name: grpc
86
106
  requirement: !ruby/object:Gem::Requirement
@@ -163,14 +183,14 @@ dependencies:
163
183
  requirements:
164
184
  - - "~>"
165
185
  - !ruby/object:Gem::Version
166
- version: '1.17'
186
+ version: 2.3.1
167
187
  type: :development
168
188
  prerelease: false
169
189
  version_requirements: !ruby/object:Gem::Requirement
170
190
  requirements:
171
191
  - - "~>"
172
192
  - !ruby/object:Gem::Version
173
- version: '1.17'
193
+ version: 2.3.1
174
194
  - !ruby/object:Gem::Dependency
175
195
  name: test-unit
176
196
  requirement: !ruby/object:Gem::Requirement
@@ -243,12 +263,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
243
263
  version: '2.0'
244
264
  required_rubygems_version: !ruby/object:Gem::Requirement
245
265
  requirements:
246
- - - ">="
266
+ - - ">"
247
267
  - !ruby/object:Gem::Version
248
- version: '0'
268
+ version: 1.3.1
249
269
  requirements: []
250
270
  rubyforge_project:
251
- rubygems_version: 2.6.12
271
+ rubygems_version: 2.4.8
252
272
  signing_key:
253
273
  specification_version: 4
254
274
  summary: fluentd output plugin for the Stackdriver Logging API