fluent-plugin-google-cloud 0.6.4.pre.2 → 0.6.4.pre.3
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/fluent-plugin-google-cloud.gemspec +2 -2
- data/lib/fluent/plugin/out_google_cloud.rb +42 -37
- metadata +4 -5
- data/Gemfile.lock +0 -157
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dacc67fcefff073a113c1c73ef7644ae802916e9
|
4
|
+
data.tar.gz: b2caa333b793ae00c8541e8b0c475fd0e71824a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee282c69851a0bf8dee3e2110f7a6635016c573af24f1b0757cf8d0a541b2396560976e8a064950087fc601a90441983dabb6312465d7873f90509236047717c
|
7
|
+
data.tar.gz: 5142fb67ba45c13759dfdd79d15f7e1cbfdf1a354da1423c2442bffc21003a1177410cbd8cb6c85495b9a501a3a74ea70a8dd1c87397199d38c1b7d74810640a
|
@@ -10,7 +10,7 @@ eos
|
|
10
10
|
gem.homepage = \
|
11
11
|
'https://github.com/GoogleCloudPlatform/fluent-plugin-google-cloud'
|
12
12
|
gem.license = 'Apache-2.0'
|
13
|
-
gem.version = '0.6.4.pre.
|
13
|
+
gem.version = '0.6.4.pre.3'
|
14
14
|
gem.authors = ['Todd Derr', 'Alex Robinson']
|
15
15
|
gem.email = ['salty@google.com']
|
16
16
|
gem.required_ruby_version = Gem::Requirement.new('>= 2.0')
|
@@ -19,7 +19,7 @@ eos
|
|
19
19
|
gem.test_files = gem.files.grep(/^(test)/)
|
20
20
|
gem.require_paths = ['lib']
|
21
21
|
|
22
|
-
gem.add_runtime_dependency 'excon', '~> 0.
|
22
|
+
gem.add_runtime_dependency 'excon', '~> 0.57.1'
|
23
23
|
gem.add_runtime_dependency 'fluentd', '~> 0.10'
|
24
24
|
gem.add_runtime_dependency 'googleapis-common-protos', '~> 1.3'
|
25
25
|
gem.add_runtime_dependency 'google-api-client', '~> 0.9.0'
|
@@ -85,6 +85,11 @@ module Fluent
|
|
85
85
|
# resource can be implicitly inferred by Metadata Agent.
|
86
86
|
IMPLICIT_MONITORED_RESOURCE_UNIQUE_KEY = ''
|
87
87
|
|
88
|
+
# The label name of locally unique id in the json payload. When a record
|
89
|
+
# has this field in the payload, we will use the value to retrieve
|
90
|
+
# monitored resource from Stackdriver Metadata agent.
|
91
|
+
LOCALLY_UNIQUE_ID_LABEL_NAME = 'logging.googleapis.com/locally_unique_id'
|
92
|
+
|
88
93
|
# Docker container support.
|
89
94
|
DEFAULT_DOCKER_API_SOCKET_PATH = '/var/run/docker.sock'
|
90
95
|
end
|
@@ -94,7 +99,7 @@ module Fluent
|
|
94
99
|
Fluent::Plugin.register_output('google_cloud', self)
|
95
100
|
|
96
101
|
PLUGIN_NAME = 'Fluentd Google Cloud Logging plugin'
|
97
|
-
PLUGIN_VERSION = '0.6.4.pre.
|
102
|
+
PLUGIN_VERSION = '0.6.4.pre.3'
|
98
103
|
|
99
104
|
# Name of the the Google cloud logging write scope.
|
100
105
|
LOGGING_SCOPE = 'https://www.googleapis.com/auth/logging.write'
|
@@ -362,6 +367,10 @@ module Fluent
|
|
362
367
|
grouped_entries = {}
|
363
368
|
chunk.msgpack_each do |tag, *arr|
|
364
369
|
sanitized_tag = sanitize_tag(tag)
|
370
|
+
@log.error("tag is: ")
|
371
|
+
@log.error(tag.inspect)
|
372
|
+
@log.error("arr is: ")
|
373
|
+
@log.error(arr.inspect)
|
365
374
|
if sanitized_tag.nil?
|
366
375
|
@log.warn "Dropping log entries with invalid tag: '#{tag}'. " \
|
367
376
|
'A tag should be a string with utf8 characters.'
|
@@ -880,12 +889,9 @@ module Fluent
|
|
880
889
|
labels["#{COMPUTE_CONSTANTS[:service]}/resource_name"] = @vm_name
|
881
890
|
labels["#{COMPUTE_CONSTANTS[:service]}/zone"] = @zone
|
882
891
|
|
883
|
-
# GCE.
|
884
|
-
when COMPUTE_CONSTANTS[:resource_type]
|
885
|
-
|
886
|
-
|
887
|
-
# GKE container.
|
888
|
-
when CONTAINER_CONSTANTS[:resource_type]
|
892
|
+
# GCE and GKE container.
|
893
|
+
when COMPUTE_CONSTANTS[:resource_type],
|
894
|
+
CONTAINER_CONSTANTS[:resource_type]
|
889
895
|
labels["#{COMPUTE_CONSTANTS[:service]}/resource_name"] = @vm_name
|
890
896
|
|
891
897
|
# Cloud Dataflow and Cloud Dataproc.
|
@@ -1099,36 +1105,35 @@ module Fluent
|
|
1099
1105
|
resource_labels = {}
|
1100
1106
|
common_labels = {}
|
1101
1107
|
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1131
|
-
end
|
1108
|
+
# The format of the locally unique key varies by monitored resource.
|
1109
|
+
#
|
1110
|
+
# Docker container:
|
1111
|
+
# "container.<container_id>"
|
1112
|
+
# "containerName.<container_name>"
|
1113
|
+
# GKE container:
|
1114
|
+
# "gke_containerName.<namespace_id>.<pod_name>.<container_name>"
|
1115
|
+
if @enable_metadata_agent && record.key?(LOCALLY_UNIQUE_ID_LABEL_NAME)
|
1116
|
+
# Call Metadata Agent with "gke_containerName.<namespace_id>.
|
1117
|
+
# <pod_name>.<container_name>" as the locally-unique key to retrieve
|
1118
|
+
# monitored resource.
|
1119
|
+
locally_unique_id = record[LOCALLY_UNIQUE_ID_LABEL_NAME]
|
1120
|
+
@log.debug 'Calling metadata agent with locally unique id: ' \
|
1121
|
+
"#{locally_unique_id}."
|
1122
|
+
retrieved_resource = call_metadata_agent_for_monitored_resource(
|
1123
|
+
locally_unique_id)
|
1124
|
+
@log.debug 'Retrieved monitored resource from metadata agent: ' \
|
1125
|
+
"#{retrieved_resource.inspect}."
|
1126
|
+
unless retrieved_resource.nil?
|
1127
|
+
resource_type = retrieved_resource.type
|
1128
|
+
# Temporarily renaming 'gke_container' to 'container'.
|
1129
|
+
resource_type = 'container' if resource_type == 'gke_container'
|
1130
|
+
# If we successfully get a monitored resource from Metadata Agent,
|
1131
|
+
# use this one instead of the original VM-level monitored resource.
|
1132
|
+
resource_labels = retrieved_resource.labels.dup
|
1133
|
+
record.delete(LOCALLY_UNIQUE_ID_LABEL_NAME)
|
1134
|
+
@log.debug 'Retrieved gke_container monitored resource from' \
|
1135
|
+
'Stackdriver Metadata agent: ' \
|
1136
|
+
"#{retrieved_resource.inspect}."
|
1132
1137
|
end
|
1133
1138
|
end
|
1134
1139
|
|
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.pre.
|
4
|
+
version: 0.6.4.pre.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Derr
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-07-
|
12
|
+
date: 2017-07-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: excon
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.
|
20
|
+
version: 0.57.1
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.
|
27
|
+
version: 0.57.1
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: fluentd
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,7 +212,6 @@ extra_rdoc_files: []
|
|
212
212
|
files:
|
213
213
|
- CONTRIBUTING
|
214
214
|
- Gemfile
|
215
|
-
- Gemfile.lock
|
216
215
|
- LICENSE
|
217
216
|
- README.rdoc
|
218
217
|
- Rakefile
|
data/Gemfile.lock
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
fluent-plugin-google-cloud (0.6.4.pre.2)
|
5
|
-
excon (~> 0.56.0)
|
6
|
-
fluentd (~> 0.10)
|
7
|
-
google-api-client (~> 0.9.0)
|
8
|
-
google-cloud-logging (~> 0.23.2)
|
9
|
-
googleapis-common-protos (~> 1.3)
|
10
|
-
googleauth (~> 0.4)
|
11
|
-
grpc (~> 1.0, < 1.3)
|
12
|
-
json (~> 1.8)
|
13
|
-
|
14
|
-
GEM
|
15
|
-
remote: https://rubygems.org/
|
16
|
-
specs:
|
17
|
-
addressable (2.5.1)
|
18
|
-
public_suffix (~> 2.0, >= 2.0.2)
|
19
|
-
ast (2.3.0)
|
20
|
-
astrolabe (1.3.1)
|
21
|
-
parser (~> 2.2)
|
22
|
-
cool.io (1.5.0)
|
23
|
-
crack (0.4.3)
|
24
|
-
safe_yaml (~> 1.0.0)
|
25
|
-
excon (0.56.0)
|
26
|
-
faraday (0.12.1)
|
27
|
-
multipart-post (>= 1.2, < 3)
|
28
|
-
fluentd (0.14.19)
|
29
|
-
cool.io (>= 1.4.5, < 2.0.0)
|
30
|
-
http_parser.rb (>= 0.5.1, < 0.7.0)
|
31
|
-
msgpack (>= 0.7.0, < 2.0.0)
|
32
|
-
serverengine (>= 2.0.4, < 3.0.0)
|
33
|
-
sigdump (~> 0.2.2)
|
34
|
-
strptime (~> 0.1.7)
|
35
|
-
tzinfo (~> 1.0)
|
36
|
-
tzinfo-data (~> 1.0)
|
37
|
-
yajl-ruby (~> 1.0)
|
38
|
-
google-api-client (0.9.28)
|
39
|
-
addressable (~> 2.3)
|
40
|
-
googleauth (~> 0.5)
|
41
|
-
httpclient (~> 2.7)
|
42
|
-
hurley (~> 0.1)
|
43
|
-
memoist (~> 0.11)
|
44
|
-
mime-types (>= 1.6)
|
45
|
-
representable (~> 2.3.0)
|
46
|
-
retriable (~> 2.0)
|
47
|
-
google-cloud-core (0.21.1)
|
48
|
-
googleauth (~> 0.5.1)
|
49
|
-
google-cloud-logging (0.23.2)
|
50
|
-
google-cloud-core (~> 0.21.1)
|
51
|
-
google-gax (~> 0.6.0)
|
52
|
-
google-protobuf (~> 3.0)
|
53
|
-
googleapis-common-protos (~> 1.3)
|
54
|
-
grpc (~> 1.0)
|
55
|
-
orderedhash (= 0.0.6)
|
56
|
-
stackdriver-core (~> 0.21.0)
|
57
|
-
google-gax (0.6.0)
|
58
|
-
googleapis-common-protos (~> 1.3.1)
|
59
|
-
googleauth (~> 0.5.1)
|
60
|
-
grpc (~> 1.0)
|
61
|
-
rly (~> 0.2.3)
|
62
|
-
google-protobuf (3.3.0)
|
63
|
-
googleapis-common-protos (1.3.5)
|
64
|
-
google-protobuf (~> 3.2)
|
65
|
-
grpc (~> 1.0)
|
66
|
-
googleauth (0.5.1)
|
67
|
-
faraday (~> 0.9)
|
68
|
-
jwt (~> 1.4)
|
69
|
-
logging (~> 2.0)
|
70
|
-
memoist (~> 0.12)
|
71
|
-
multi_json (~> 1.11)
|
72
|
-
os (~> 0.9)
|
73
|
-
signet (~> 0.7)
|
74
|
-
grpc (1.2.5)
|
75
|
-
google-protobuf (~> 3.1)
|
76
|
-
googleauth (~> 0.5.1)
|
77
|
-
hashdiff (0.3.4)
|
78
|
-
http_parser.rb (0.6.0)
|
79
|
-
httpclient (2.8.3)
|
80
|
-
hurley (0.2)
|
81
|
-
json (1.8.6)
|
82
|
-
jwt (1.5.6)
|
83
|
-
little-plugger (1.1.4)
|
84
|
-
logging (2.2.2)
|
85
|
-
little-plugger (~> 1.1)
|
86
|
-
multi_json (~> 1.10)
|
87
|
-
memoist (0.16.0)
|
88
|
-
metaclass (0.0.4)
|
89
|
-
mime-types (3.1)
|
90
|
-
mime-types-data (~> 3.2015)
|
91
|
-
mime-types-data (3.2016.0521)
|
92
|
-
mocha (1.2.1)
|
93
|
-
metaclass (~> 0.0.1)
|
94
|
-
msgpack (1.1.0)
|
95
|
-
multi_json (1.12.1)
|
96
|
-
multipart-post (2.0.0)
|
97
|
-
orderedhash (0.0.6)
|
98
|
-
os (0.9.6)
|
99
|
-
parser (2.4.0.0)
|
100
|
-
ast (~> 2.2)
|
101
|
-
power_assert (1.0.2)
|
102
|
-
powerpack (0.1.1)
|
103
|
-
public_suffix (2.0.5)
|
104
|
-
rainbow (2.2.2)
|
105
|
-
rake
|
106
|
-
rake (10.5.0)
|
107
|
-
representable (2.3.0)
|
108
|
-
uber (~> 0.0.7)
|
109
|
-
retriable (2.1.0)
|
110
|
-
rly (0.2.3)
|
111
|
-
rubocop (0.35.1)
|
112
|
-
astrolabe (~> 1.3)
|
113
|
-
parser (>= 2.2.3.0, < 3.0)
|
114
|
-
powerpack (~> 0.1)
|
115
|
-
rainbow (>= 1.99.1, < 3.0)
|
116
|
-
ruby-progressbar (~> 1.7)
|
117
|
-
tins (<= 1.6.0)
|
118
|
-
ruby-progressbar (1.8.1)
|
119
|
-
safe_yaml (1.0.4)
|
120
|
-
serverengine (2.0.5)
|
121
|
-
sigdump (~> 0.2.2)
|
122
|
-
sigdump (0.2.4)
|
123
|
-
signet (0.7.3)
|
124
|
-
addressable (~> 2.3)
|
125
|
-
faraday (~> 0.9)
|
126
|
-
jwt (~> 1.5)
|
127
|
-
multi_json (~> 1.10)
|
128
|
-
stackdriver-core (0.21.0)
|
129
|
-
strptime (0.1.9)
|
130
|
-
test-unit (3.2.5)
|
131
|
-
power_assert
|
132
|
-
thread_safe (0.3.6)
|
133
|
-
tins (1.6.0)
|
134
|
-
tzinfo (1.2.3)
|
135
|
-
thread_safe (~> 0.1)
|
136
|
-
tzinfo-data (1.2017.2)
|
137
|
-
tzinfo (>= 1.0.0)
|
138
|
-
uber (0.0.15)
|
139
|
-
webmock (1.24.6)
|
140
|
-
addressable (>= 2.3.6)
|
141
|
-
crack (>= 0.3.2)
|
142
|
-
hashdiff
|
143
|
-
yajl-ruby (1.3.0)
|
144
|
-
|
145
|
-
PLATFORMS
|
146
|
-
ruby
|
147
|
-
|
148
|
-
DEPENDENCIES
|
149
|
-
fluent-plugin-google-cloud!
|
150
|
-
mocha (~> 1.1)
|
151
|
-
rake (~> 10.3)
|
152
|
-
rubocop (~> 0.35.0)
|
153
|
-
test-unit (~> 3.0)
|
154
|
-
webmock (~> 1.17)
|
155
|
-
|
156
|
-
BUNDLED WITH
|
157
|
-
1.15.2
|