ivelum-fluent-plugin-oomkiller 0.0.3 → 0.0.4

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: b360ff0271074a7fcb4146dcf71f3528c3eddf22
4
- data.tar.gz: 24a127885b29d9c2fbec8ed937e68a78a7f192dd
3
+ metadata.gz: cf0637e01a6323959887674557b6cb1bff81accd
4
+ data.tar.gz: 10b86d17a1828494edcf1f104b829fbcbea51322
5
5
  SHA512:
6
- metadata.gz: be687f42d02fd1d6bd5976946f53738f3885f48f0a2e15668a70895eac071443152c7dea50398712276ec7aa9df5435f8bc8f9d69b7bb3d2baccc8f14ad41595
7
- data.tar.gz: a6edf0ad12758127138ba207b0c500719309a7fd57f9ec976f9739395ef0c089e9cd4d79205e7854345932ad5330926c7bb7185c2b744c8d8b51cc2f247a6469
6
+ metadata.gz: 957b0ee481bf1624baf384c7732716829184322cb107307095e711d85f67c25734761da4aa516d4d0baa3dd7c3c4c83ec9987ae4f6af1b83055ed8702daaf9df
7
+ data.tar.gz: d21085e56a37a1e110484756e0e37326bc2c0738d1d8b6ef273e6eef79423c829f80dd7ce947680eec4b6f7e1718a78319c6533bce9c944cf36fe1cd81631713
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "ivelum-fluent-plugin-oomkiller"
5
- spec.version = "0.0.3"
5
+ spec.version = "0.0.4"
6
6
  spec.authors = ["Megumi Nakamura", "Ilnur Ibragimov"]
7
7
  spec.email = ["ilnur.ibragimov@ivelum.com"]
8
8
 
@@ -22,44 +22,51 @@ class Fluent::OomKillerOutput < Fluent::Output
22
22
  @logs[:"#{tag}"] = []
23
23
  end
24
24
  chain.next
25
- es.each {|time,record|
25
+ es.each {|time, record|
26
26
  make_record_block(tag, time, record)
27
27
  }
28
28
  end
29
29
 
30
30
  def make_record_block(tag, time, record)
31
- record.each do |key, value|
32
- if @is_oomlog then
33
- @logs[:"#{tag}"] << value
34
- end
35
- if /invoked oom-killer:/ =~ value then
36
- @is_oomlog = true
37
- @logs[:"#{tag}"] << value
38
- elsif /Killed process/ =~ value then
39
- @is_oomlog = false
40
- parse_record_block(tag, time)
41
- end
31
+ if !record.has_key?('message')
32
+ return
33
+ end
34
+
35
+ value = record['message']
36
+
37
+ if @is_oomlog then
38
+ @logs[:"#{tag}"] << value
39
+ end
40
+
41
+ if /invoked oom-killer:/ =~ value then
42
+ @is_oomlog = true
43
+ @logs[:"#{tag}"] << value
44
+ elsif /Killed process/ =~ value then
45
+ @is_oomlog = false
46
+ parse_record_block(record, tag, time)
42
47
  end
43
48
  end
44
49
 
45
50
  REGEX1 = /^(\S+\s+\d+\s\d+:\d+:\d+)\s.+/
46
51
  REGEX2 = /Killed process (\d+)\s+\((\S+)\)\s+total-vm:(\d+)kB,\s+anon-rss:(\d+)kB,\s+file-rss:(\d+)kB/
47
52
 
48
- def parse_record_block(tag, time)
53
+ def parse_record_block(syslog_record, tag, time)
49
54
  record = {}
50
55
 
51
- if record.has_key?('time') and record['time']
52
- datetime = Time.parse(record['time'])
53
- time = datetime.to_i if datetime
56
+ if syslog_record.has_key?('time') and syslog_record['time'] then
57
+ time = syslog_record['time']
54
58
  else
55
59
  @logs[:"#{tag}"][0] =~ REGEX1
56
- if $1
60
+ if $1 then
57
61
  datetime = Time.parse($1)
58
62
  time = datetime.to_i if datetime
59
63
  end
60
64
  end
61
65
 
62
66
  @logs[:"#{tag}"][-1] =~ REGEX2
67
+ record['time'] = time
68
+ record['host'] = syslog_record['host']
69
+ record['ident'] = syslog_record['ident']
63
70
  record['pid'] = $1.to_i
64
71
  record['name'] = $2
65
72
  record['total_vm_kb'] = $3.to_i
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ivelum-fluent-plugin-oomkiller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Megumi Nakamura