fluent-plugin-elastic-log 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f99628e3afa35a188a2f1b94cf56b44a1cbac89f541852cd1791d4a635b6e658
|
4
|
+
data.tar.gz: ae773fc1151757b4b1ebdc5ef463c05c722ab1d50e89d7e5b01f8c5187505252
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9b473e3db2182d81103f0b5a39c8c7a240c2bcc00dd2e01f852baa55aca426c3edc466595c6feb878ead856cb3f787c9f0cd7f2d182bfb0dcc38d9d5b0498f7
|
7
|
+
data.tar.gz: 544ddb9b34eed81fe9e758b65736ab4335b975ee575afddf36083ec91a026f506b1edea1d6f6a68fb914a88b12e234b375e58dcf84db1f89cd5615088a115ae4
|
data/.rubocop.yml
CHANGED
@@ -21,24 +21,26 @@ module Fluent
|
|
21
21
|
# data/write/* => write
|
22
22
|
# monitor/* => monitor
|
23
23
|
PRIVILEGE_MAP = {
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
24
|
+
'cluster:admin/' => 'admin',
|
25
|
+
'cluster:monitor/' => 'monitor',
|
26
|
+
'indices:admin/' => 'admin',
|
27
|
+
'indices:data/read/' => 'read',
|
28
|
+
'indices:data/write/' => 'write',
|
29
|
+
'indices:monitor/' => 'monitor'
|
30
30
|
}.freeze
|
31
31
|
|
32
32
|
ILM_PATTERN = /^(.*)-\d{6}$/.freeze
|
33
33
|
|
34
|
-
attr_reader :time, :record, :conf
|
34
|
+
attr_reader :time, :record, :conf, :prefix
|
35
35
|
|
36
|
-
def initialize(time:, record:, conf:)
|
36
|
+
def initialize(time:, record:, conf:, prefix: '')
|
37
37
|
@time = time
|
38
38
|
@record = record
|
39
39
|
@conf = conf
|
40
|
+
@prefix = prefix
|
40
41
|
end
|
41
42
|
|
43
|
+
# rubocop:disable Metrics/AbcSize
|
42
44
|
def timestamp
|
43
45
|
begin
|
44
46
|
timestamp = Time.parse(record[:timestamp])
|
@@ -46,25 +48,28 @@ module Fluent
|
|
46
48
|
timestamp = time.to_time
|
47
49
|
end
|
48
50
|
|
49
|
-
return timestamp.utc.
|
51
|
+
return (timestamp.utc.to_f * 1000).to_i if conf.timestamp_format == :epochmillis
|
52
|
+
return timestamp.utc.strftime('%s%3N') if conf.timestamp_format == :epochmillis_str
|
50
53
|
|
51
54
|
timestamp.utc.iso8601(3)
|
52
55
|
end
|
56
|
+
# rubocop:enable Metrics/AbcSize
|
53
57
|
|
54
|
-
def
|
58
|
+
def query_type
|
55
59
|
PRIVILEGE_MAP.each do |pattern, name|
|
56
|
-
return
|
60
|
+
return name if record[:privilege].to_s.start_with?(pattern)
|
57
61
|
end
|
58
|
-
|
62
|
+
'unknown_count'
|
59
63
|
end
|
60
64
|
|
61
65
|
def base
|
62
66
|
{
|
63
67
|
'timestamp' => timestamp,
|
64
|
-
'metric_name' =>
|
68
|
+
'metric_name' => 'query_count',
|
65
69
|
'metric_value' => 1,
|
66
|
-
|
67
|
-
|
70
|
+
"#{prefix}user" => record[:user],
|
71
|
+
"#{prefix}cluster" => record[:cluster],
|
72
|
+
"#{prefix}query_type" => query_type
|
68
73
|
}
|
69
74
|
end
|
70
75
|
|
@@ -82,7 +87,7 @@ module Fluent
|
|
82
87
|
def generate_event_stream
|
83
88
|
metric_es = MultiEventStream.new
|
84
89
|
indices.each do |indice|
|
85
|
-
metric_es.add(time, base.merge(
|
90
|
+
metric_es.add(time, base.merge("#{prefix}technical_name" => indice))
|
86
91
|
end
|
87
92
|
metric_es
|
88
93
|
end
|
@@ -42,6 +42,7 @@ module Fluent
|
|
42
42
|
DEFAULT_R_INDICES_KEY = 'audit_trace_resolved_indices'
|
43
43
|
DEFAULT_TIMESTAMP_KEY = '@timestamp'
|
44
44
|
DEFAULT_PRIVILEGE_KEY = 'audit_request_privilege'
|
45
|
+
DEFAULT_PREFIX = ''
|
45
46
|
|
46
47
|
# REQUEST PRIVILEGE:
|
47
48
|
# cluster:
|
@@ -78,8 +79,9 @@ module Fluent
|
|
78
79
|
config_param :privilege_key, :string, default: DEFAULT_PRIVILEGE_KEY
|
79
80
|
|
80
81
|
desc 'Timestamp format'
|
81
|
-
config_param :timestamp_format, :enum, list: %i[iso epochmillis], default: :iso
|
82
|
-
|
82
|
+
config_param :timestamp_format, :enum, list: %i[iso epochmillis epochmillis_str], default: :iso
|
83
|
+
desc 'Attribute prefix'
|
84
|
+
config_param :prefix, :string, default: DEFAULT_PREFIX
|
83
85
|
desc 'Aggregate ILM'
|
84
86
|
config_param :aggregate_ilm, :bool, default: true
|
85
87
|
|
@@ -142,7 +144,8 @@ module Fluent
|
|
142
144
|
layer: record[layer_key],
|
143
145
|
request_type: record[request_type_key]
|
144
146
|
},
|
145
|
-
conf: self
|
147
|
+
conf: self,
|
148
|
+
prefix: prefix
|
146
149
|
).generate_event_stream
|
147
150
|
end
|
148
151
|
# rubocop:enable Metrics/AbcSize
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-elastic-log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Tych
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-06-
|
11
|
+
date: 2023-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bump
|