fluent-plugin-google-cloud 0.6.7.pre.1 → 0.6.7
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 +1 -1
- data/Rakefile +2 -1
- data/fluent-plugin-google-cloud.gemspec +1 -1
- data/lib/fluent/plugin/out_google_cloud.rb +189 -287
- data/test/plugin/base_test.rb +2 -254
- data/test/plugin/constants.rb +13 -148
- metadata +3 -3
data/test/plugin/base_test.rb
CHANGED
@@ -503,7 +503,7 @@ module BaseTest
|
|
503
503
|
end
|
504
504
|
params = CONTAINER_FROM_METADATA_PARAMS.merge(
|
505
505
|
labels: CONTAINER_FROM_METADATA_PARAMS[:labels].merge(
|
506
|
-
"#{
|
506
|
+
"#{CONTAINER_CONSTANTS[:service]}/container_name" =>
|
507
507
|
URI.decode(encoded_name)),
|
508
508
|
log_name: encoded_name)
|
509
509
|
verify_log_entries(0, params, 'textPayload')
|
@@ -830,7 +830,7 @@ module BaseTest
|
|
830
830
|
d.run
|
831
831
|
end
|
832
832
|
expected_params = CONTAINER_FROM_TAG_PARAMS.merge(
|
833
|
-
labels: { "#{
|
833
|
+
labels: { "#{CONTAINER_CONSTANTS[:service]}/stream" => 'stderr' }
|
834
834
|
) { |_, oldval, newval| oldval.merge(newval) }
|
835
835
|
verify_log_entries(1, expected_params) do |entry, i|
|
836
836
|
verify_default_log_entry_text(entry['textPayload'], i, entry)
|
@@ -1106,197 +1106,6 @@ module BaseTest
|
|
1106
1106
|
end
|
1107
1107
|
end
|
1108
1108
|
|
1109
|
-
# Metadata Agent related tests.
|
1110
|
-
|
1111
|
-
# Test enable_metadata_agent not set or set to false.
|
1112
|
-
def test_configure_enable_metadata_agent_default_and_false
|
1113
|
-
setup_gce_metadata_stubs
|
1114
|
-
[create_driver, create_driver(DISABLE_METADATA_AGENT_CONFIG)].each do |d|
|
1115
|
-
assert_false d.instance.instance_variable_get(:@enable_metadata_agent)
|
1116
|
-
end
|
1117
|
-
end
|
1118
|
-
|
1119
|
-
# Test enable_metadata_agent set to true.
|
1120
|
-
def test_configure_enable_metadata_agent_true
|
1121
|
-
new_stub_context do
|
1122
|
-
setup_gce_metadata_stubs
|
1123
|
-
setup_metadata_agent_stubs
|
1124
|
-
d = create_driver(ENABLE_METADATA_AGENT_CONFIG)
|
1125
|
-
assert_true d.instance.instance_variable_get(:@enable_metadata_agent)
|
1126
|
-
assert_requested_metadata_agent_stub(IMPLICIT_LOCAL_RESOURCE_ID)
|
1127
|
-
end
|
1128
|
-
end
|
1129
|
-
|
1130
|
-
# Test that an implicit monitored resource can be retrieved from Metadata
|
1131
|
-
# Agent with an empty string as the local_resource_id.
|
1132
|
-
def test_retrieve_implicit_monitored_resource
|
1133
|
-
# GCE metadata stubs has VM_ID and ZONE, while the Metadata Agent stub has
|
1134
|
-
# METADATA_VM_ID and METADATA_ZONE.
|
1135
|
-
new_stub_context do
|
1136
|
-
setup_gce_metadata_stubs
|
1137
|
-
setup_metadata_agent_stubs
|
1138
|
-
setup_logging_stubs do
|
1139
|
-
d = create_driver(ENABLE_METADATA_AGENT_CONFIG)
|
1140
|
-
d.emit('message' => log_entry(0))
|
1141
|
-
d.run
|
1142
|
-
end
|
1143
|
-
verify_log_entries(1, COMPUTE_PARAMS_WITH_METADATA_VM_ID_AND_ZONE)
|
1144
|
-
assert_requested_metadata_agent_stub(IMPLICIT_LOCAL_RESOURCE_ID)
|
1145
|
-
end
|
1146
|
-
end
|
1147
|
-
|
1148
|
-
# Docker Container.
|
1149
|
-
|
1150
|
-
# Test textPayload logs from Docker container stdout / stderr.
|
1151
|
-
def test_docker_container_stdout_stderr_logs_text_payload
|
1152
|
-
[1, 2, 3, 5, 11, 50].each do |n|
|
1153
|
-
new_stub_context do
|
1154
|
-
setup_gce_metadata_stubs
|
1155
|
-
setup_metadata_agent_stubs
|
1156
|
-
setup_logging_stubs do
|
1157
|
-
d = create_driver(DOCKER_CONTAINER_CONFIG)
|
1158
|
-
n.times do |i|
|
1159
|
-
d.emit(docker_container_stdout_stderr_log_entry(log_entry(i)))
|
1160
|
-
end
|
1161
|
-
d.run
|
1162
|
-
end
|
1163
|
-
verify_log_entries(n, DOCKER_CONTAINER_PARAMS)
|
1164
|
-
assert_requested_metadata_agent_stub(IMPLICIT_LOCAL_RESOURCE_ID)
|
1165
|
-
assert_requested_metadata_agent_stub("container.#{DOCKER_CONTAINER_ID}")
|
1166
|
-
end
|
1167
|
-
end
|
1168
|
-
end
|
1169
|
-
|
1170
|
-
# Test jsonPayload logs from Docker container stdout / stderr.
|
1171
|
-
def test_docker_container_stdout_stderr_logs_json_payload
|
1172
|
-
[1, 2, 3, 5, 11, 50].each do |n|
|
1173
|
-
new_stub_context do
|
1174
|
-
setup_gce_metadata_stubs
|
1175
|
-
setup_metadata_agent_stubs
|
1176
|
-
setup_logging_stubs do
|
1177
|
-
d = create_driver(DOCKER_CONTAINER_CONFIG)
|
1178
|
-
n.times do
|
1179
|
-
d.emit(docker_container_stdout_stderr_log_entry(
|
1180
|
-
'{"msg": "test log entry ' \
|
1181
|
-
"#{n}" \
|
1182
|
-
'", "tag2": "test", "data": ' \
|
1183
|
-
'5000, "severity": "WARNING"}'))
|
1184
|
-
end
|
1185
|
-
d.run
|
1186
|
-
end
|
1187
|
-
verify_log_entries(n, DOCKER_CONTAINER_PARAMS, 'jsonPayload') do |entry|
|
1188
|
-
fields = get_fields(entry['jsonPayload'])
|
1189
|
-
assert_equal 3, fields.size, entry
|
1190
|
-
assert_equal "test log entry #{n}", get_string(fields['msg']), entry
|
1191
|
-
assert_equal 'test', get_string(fields['tag2']), entry
|
1192
|
-
assert_equal 5000, get_number(fields['data']), entry
|
1193
|
-
end
|
1194
|
-
assert_requested_metadata_agent_stub(IMPLICIT_LOCAL_RESOURCE_ID)
|
1195
|
-
assert_requested_metadata_agent_stub("container.#{DOCKER_CONTAINER_ID}")
|
1196
|
-
end
|
1197
|
-
end
|
1198
|
-
end
|
1199
|
-
|
1200
|
-
# Test logs from applications running in Docker containers. These logs have
|
1201
|
-
# the label "logging.googleapis.com/local_resource_id" set in the format of
|
1202
|
-
# "containerName.<container_name>".
|
1203
|
-
def test_docker_container_application_logs
|
1204
|
-
new_stub_context do
|
1205
|
-
setup_gce_metadata_stubs
|
1206
|
-
setup_metadata_agent_stubs
|
1207
|
-
setup_logging_stubs do
|
1208
|
-
# Metadata Agent is not enabled. Will call Docker Remote API for
|
1209
|
-
# container info.
|
1210
|
-
d = create_driver(ENABLE_METADATA_AGENT_CONFIG)
|
1211
|
-
d.emit(docker_container_application_log_entry(log_entry(0)))
|
1212
|
-
d.run
|
1213
|
-
end
|
1214
|
-
verify_log_entries(1, DOCKER_CONTAINER_PARAMS_WITH_NO_STREAM)
|
1215
|
-
assert_requested_metadata_agent_stub(IMPLICIT_LOCAL_RESOURCE_ID)
|
1216
|
-
assert_requested_metadata_agent_stub(
|
1217
|
-
"containerName.#{DOCKER_CONTAINER_NAME}")
|
1218
|
-
end
|
1219
|
-
end
|
1220
|
-
|
1221
|
-
# Test that the 'time' field from the json record is extracted and set to
|
1222
|
-
# entry.timestamp for Docker container logs.
|
1223
|
-
def test_time_field_extraction_for_docker_container_logs
|
1224
|
-
new_stub_context do
|
1225
|
-
setup_gce_metadata_stubs
|
1226
|
-
setup_metadata_agent_stubs
|
1227
|
-
setup_logging_stubs do
|
1228
|
-
d = create_driver(ENABLE_METADATA_AGENT_CONFIG)
|
1229
|
-
d.emit(docker_container_application_log_entry(log_entry(0)))
|
1230
|
-
d.run
|
1231
|
-
end
|
1232
|
-
verify_log_entries(1, DOCKER_CONTAINER_PARAMS_WITH_NO_STREAM) do |entry|
|
1233
|
-
# Timestamp in 'time' field from log entry should be set properly.
|
1234
|
-
assert_equal DOCKER_CONTAINER_SECONDS_EPOCH,
|
1235
|
-
entry['timestamp']['seconds'], entry
|
1236
|
-
assert_equal DOCKER_CONTAINER_NANOS,
|
1237
|
-
entry['timestamp']['nanos'], entry
|
1238
|
-
end
|
1239
|
-
assert_requested_metadata_agent_stub(IMPLICIT_LOCAL_RESOURCE_ID)
|
1240
|
-
assert_requested_metadata_agent_stub(
|
1241
|
-
"containerName.#{DOCKER_CONTAINER_NAME}")
|
1242
|
-
end
|
1243
|
-
end
|
1244
|
-
|
1245
|
-
# Test that the 'source' field is properly extracted from the record json and
|
1246
|
-
# set as a common label 'stream'. Also entry.severity is set accordingly for
|
1247
|
-
# Docker container logs.
|
1248
|
-
def test_source_and_severity_for_docker_container_logs
|
1249
|
-
{
|
1250
|
-
docker_container_stdout_stderr_log_entry(
|
1251
|
-
log_entry(0), DOCKER_CONTAINER_STREAM_STDOUT) =>
|
1252
|
-
DOCKER_CONTAINER_PARAMS,
|
1253
|
-
docker_container_stdout_stderr_log_entry(
|
1254
|
-
log_entry(0), DOCKER_CONTAINER_STREAM_STDERR) =>
|
1255
|
-
DOCKER_CONTAINER_PARAMS_WITH_STREAM_STDERR,
|
1256
|
-
docker_container_application_log_entry(log_entry(0)) =>
|
1257
|
-
DOCKER_CONTAINER_PARAMS_WITH_NO_STREAM,
|
1258
|
-
docker_container_application_log_entry(log_entry(0)) \
|
1259
|
-
.merge('severity' => 'warning') =>
|
1260
|
-
DOCKER_CONTAINER_PARAMS_WITH_NO_STREAM
|
1261
|
-
}.each do |log_entry, expected_params|
|
1262
|
-
new_stub_context do
|
1263
|
-
setup_gce_metadata_stubs
|
1264
|
-
setup_metadata_agent_stubs
|
1265
|
-
setup_logging_stubs do
|
1266
|
-
d = create_driver(DOCKER_CONTAINER_CONFIG)
|
1267
|
-
d.emit(log_entry)
|
1268
|
-
d.run
|
1269
|
-
end
|
1270
|
-
verify_log_entries(1, expected_params)
|
1271
|
-
end
|
1272
|
-
end
|
1273
|
-
end
|
1274
|
-
|
1275
|
-
# Test GKE container logs. These logs have the label
|
1276
|
-
# "logging.googleapis.com/local_resource_id" set in the format of
|
1277
|
-
# "gke_containerName.<namespace_id>.<pod_name>.<container_name>".
|
1278
|
-
def test_gke_container_logs
|
1279
|
-
[1, 2, 3, 5, 11, 50].each do |n|
|
1280
|
-
new_stub_context do
|
1281
|
-
setup_gce_metadata_stubs
|
1282
|
-
setup_container_metadata_stubs
|
1283
|
-
setup_metadata_agent_stubs
|
1284
|
-
setup_logging_stubs do
|
1285
|
-
d = create_driver(ENABLE_METADATA_AGENT_CONFIG)
|
1286
|
-
n.times do |i|
|
1287
|
-
d.emit(gke_container_log_entry(log_entry(i)))
|
1288
|
-
end
|
1289
|
-
d.run
|
1290
|
-
end
|
1291
|
-
verify_log_entries(n, CONTAINER_FROM_APPLICATION_PARAMS)
|
1292
|
-
assert_requested_metadata_agent_stub(IMPLICIT_LOCAL_RESOURCE_ID)
|
1293
|
-
assert_requested_metadata_agent_stub(
|
1294
|
-
"gke_containerName.#{CONTAINER_NAMESPACE_ID}.#{CONTAINER_POD_NAME}." \
|
1295
|
-
"#{CONTAINER_CONTAINER_NAME}")
|
1296
|
-
end
|
1297
|
-
end
|
1298
|
-
end
|
1299
|
-
|
1300
1109
|
private
|
1301
1110
|
|
1302
1111
|
def stub_metadata_request(metadata_path, response_body)
|
@@ -1412,33 +1221,6 @@ module BaseTest
|
|
1412
1221
|
Prometheus::Client.registry.instance_variable_set('@metrics', {})
|
1413
1222
|
end
|
1414
1223
|
|
1415
|
-
# Metadata Agent.
|
1416
|
-
|
1417
|
-
def metadata_request_url(local_resource_id)
|
1418
|
-
"#{DEFAULT_METADATA_AGENT_URL}/monitoredResource/#{local_resource_id}"
|
1419
|
-
end
|
1420
|
-
|
1421
|
-
# Provide a stub context that initializes @logs_sent, executes the block and
|
1422
|
-
# resets WebMock at the end.
|
1423
|
-
def new_stub_context
|
1424
|
-
@logs_sent = []
|
1425
|
-
yield
|
1426
|
-
WebMock.reset!
|
1427
|
-
end
|
1428
|
-
|
1429
|
-
def setup_metadata_agent_stubs
|
1430
|
-
MONITORED_RESOURCE_STUBS.each do |local_resource_id, resource|
|
1431
|
-
stub_request(:get, metadata_request_url(local_resource_id))
|
1432
|
-
.to_return(status: 200, body: resource)
|
1433
|
-
end
|
1434
|
-
end
|
1435
|
-
|
1436
|
-
def assert_requested_metadata_agent_stub(local_resource_id)
|
1437
|
-
assert_requested :get, metadata_request_url(local_resource_id)
|
1438
|
-
end
|
1439
|
-
|
1440
|
-
# GKE Container.
|
1441
|
-
|
1442
1224
|
def container_tag_with_container_name(container_name)
|
1443
1225
|
"kubernetes.#{CONTAINER_POD_NAME}_#{CONTAINER_NAMESPACE_NAME}_" \
|
1444
1226
|
"#{container_name}"
|
@@ -1471,40 +1253,6 @@ module BaseTest
|
|
1471
1253
|
}
|
1472
1254
|
end
|
1473
1255
|
|
1474
|
-
def gke_container_log_entry(log)
|
1475
|
-
{
|
1476
|
-
log: log,
|
1477
|
-
LOCAL_RESOURCE_ID_KEY =>
|
1478
|
-
"gke_containerName.#{CONTAINER_NAMESPACE_ID}" \
|
1479
|
-
".#{CONTAINER_POD_NAME}.#{CONTAINER_CONTAINER_NAME}"
|
1480
|
-
}
|
1481
|
-
end
|
1482
|
-
|
1483
|
-
# Docker Container.
|
1484
|
-
|
1485
|
-
def docker_container_stdout_stderr_log_entry(
|
1486
|
-
log, stream = DOCKER_CONTAINER_STREAM_STDOUT)
|
1487
|
-
severity = if stream == DOCKER_CONTAINER_STREAM_STDOUT
|
1488
|
-
'INFO'
|
1489
|
-
else
|
1490
|
-
'ERROR'
|
1491
|
-
end
|
1492
|
-
{
|
1493
|
-
log: log,
|
1494
|
-
source: stream,
|
1495
|
-
severity: severity,
|
1496
|
-
LOCAL_RESOURCE_ID_KEY => "container.#{DOCKER_CONTAINER_ID}"
|
1497
|
-
}
|
1498
|
-
end
|
1499
|
-
|
1500
|
-
def docker_container_application_log_entry(log)
|
1501
|
-
{
|
1502
|
-
log: log,
|
1503
|
-
time: DOCKER_CONTAINER_TIMESTAMP,
|
1504
|
-
LOCAL_RESOURCE_ID_KEY => "containerName.#{DOCKER_CONTAINER_NAME}"
|
1505
|
-
}
|
1506
|
-
end
|
1507
|
-
|
1508
1256
|
def cloudfunctions_log_entry(i)
|
1509
1257
|
{
|
1510
1258
|
stream: 'stdout',
|
data/test/plugin/constants.rb
CHANGED
@@ -14,9 +14,7 @@
|
|
14
14
|
|
15
15
|
# Constants used by unit tests for Google Cloud Logging plugin.
|
16
16
|
module Constants
|
17
|
-
include Fluent::GoogleCloudOutput::
|
18
|
-
include Fluent::GoogleCloudOutput::ConfigConstants
|
19
|
-
include Fluent::GoogleCloudOutput::InternalConstants
|
17
|
+
include Fluent::GoogleCloudOutput::Constants
|
20
18
|
|
21
19
|
# Generic attributes.
|
22
20
|
HOSTNAME = Socket.gethostname
|
@@ -28,10 +26,6 @@ module Constants
|
|
28
26
|
FULLY_QUALIFIED_ZONE = 'projects/' + PROJECT_ID + '/zones/' + ZONE
|
29
27
|
VM_ID = '9876543210'
|
30
28
|
|
31
|
-
# Attributes used for the Metadata Agent resources.
|
32
|
-
METADATA_ZONE = 'us-central1-c'
|
33
|
-
METADATA_VM_ID = '0123456789'
|
34
|
-
|
35
29
|
# Attributes used for custom (overridden) configs.
|
36
30
|
CUSTOM_PROJECT_ID = 'test-custom-project-id'
|
37
31
|
CUSTOM_ZONE = 'us-custom-central1-b'
|
@@ -57,16 +51,6 @@ module Constants
|
|
57
51
|
MANAGED_VM_BACKEND_NAME = 'default'
|
58
52
|
MANAGED_VM_BACKEND_VERSION = 'guestbook2.0'
|
59
53
|
|
60
|
-
# Docker Container labels.
|
61
|
-
DOCKER_CONTAINER_ID = '0d0f03ff8d3c42688692536d1af77a28cd135c0a5c531f25a31'
|
62
|
-
DOCKER_CONTAINER_NAME = 'happy_hippo'
|
63
|
-
DOCKER_CONTAINER_STREAM_STDOUT = 'stdout'
|
64
|
-
DOCKER_CONTAINER_STREAM_STDERR = 'stderr'
|
65
|
-
# Timestamp for 1234567890 seconds and 987654321 nanoseconds since epoch.
|
66
|
-
DOCKER_CONTAINER_TIMESTAMP = '2009-02-13T23:31:30.987654321Z'
|
67
|
-
DOCKER_CONTAINER_SECONDS_EPOCH = 1_234_567_890
|
68
|
-
DOCKER_CONTAINER_NANOS = 987_654_321
|
69
|
-
|
70
54
|
# Container Engine / Kubernetes specific labels.
|
71
55
|
CONTAINER_CLUSTER_NAME = 'cluster-1'
|
72
56
|
CONTAINER_NAMESPACE_ID = '898268c8-4a36-11e5-9d81-42010af0194c'
|
@@ -165,20 +149,6 @@ module Constants
|
|
165
149
|
monitoring_type prometheus
|
166
150
|
)
|
167
151
|
|
168
|
-
ENABLE_METADATA_AGENT_CONFIG = %(
|
169
|
-
enable_metadata_agent true
|
170
|
-
)
|
171
|
-
|
172
|
-
DISABLE_METADATA_AGENT_CONFIG = %(
|
173
|
-
enable_metadata_agent false
|
174
|
-
)
|
175
|
-
|
176
|
-
DOCKER_CONTAINER_CONFIG = %(
|
177
|
-
enable_metadata_agent true
|
178
|
-
label_map { "source": "#{DOCKER_CONSTANTS[:service]}/stream" }
|
179
|
-
detect_json true
|
180
|
-
)
|
181
|
-
|
182
152
|
CUSTOM_METADATA_CONFIG = %(
|
183
153
|
project_id #{CUSTOM_PROJECT_ID}
|
184
154
|
zone #{CUSTOM_ZONE}
|
@@ -235,8 +205,6 @@ module Constants
|
|
235
205
|
)
|
236
206
|
|
237
207
|
# Service configurations for various services.
|
238
|
-
|
239
|
-
# GCE.
|
240
208
|
COMPUTE_PARAMS = {
|
241
209
|
resource: {
|
242
210
|
type: COMPUTE_CONSTANTS[:resource_type],
|
@@ -251,16 +219,7 @@ module Constants
|
|
251
219
|
"#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME
|
252
220
|
}
|
253
221
|
}
|
254
|
-
COMPUTE_PARAMS_WITH_METADATA_VM_ID_AND_ZONE = COMPUTE_PARAMS.merge(
|
255
|
-
resource: COMPUTE_PARAMS[:resource].merge(
|
256
|
-
labels: {
|
257
|
-
'instance_id' => METADATA_VM_ID,
|
258
|
-
'zone' => METADATA_ZONE
|
259
|
-
}
|
260
|
-
)
|
261
|
-
)
|
262
222
|
|
263
|
-
# GAE.
|
264
223
|
VMENGINE_PARAMS = {
|
265
224
|
resource: {
|
266
225
|
type: APPENGINE_CONSTANTS[:resource_type],
|
@@ -278,13 +237,12 @@ module Constants
|
|
278
237
|
}
|
279
238
|
}
|
280
239
|
|
281
|
-
# GKE Container.
|
282
240
|
CONTAINER_TAG = "kubernetes.#{CONTAINER_POD_NAME}_" \
|
283
241
|
"#{CONTAINER_NAMESPACE_NAME}_#{CONTAINER_CONTAINER_NAME}"
|
284
242
|
|
285
243
|
CONTAINER_FROM_METADATA_PARAMS = {
|
286
244
|
resource: {
|
287
|
-
type:
|
245
|
+
type: CONTAINER_CONSTANTS[:resource_type],
|
288
246
|
labels: {
|
289
247
|
'cluster_name' => CONTAINER_CLUSTER_NAME,
|
290
248
|
'namespace_id' => CONTAINER_NAMESPACE_ID,
|
@@ -297,10 +255,10 @@ module Constants
|
|
297
255
|
log_name: CONTAINER_CONTAINER_NAME,
|
298
256
|
project_id: PROJECT_ID,
|
299
257
|
labels: {
|
300
|
-
"#{
|
258
|
+
"#{CONTAINER_CONSTANTS[:service]}/namespace_name" =>
|
301
259
|
CONTAINER_NAMESPACE_NAME,
|
302
|
-
"#{
|
303
|
-
"#{
|
260
|
+
"#{CONTAINER_CONSTANTS[:service]}/pod_name" => CONTAINER_POD_NAME,
|
261
|
+
"#{CONTAINER_CONSTANTS[:service]}/stream" => CONTAINER_STREAM,
|
304
262
|
"label/#{CONTAINER_LABEL_KEY}" => CONTAINER_LABEL_VALUE,
|
305
263
|
"#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME
|
306
264
|
}
|
@@ -310,7 +268,7 @@ module Constants
|
|
310
268
|
# namespace and pod names.
|
311
269
|
CONTAINER_FROM_TAG_PARAMS = {
|
312
270
|
resource: {
|
313
|
-
type:
|
271
|
+
type: CONTAINER_CONSTANTS[:resource_type],
|
314
272
|
labels: {
|
315
273
|
'cluster_name' => CONTAINER_CLUSTER_NAME,
|
316
274
|
'namespace_id' => CONTAINER_NAMESPACE_NAME,
|
@@ -323,58 +281,14 @@ module Constants
|
|
323
281
|
log_name: CONTAINER_CONTAINER_NAME,
|
324
282
|
project_id: PROJECT_ID,
|
325
283
|
labels: {
|
326
|
-
"#{
|
284
|
+
"#{CONTAINER_CONSTANTS[:service]}/namespace_name" =>
|
327
285
|
CONTAINER_NAMESPACE_NAME,
|
328
|
-
"#{
|
329
|
-
"#{
|
330
|
-
"#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME
|
331
|
-
}
|
332
|
-
}
|
333
|
-
|
334
|
-
CONTAINER_FROM_APPLICATION_PARAMS = {
|
335
|
-
resource: {
|
336
|
-
type: GKE_CONSTANTS[:resource_type],
|
337
|
-
labels: {
|
338
|
-
'cluster_name' => CONTAINER_CLUSTER_NAME,
|
339
|
-
'namespace_id' => CONTAINER_NAMESPACE_ID,
|
340
|
-
'instance_id' => VM_ID,
|
341
|
-
'pod_id' => CONTAINER_POD_ID,
|
342
|
-
'container_name' => CONTAINER_CONTAINER_NAME,
|
343
|
-
'zone' => ZONE
|
344
|
-
}
|
345
|
-
},
|
346
|
-
log_name: 'redis',
|
347
|
-
project_id: PROJECT_ID,
|
348
|
-
labels: {
|
286
|
+
"#{CONTAINER_CONSTANTS[:service]}/pod_name" => CONTAINER_POD_NAME,
|
287
|
+
"#{CONTAINER_CONSTANTS[:service]}/stream" => CONTAINER_STREAM,
|
349
288
|
"#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME
|
350
289
|
}
|
351
290
|
}
|
352
291
|
|
353
|
-
# Docker Container.
|
354
|
-
DOCKER_CONTAINER_PARAMS = {
|
355
|
-
resource: {
|
356
|
-
type: DOCKER_CONSTANTS[:resource_type],
|
357
|
-
labels: {
|
358
|
-
'container_id' => DOCKER_CONTAINER_ID,
|
359
|
-
'location' => ZONE
|
360
|
-
}
|
361
|
-
},
|
362
|
-
log_name: 'test',
|
363
|
-
project_id: PROJECT_ID,
|
364
|
-
labels: {
|
365
|
-
"#{DOCKER_CONSTANTS[:service]}/stream" => DOCKER_CONTAINER_STREAM_STDOUT
|
366
|
-
}
|
367
|
-
}
|
368
|
-
DOCKER_CONTAINER_PARAMS_WITH_STREAM_STDERR = DOCKER_CONTAINER_PARAMS.merge(
|
369
|
-
labels: DOCKER_CONTAINER_PARAMS[:labels].merge(
|
370
|
-
"#{DOCKER_CONSTANTS[:service]}/stream" => DOCKER_CONTAINER_STREAM_STDERR
|
371
|
-
)
|
372
|
-
)
|
373
|
-
DOCKER_CONTAINER_PARAMS_WITH_NO_STREAM = DOCKER_CONTAINER_PARAMS.merge(
|
374
|
-
labels: {}
|
375
|
-
)
|
376
|
-
|
377
|
-
# Cloud Functions.
|
378
292
|
CLOUDFUNCTIONS_TAG = "kubernetes.#{CLOUDFUNCTIONS_POD_NAME}_" \
|
379
293
|
"#{CLOUDFUNCTIONS_NAMESPACE_NAME}_" \
|
380
294
|
"#{CLOUDFUNCTIONS_CONTAINER_NAME}"
|
@@ -391,8 +305,8 @@ module Constants
|
|
391
305
|
project_id: PROJECT_ID,
|
392
306
|
labels: {
|
393
307
|
'execution_id' => CLOUDFUNCTIONS_EXECUTION_ID,
|
394
|
-
"#{
|
395
|
-
"#{
|
308
|
+
"#{CONTAINER_CONSTANTS[:service]}/instance_id" => VM_ID,
|
309
|
+
"#{CONTAINER_CONSTANTS[:service]}/cluster_name" =>
|
396
310
|
CLOUDFUNCTIONS_CLUSTER_NAME,
|
397
311
|
"#{COMPUTE_CONSTANTS[:service]}/resource_id" => VM_ID,
|
398
312
|
"#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME,
|
@@ -411,8 +325,8 @@ module Constants
|
|
411
325
|
log_name: 'cloud-functions',
|
412
326
|
project_id: PROJECT_ID,
|
413
327
|
labels: {
|
414
|
-
"#{
|
415
|
-
"#{
|
328
|
+
"#{CONTAINER_CONSTANTS[:service]}/instance_id" => VM_ID,
|
329
|
+
"#{CONTAINER_CONSTANTS[:service]}/cluster_name" =>
|
416
330
|
CLOUDFUNCTIONS_CLUSTER_NAME,
|
417
331
|
"#{COMPUTE_CONSTANTS[:service]}/resource_id" => VM_ID,
|
418
332
|
"#{COMPUTE_CONSTANTS[:service]}/resource_name" => HOSTNAME,
|
@@ -420,7 +334,6 @@ module Constants
|
|
420
334
|
}
|
421
335
|
}
|
422
336
|
|
423
|
-
# Cloud Dataflow.
|
424
337
|
DATAFLOW_PARAMS = {
|
425
338
|
resource: {
|
426
339
|
type: DATAFLOW_CONSTANTS[:resource_type],
|
@@ -440,7 +353,6 @@ module Constants
|
|
440
353
|
}
|
441
354
|
}
|
442
355
|
|
443
|
-
# Cloud Dataproc.
|
444
356
|
DATAPROC_PARAMS = {
|
445
357
|
resource: {
|
446
358
|
type: DATAPROC_CONSTANTS[:resource_type],
|
@@ -459,7 +371,6 @@ module Constants
|
|
459
371
|
}
|
460
372
|
}
|
461
373
|
|
462
|
-
# Cloud ML.
|
463
374
|
ML_PARAMS = {
|
464
375
|
resource: {
|
465
376
|
type: ML_CONSTANTS[:resource_type],
|
@@ -570,50 +481,4 @@ module Constants
|
|
570
481
|
'' => '_'
|
571
482
|
}
|
572
483
|
ALL_TAGS = VALID_TAGS.merge(INVALID_TAGS)
|
573
|
-
|
574
|
-
# Stub value for Monitored resources from Metadata Agent.
|
575
|
-
# Map from the local_resource_id to the retrieved monitored resource.
|
576
|
-
MONITORED_RESOURCE_STUBS = {
|
577
|
-
# Implicit GCE instance.
|
578
|
-
IMPLICIT_LOCAL_RESOURCE_ID =>
|
579
|
-
{
|
580
|
-
'type' => COMPUTE_CONSTANTS[:resource_type],
|
581
|
-
'labels' => {
|
582
|
-
'zone' => METADATA_ZONE,
|
583
|
-
'instance_id' => METADATA_VM_ID
|
584
|
-
}
|
585
|
-
}.to_json,
|
586
|
-
# Docker container stderr / stdout logs.
|
587
|
-
"container.#{DOCKER_CONTAINER_ID}" =>
|
588
|
-
{
|
589
|
-
'type' => DOCKER_CONSTANTS[:resource_type],
|
590
|
-
'labels' => {
|
591
|
-
'location' => ZONE,
|
592
|
-
'container_id' => DOCKER_CONTAINER_ID
|
593
|
-
}
|
594
|
-
}.to_json,
|
595
|
-
# Docker container application logs.
|
596
|
-
"containerName.#{DOCKER_CONTAINER_NAME}" =>
|
597
|
-
{
|
598
|
-
'type' => DOCKER_CONSTANTS[:resource_type],
|
599
|
-
'labels' => {
|
600
|
-
'location' => ZONE,
|
601
|
-
'container_id' => DOCKER_CONTAINER_ID
|
602
|
-
}
|
603
|
-
}.to_json,
|
604
|
-
# GKE container logs.
|
605
|
-
"gke_containerName.#{CONTAINER_NAMESPACE_ID}.#{CONTAINER_POD_NAME}." \
|
606
|
-
"#{CONTAINER_CONTAINER_NAME}" =>
|
607
|
-
{
|
608
|
-
'type' => GKE_CONSTANTS[:resource_type],
|
609
|
-
'labels' => {
|
610
|
-
'cluster_name' => CONTAINER_CLUSTER_NAME,
|
611
|
-
'container_name' => CONTAINER_CONTAINER_NAME,
|
612
|
-
'instance_id' => VM_ID,
|
613
|
-
'namespace_id' => CONTAINER_NAMESPACE_ID,
|
614
|
-
'pod_id' => CONTAINER_POD_ID,
|
615
|
-
'zone' => ZONE
|
616
|
-
}
|
617
|
-
}.to_json
|
618
|
-
}
|
619
484
|
end
|