fluent-plugin-google-cloud 0.6.5.pre.1 → 0.6.5
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/Gemfile.lock +8 -10
- data/fluent-plugin-google-cloud.gemspec +1 -2
- data/lib/fluent/plugin/out_google_cloud.rb +405 -614
- data/test/plugin/base_test.rb +134 -348
- data/test/plugin/constants.rb +24 -159
- metadata +4 -18
data/test/plugin/constants.rb
CHANGED
@@ -23,7 +23,6 @@ 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'
|
27
26
|
FULLY_QUALIFIED_ZONE = 'projects/' + PROJECT_ID + '/zones/' + ZONE
|
28
27
|
VM_ID = '9876543210'
|
29
28
|
|
@@ -52,19 +51,6 @@ module Constants
|
|
52
51
|
MANAGED_VM_BACKEND_NAME = 'default'
|
53
52
|
MANAGED_VM_BACKEND_VERSION = 'guestbook2.0'
|
54
53
|
|
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
|
-
|
68
54
|
# Container Engine / Kubernetes specific labels.
|
69
55
|
CONTAINER_CLUSTER_NAME = 'cluster-1'
|
70
56
|
CONTAINER_NAMESPACE_ID = '898268c8-4a36-11e5-9d81-42010af0194c'
|
@@ -159,14 +145,6 @@ module Constants
|
|
159
145
|
monitoring_type prometheus
|
160
146
|
)
|
161
147
|
|
162
|
-
ENABLE_METADATA_AGENT_CONFIG = %(
|
163
|
-
enable_metadata_agent true
|
164
|
-
)
|
165
|
-
|
166
|
-
DISABLE_METADATA_AGENT_CONFIG = %(
|
167
|
-
enable_metadata_agent false
|
168
|
-
)
|
169
|
-
|
170
148
|
CUSTOM_METADATA_CONFIG = %(
|
171
149
|
project_id #{CUSTOM_PROJECT_ID}
|
172
150
|
zone #{CUSTOM_ZONE}
|
@@ -218,17 +196,11 @@ module Constants
|
|
218
196
|
label_map { "name": "#{ML_CONSTANTS[:service]}/job_id/log_area" }
|
219
197
|
)
|
220
198
|
|
221
|
-
CONFIG_KEEP_TRACE_KEY_TRUE = %(
|
222
|
-
keep_trace_key true
|
223
|
-
)
|
224
|
-
|
225
199
|
CONFIG_CUSTOM_TRACE_KEY_SPECIFIED = %(
|
226
200
|
trace_key custom_trace_key
|
227
201
|
)
|
228
202
|
|
229
203
|
# Service configurations for various services.
|
230
|
-
|
231
|
-
# GCE.
|
232
204
|
COMPUTE_PARAMS = {
|
233
205
|
resource: {
|
234
206
|
type: COMPUTE_CONSTANTS[:resource_type],
|
@@ -244,7 +216,6 @@ module Constants
|
|
244
216
|
}
|
245
217
|
}
|
246
218
|
|
247
|
-
# GAE.
|
248
219
|
VMENGINE_PARAMS = {
|
249
220
|
resource: {
|
250
221
|
type: APPENGINE_CONSTANTS[:resource_type],
|
@@ -262,7 +233,6 @@ module Constants
|
|
262
233
|
}
|
263
234
|
}
|
264
235
|
|
265
|
-
# GKE Container.
|
266
236
|
CONTAINER_TAG = "kubernetes.#{CONTAINER_POD_NAME}_" \
|
267
237
|
"#{CONTAINER_NAMESPACE_NAME}_#{CONTAINER_CONTAINER_NAME}"
|
268
238
|
|
@@ -315,79 +285,6 @@ module Constants
|
|
315
285
|
}
|
316
286
|
}
|
317
287
|
|
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.
|
391
288
|
CLOUDFUNCTIONS_TAG = "kubernetes.#{CLOUDFUNCTIONS_POD_NAME}_" \
|
392
289
|
"#{CLOUDFUNCTIONS_NAMESPACE_NAME}_" \
|
393
290
|
"#{CLOUDFUNCTIONS_CONTAINER_NAME}"
|
@@ -433,7 +330,6 @@ module Constants
|
|
433
330
|
}
|
434
331
|
}
|
435
332
|
|
436
|
-
# Cloud Dataflow.
|
437
333
|
DATAFLOW_PARAMS = {
|
438
334
|
resource: {
|
439
335
|
type: DATAFLOW_CONSTANTS[:resource_type],
|
@@ -453,7 +349,6 @@ module Constants
|
|
453
349
|
}
|
454
350
|
}
|
455
351
|
|
456
|
-
# Cloud Dataproc.
|
457
352
|
DATAPROC_PARAMS = {
|
458
353
|
resource: {
|
459
354
|
type: DATAPROC_CONSTANTS[:resource_type],
|
@@ -472,7 +367,6 @@ module Constants
|
|
472
367
|
}
|
473
368
|
}
|
474
369
|
|
475
|
-
# Cloud ML.
|
476
370
|
ML_PARAMS = {
|
477
371
|
resource: {
|
478
372
|
type: ML_CONSTANTS[:resource_type],
|
@@ -536,6 +430,30 @@ module Constants
|
|
536
430
|
'cacheValidatedWithOriginServer' => true
|
537
431
|
}
|
538
432
|
|
433
|
+
SOURCE_LOCATION_MESSAGE = {
|
434
|
+
'file' => 'source/file',
|
435
|
+
'function' => 'my_function',
|
436
|
+
'line' => 18
|
437
|
+
}
|
438
|
+
|
439
|
+
OPERATION_MESSAGE = {
|
440
|
+
'id' => 'op_id',
|
441
|
+
'producer' => 'my/app',
|
442
|
+
'last' => true
|
443
|
+
}
|
444
|
+
|
445
|
+
LOG_ENTRY_SUBFIELDS_PARAMS = {
|
446
|
+
# payload key, destination key, payload value
|
447
|
+
DEFAULT_HTTP_REQUEST_KEY => ['httpRequest', HTTP_REQUEST_MESSAGE],
|
448
|
+
DEFAULT_SOURCE_LOCATION_KEY => ['sourceLocation', SOURCE_LOCATION_MESSAGE],
|
449
|
+
DEFAULT_OPERATION_KEY => ['operation', OPERATION_MESSAGE]
|
450
|
+
}
|
451
|
+
|
452
|
+
CUSTOM_LABELS_MESSAGE = {
|
453
|
+
'customKey' => 'value'
|
454
|
+
}
|
455
|
+
CONFLICTING_LABEL_KEY = "#{COMPUTE_CONSTANTS[:service]}/resource_name"
|
456
|
+
|
539
457
|
# Tags and their sanitized and encoded version.
|
540
458
|
VALID_TAGS = {
|
541
459
|
'test' => 'test',
|
@@ -559,57 +477,4 @@ module Constants
|
|
559
477
|
'' => '_'
|
560
478
|
}
|
561
479
|
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
|
-
}
|
615
480
|
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.5
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Derr
|
@@ -9,22 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-08-
|
12
|
+
date: 2017-08-24 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
|
28
14
|
- !ruby/object:Gem::Dependency
|
29
15
|
name: fluentd
|
30
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -263,9 +249,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
263
249
|
version: '2.0'
|
264
250
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
251
|
requirements:
|
266
|
-
- - "
|
252
|
+
- - ">="
|
267
253
|
- !ruby/object:Gem::Version
|
268
|
-
version:
|
254
|
+
version: '0'
|
269
255
|
requirements: []
|
270
256
|
rubyforge_project:
|
271
257
|
rubygems_version: 2.4.8
|