fluent-plugin-elb-access-log 0.1.8 → 0.2.0
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 08f77efb6afe4e6a4ff1e3c2d9fb956eb4cbb5a5
|
|
4
|
+
data.tar.gz: 5f4249955cf58fc6c77c7281a1911014e7572940
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c5216d607dce35496ecc0a1ee43472d38932b70b8dacf4b2d1e0d7284e6eaac3297948edb87f4660fc75570e1650b84d0a49eeabecf37c94743fe3dfcda4faaf
|
|
7
|
+
data.tar.gz: 7936a97c6014943af80f42ecb952672012957d5d8a4de93327e0d2ebaa4d98821cb01b1ed82d0d12edc5f66996e699bd89f58bd9fc3c28054ed3dbf4eb99180b
|
data/README.md
CHANGED
|
@@ -40,6 +40,7 @@ class Fluent::ElbAccessLogInput < Fluent::Input
|
|
|
40
40
|
config_param :s3_prefix, :string, :default => nil
|
|
41
41
|
config_param :tag, :string, :default => 'elb.access_log'
|
|
42
42
|
config_param :tsfile_path, :string, :default => '/var/tmp/fluent-plugin-elb-access-log.ts'
|
|
43
|
+
config_param :histfile_path, :string, :default => '/var/tmp/fluent-plugin-elb-access-log.history'
|
|
43
44
|
config_param :interval, :time, :default => 300
|
|
44
45
|
config_param :start_datetime, :string, :default => nil
|
|
45
46
|
config_param :buffer_sec, :time, :default => 600
|
|
@@ -61,6 +62,7 @@ class Fluent::ElbAccessLogInput < Fluent::Input
|
|
|
61
62
|
super
|
|
62
63
|
|
|
63
64
|
FileUtils.touch(@tsfile_path)
|
|
65
|
+
FileUtils.touch(@histfile_path)
|
|
64
66
|
|
|
65
67
|
if @start_datetime
|
|
66
68
|
@start_datetime = Time.parse(@start_datetime).utc
|
|
@@ -68,7 +70,7 @@ class Fluent::ElbAccessLogInput < Fluent::Input
|
|
|
68
70
|
@start_datetime = Time.parse(File.read(@tsfile_path)).utc rescue Time.now.utc
|
|
69
71
|
end
|
|
70
72
|
|
|
71
|
-
@history =
|
|
73
|
+
@history = load_history
|
|
72
74
|
end
|
|
73
75
|
|
|
74
76
|
def start
|
|
@@ -91,6 +93,8 @@ class Fluent::ElbAccessLogInput < Fluent::Input
|
|
|
91
93
|
if @history.length > @history_length
|
|
92
94
|
@history.shift(@history.length - @history_length)
|
|
93
95
|
end
|
|
96
|
+
|
|
97
|
+
save_history
|
|
94
98
|
end
|
|
95
99
|
|
|
96
100
|
@loop.attach(timer)
|
|
@@ -205,6 +209,16 @@ class Fluent::ElbAccessLogInput < Fluent::Input
|
|
|
205
209
|
end
|
|
206
210
|
end
|
|
207
211
|
|
|
212
|
+
def load_history
|
|
213
|
+
File.read(@histfile_path).split("\n")
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
def save_history
|
|
217
|
+
open(@histfile_path, 'w') do |histfile|
|
|
218
|
+
histfile << @history.join("\n")
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
|
|
208
222
|
def client
|
|
209
223
|
return @client if @client
|
|
210
224
|
|
|
@@ -11,6 +11,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
|
|
|
11
11
|
Timecop.freeze(today)
|
|
12
12
|
allow(FileUtils).to receive(:touch)
|
|
13
13
|
allow(File).to receive(:read) { nil }
|
|
14
|
+
allow_any_instance_of(Fluent::ElbAccessLogInput).to receive(:load_history) { [] }
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
context 'when default' do
|
|
@@ -34,6 +35,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
|
|
|
34
35
|
expect(driver.instance.s3_prefix).to be_nil
|
|
35
36
|
expect(driver.instance.tag).to eq 'elb.access_log'
|
|
36
37
|
expect(driver.instance.tsfile_path).to eq '/var/tmp/fluent-plugin-elb-access-log.ts'
|
|
38
|
+
expect(driver.instance.histfile_path).to eq '/var/tmp/fluent-plugin-elb-access-log.history'
|
|
37
39
|
expect(driver.instance.interval).to eq 300
|
|
38
40
|
expect(driver.instance.start_datetime).to eq today
|
|
39
41
|
expect(driver.instance.buffer_sec).to eq 600
|
|
@@ -52,6 +54,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
|
|
|
52
54
|
let(:s3_prefix) { 's3-prefix' }
|
|
53
55
|
let(:tag) { 'any.tag' }
|
|
54
56
|
let(:tsfile_path) { '/tmp/foo' }
|
|
57
|
+
let(:histfile_path) { '/tmp/bar' }
|
|
55
58
|
let(:interval) { 500 }
|
|
56
59
|
let(:start_datetime) { today - 3600 }
|
|
57
60
|
let(:buffer_sec) { 1200 }
|
|
@@ -71,6 +74,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
|
|
|
71
74
|
s3_prefix: s3_prefix,
|
|
72
75
|
tag: tag,
|
|
73
76
|
tsfile_path: tsfile_path,
|
|
77
|
+
histfile_path: histfile_path,
|
|
74
78
|
interval: interval,
|
|
75
79
|
start_datetime: start_datetime,
|
|
76
80
|
buffer_sec: buffer_sec,
|
|
@@ -91,6 +95,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
|
|
|
91
95
|
expect(driver.instance.s3_prefix).to eq s3_prefix
|
|
92
96
|
expect(driver.instance.tag).to eq tag
|
|
93
97
|
expect(driver.instance.tsfile_path).to eq tsfile_path
|
|
98
|
+
expect(driver.instance.histfile_path).to eq histfile_path
|
|
94
99
|
expect(driver.instance.interval).to eq interval
|
|
95
100
|
expect(driver.instance.start_datetime).to eq start_datetime
|
|
96
101
|
expect(driver.instance.buffer_sec).to eq buffer_sec
|
|
@@ -29,6 +29,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
29
29
|
before do
|
|
30
30
|
Timecop.freeze(today)
|
|
31
31
|
allow_any_instance_of(Fluent::ElbAccessLogInput).to receive(:client) { client }
|
|
32
|
+
allow_any_instance_of(Fluent::ElbAccessLogInput).to receive(:load_history) { [] }
|
|
32
33
|
allow(FileUtils).to receive(:touch)
|
|
33
34
|
end
|
|
34
35
|
|
|
@@ -44,6 +45,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
44
45
|
expect(client).to receive(:list_objects).with(bucket: s3_bucket, prefix: today_prefix) { [] }
|
|
45
46
|
expect(client).to receive(:list_objects).with(bucket: s3_bucket, prefix: tomorrow_prefix) { [] }
|
|
46
47
|
expect(driver.instance).to_not receive(:save_timestamp).with(today)
|
|
48
|
+
expect(driver.instance).to receive(:save_history)
|
|
47
49
|
|
|
48
50
|
driver.run
|
|
49
51
|
end
|
|
@@ -88,6 +90,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
88
90
|
end
|
|
89
91
|
|
|
90
92
|
expect(driver.instance).to receive(:save_timestamp).with(tomorrow)
|
|
93
|
+
expect(driver.instance).to receive(:save_history)
|
|
91
94
|
|
|
92
95
|
driver.run
|
|
93
96
|
end
|
|
@@ -391,6 +394,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
391
394
|
end
|
|
392
395
|
|
|
393
396
|
expect(driver.instance).to receive(:save_timestamp).with(today)
|
|
397
|
+
expect(driver.instance).to receive(:save_history)
|
|
394
398
|
|
|
395
399
|
driver.run
|
|
396
400
|
end
|
|
@@ -453,6 +457,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
453
457
|
end
|
|
454
458
|
|
|
455
459
|
expect(driver.instance).to_not receive(:save_timestamp)
|
|
460
|
+
expect(driver.instance).to receive(:save_history)
|
|
456
461
|
|
|
457
462
|
driver.run
|
|
458
463
|
end
|
|
@@ -512,6 +517,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
512
517
|
|
|
513
518
|
expect(client).to_not receive(:get_object)
|
|
514
519
|
expect(driver.instance).to_not receive(:save_timestamp)
|
|
520
|
+
expect(driver.instance).to receive(:save_history)
|
|
515
521
|
|
|
516
522
|
driver.run
|
|
517
523
|
end
|
|
@@ -539,6 +545,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
539
545
|
history = driver.instance.instance_variable_get(:@history)
|
|
540
546
|
history << today_object_key
|
|
541
547
|
expect(driver.instance).to_not receive(:save_timestamp)
|
|
548
|
+
expect(driver.instance).to receive(:save_history)
|
|
542
549
|
|
|
543
550
|
driver.run
|
|
544
551
|
end
|
|
@@ -568,6 +575,7 @@ describe Fluent::ElbAccessLogInput do
|
|
|
568
575
|
end
|
|
569
576
|
|
|
570
577
|
expect(driver.instance).to receive(:save_timestamp).with(today)
|
|
578
|
+
expect(driver.instance).to receive(:save_history)
|
|
571
579
|
end
|
|
572
580
|
|
|
573
581
|
subject { history.length }
|