soar_auditing_provider 1.1.0 → 1.1.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 533e50f96d003eaf80b09fa70ec1154c7c28478f
|
4
|
+
data.tar.gz: 69cac5833f72d7f332f364cad8799ff091293e30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7d3045035d9b59331a9d34a19ca88f52628f25dcd0bca2ea983ce2bd86562241576975040be9558072915a6a8fd4a529384cd344bd388e0f6930725a9e3116e
|
7
|
+
data.tar.gz: 614ffb3a1b13cb9e884ca84293ceabe88037dec32bfe56aa2d9c741b02d00e5c88c8ca2b97f8ab8ed49c481f7ec3551a6a398d2a289542e9bc68f31c877dac6a
|
@@ -69,7 +69,12 @@ module SoarAuditingProvider
|
|
69
69
|
|
70
70
|
def detailed_status
|
71
71
|
{ 'audit_buffer_overflows' => @buffer_overflow_count,
|
72
|
-
'startup_flow_id' => @startup_flow_id
|
72
|
+
'startup_flow_id' => @startup_flow_id,
|
73
|
+
'failed_audit_attempts' => @worker.failed_audit_attempts,
|
74
|
+
'successful_audits' => @worker.successful_audits,
|
75
|
+
'total_audits' => @worker.total_audits,
|
76
|
+
'latest_audit_timespan' => @worker.latest_audit_timespan,
|
77
|
+
'latest_audit_timestamp' => @worker.latest_audit_timestamp }
|
73
78
|
end
|
74
79
|
|
75
80
|
def flush
|
@@ -2,9 +2,16 @@ require 'soar_thread_worker/thread_worker'
|
|
2
2
|
|
3
3
|
module SoarAuditingProvider
|
4
4
|
class AuditingWorker < SoarThreadWorker::ThreadWorker
|
5
|
+
attr_reader :failed_audit_attempts
|
6
|
+
attr_reader :successful_audits
|
7
|
+
attr_reader :total_audits
|
8
|
+
attr_reader :latest_audit_timespan
|
9
|
+
attr_reader :latest_audit_timestamp
|
10
|
+
|
5
11
|
def initialize
|
6
12
|
@queue = Queue.new
|
7
13
|
@start_mutex = Mutex.new
|
14
|
+
initialize_metrics
|
8
15
|
end
|
9
16
|
|
10
17
|
def configure(queue_worker_configuration: ,auditor_audit_method: )
|
@@ -36,6 +43,7 @@ module SoarAuditingProvider
|
|
36
43
|
|
37
44
|
def execute
|
38
45
|
audit_event = @queue.pop
|
46
|
+
@total_audits += 1
|
39
47
|
failed_before = false
|
40
48
|
begin
|
41
49
|
if @stopping
|
@@ -43,13 +51,17 @@ module SoarAuditingProvider
|
|
43
51
|
return true #indicates to thread worder that we are done executing since we are in the process of stopping
|
44
52
|
end
|
45
53
|
exponential_back_off(start_at_last_attempt: failed_before) {
|
54
|
+
time_before_audit = Time.now
|
46
55
|
@auditor_audit_method.call(audit_event[:level],audit_event[:data])
|
56
|
+
@latest_audit_timespan = Time.now - time_before_audit
|
57
|
+
@successful_audits += 1
|
47
58
|
}
|
48
59
|
rescue Exception => e
|
49
60
|
print_exception_with_message_to_stderr(nil,e)
|
50
61
|
failed_before = true
|
51
62
|
retry
|
52
63
|
end
|
64
|
+
@latest_audit_timestamp = Time.now.utc
|
53
65
|
return false #indicates to thread worder that we are not done executing
|
54
66
|
end
|
55
67
|
|
@@ -122,6 +134,7 @@ module SoarAuditingProvider
|
|
122
134
|
# Any exception derived from StandardError is assumed to be a failure and
|
123
135
|
# attempted again until it completes without an exception or an exception
|
124
136
|
# not derived from StandardError
|
137
|
+
@failed_audit_attempts += 1
|
125
138
|
if ((attempt <= @maximum_back_off_attempts) and (not @stopping)) then
|
126
139
|
sleep_unless_stopping(calculate_back_off_delay(attempt))
|
127
140
|
attempt = attempt + 1
|
@@ -149,5 +162,13 @@ module SoarAuditingProvider
|
|
149
162
|
sleep(0.1)
|
150
163
|
end
|
151
164
|
end
|
165
|
+
|
166
|
+
def initialize_metrics
|
167
|
+
@failed_audit_attempts = 0
|
168
|
+
@successful_audits = 0
|
169
|
+
@total_audits = 0
|
170
|
+
@latest_audit_timespan = 0
|
171
|
+
@latest_audit_timestamp = 0
|
172
|
+
end
|
152
173
|
end
|
153
174
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soar_auditing_provider
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ernst van Graan
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-10-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|