fluent-plugin-light-core 0.2.6 → 0.3.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
  SHA256:
3
- metadata.gz: aa263e49f613865247d281b1bb9f5cd65df261da7047466a11c428d77742f4c2
4
- data.tar.gz: 763f163046a38dca3a9341bfdcc36a18a1da34a9fa9bc78933983ba7c2c955ba
3
+ metadata.gz: 6119d11808512bdf44f83123c91c633d8f11ca5c2dac44fc1e7576d075273d08
4
+ data.tar.gz: 891aa7bc78a8d191733805b3de356f003c32fcddc0365d5ccebd97cc91a5615a
5
5
  SHA512:
6
- metadata.gz: ed1cb6b3a76b067dd3734bc9fa446211e6b4e3fbb2abf179327f18b47f88ca8c6dc5c5fe23711872b3a40fbd471bfe193363469fc10b37ffa63bb0329886ad15
7
- data.tar.gz: 950534c7d8bc3c443eb442e6d3d6bcf0a81c0cd7c66f6ef94dc55122587ca2e31aecd9df4e4303133d51aeb041c1cdbdd60b904c12ba3054df2e9d408f834a95
6
+ metadata.gz: 30231e1d3b211c71b11370bd482eb12d6070d61da621907e95df5140e04b4eb1c5572851a838aaa54a407f13ec6ddaf778e960e4026d8333573f7c45bfea259c
7
+ data.tar.gz: 2bd9370ed15a793354809c6cff4c6a2a08251cf48e9c33948cd541700a928dac3c28a44233fd70f055eeaf310b69bbac273af74fa80200b6b539a4333611c395
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-light-core"
6
- spec.version = "0.2.6"
6
+ spec.version = "0.3.0"
7
7
  spec.authors = ["LIN LI"]
8
8
  spec.email = ["l.li@alphabets.cn"]
9
9
 
@@ -41,6 +41,7 @@ module Fluent
41
41
  # MongoDB 异常 settings
42
42
  config_param :mongo_severity, :array, default: ['F', 'E'], value_type: :string
43
43
  config_param :mongo_querytime, :float, default: 100
44
+ config_param :mongo_dataBytes, :float, default: 1073741824
44
45
 
45
46
  # 初始化 Sentry
46
47
  def start
@@ -69,7 +70,7 @@ module Fluent
69
70
 
70
71
  # 主处理
71
72
  def filter(tag, time, record)
72
-
73
+
73
74
  if ['app', 'service'].include? tag
74
75
  record = filter_app(tag, time, record)
75
76
  return notice('app', record)
@@ -212,7 +213,7 @@ module Fluent
212
213
 
213
214
  # https://docs.mongodb.com/manual/reference/log-messages/
214
215
  def filter_mongo(tag, time, record)
215
-
216
+
216
217
  file = record['file'].split('/').last.split('_')
217
218
  log = record['log']
218
219
 
@@ -239,6 +240,14 @@ module Fluent
239
240
  record['querytime'] = attributes['durationMillis']
240
241
  record['collection'] = attributes['ns']
241
242
  record['command'] = attributes['command']
243
+ storage = attributes['storage']
244
+ if storage
245
+ data = storage['data']
246
+ if data
247
+ record['bytesRead'] = data['bytesRead']
248
+ record['bytesWritten'] = data['bytesWritten']
249
+ end
250
+ end
242
251
  record['attr'] = attributes
243
252
  end
244
253
 
@@ -257,11 +266,6 @@ module Fluent
257
266
 
258
267
  if tag == 'app'
259
268
 
260
- if @app_stream && record['stream']
261
- message = 'Stream error' + record['stream']
262
- send(tag, message, record) if record['stream'] == @app_stream
263
- end
264
-
265
269
  if @app_message.length > 0 && record['message']
266
270
  @app_message.each do |pattern|
267
271
  if pattern.match(record['message'])
@@ -319,6 +323,18 @@ module Fluent
319
323
  send(tag, message, record) if record['querytime'].to_f >= @mongo_querytime
320
324
  end
321
325
 
326
+ if @mongo_dataBytes > 0 && record['bytesRead']
327
+ message = 'bytesRead data is:' + record['bytesRead'].to_s
328
+ message = message + ' : ' + record['collection'] if record['collection']
329
+ send(tag, message, record) if record['bytesRead'].to_f >= @mongo_dataBytes
330
+ end
331
+
332
+ if @mongo_dataBytes > 0 && record['bytesWritten']
333
+ message = 'bytesWritten data is:' + record['bytesWritten'].to_s
334
+ message = message + ' : ' + record['collection'] if record['collection']
335
+ send(tag, message, record) if record['bytesWritten'].to_f >= @mongo_dataBytes
336
+ end
337
+
322
338
  return record
323
339
  end
324
340
 
@@ -328,9 +344,8 @@ module Fluent
328
344
 
329
345
  # 发送UDP请求
330
346
  def send(tag, message, record)
331
- log.debug('send udp notice')
332
- log.info(message)
333
- # Sentry.capture_message(message, :extra => record, :tags => {'log' => tag})
347
+ Sentry.capture_message(message, :extra => record, :tags => {'log' => tag})
348
+ log.info('msg has been sent to sentry : ', message)
334
349
  end
335
350
 
336
351
  # 转数字
data/sample/README.md CHANGED
@@ -47,3 +47,19 @@ Initialized empty Git repository in /Users/lilin/developer/light/fluent-plugin-l
47
47
 
48
48
  bundle install
49
49
  会修改Gemfile.lock文件
50
+
51
+
52
+ ## 在Linxu上运行
53
+
54
+ - 进入fluentd容器, 安装依赖
55
+ $ yum groupinstall 'Development Tools'
56
+ $ yum install rubygems ruby-devel
57
+
58
+ - 下载代码, 安装依赖
59
+ $ git clone http://git.alphabets.cn/light/fluent-plugin-light-core.git
60
+ $ cd fluent-plugin-light-core
61
+ $ gem install bundler:1.17.2
62
+ $ bundler install
63
+
64
+ - 运行代码
65
+ $ rm -f sample/*.pos && fluentd -c sample/source.conf -p lib/fluent/plugin
data/sample/source.conf CHANGED
@@ -83,6 +83,7 @@
83
83
  sentry_dsn https://4447403a2a86437491d307ceb72898e5@sentry.zf.link/4
84
84
  mongo_querytime 300
85
85
  mongo_severity F,E
86
+ mongo_dataBytes 1073741824
86
87
  lb_stream stderr
87
88
  lb_code 400,500
88
89
  lb_elapsed 5
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-light-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - LIN LI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-20 00:00:00.000000000 Z
11
+ date: 2021-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler