fluent-plugin-osquery 0.0.2 → 0.0.3

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
- SHA256:
3
- metadata.gz: d0eee74f674f51a61e811a4a4dfc9f3ed05226b8b41d0807abae73d5bb9c8413
4
- data.tar.gz: 51f5a3ea8a323afc2ce53835e5fe2a9393371cc50a44c71145b55f20467a0fa1
2
+ SHA1:
3
+ metadata.gz: 5555cc0776a704e38f7cefb6d41b40a68200795f
4
+ data.tar.gz: 6a95bf4f9a44193ff5bf7623845b5661acce29e7
5
5
  SHA512:
6
- metadata.gz: 8a7baf95ffc9dfb8ecabb0da1fae0e7b4a02c1a80e341887b766692b05b7b62c33784ad1f7fd5fbde85f759c1057483cc98013ef88b78646325551ada3f72420
7
- data.tar.gz: 8eb2e871b33cbcf426f76cc0e64729cff91f7a25a00e90e83ea20f438b2ea9e120320a3f24e9ea7f1960efeb6f22f1b4a1ec6e7d5fe24cfb0914430bbd1db258
6
+ metadata.gz: 7e5e3193482dbfdd519fbb99e128085ee230e24f6986a090c6ccfda02975234263c348ec035b00342be931a2b29f89d7bba6228b6097cbb09742bd364a77f18b
7
+ data.tar.gz: 1f45c004c7f86043990cc631fa1d09706884effed8e0964228d041fa283ad55c19c08a32d0054fd4d2178257c33db03a7b3a1b8fa9427c53f331824d7d0d8bb9
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'fluent-plugin-osquery'
7
- spec.version = '0.0.2'
7
+ spec.version = '0.0.3'
8
8
  spec.authors = ['Hidenori Suzuki']
9
9
  spec.email = ['hidenori.suzuki@yahoo.com']
10
10
  spec.summary = 'a fluent plugin'
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(/^(test|spec|features)\//)
18
18
  spec.require_paths = ['lib']
19
19
 
20
- spec.add_runtime_dependency 'fluentd', '~> 1.2.6'
20
+ spec.add_runtime_dependency 'fluentd', '~> 1.2.0'
21
21
 
22
22
  spec.add_development_dependency 'bundler'
23
23
  spec.add_development_dependency 'rake'
@@ -1,8 +1,13 @@
1
1
  # coding: utf-8
2
- require 'fluent/input'
3
- module Fluent
4
- class OsqueryInput < Fluent::Input
2
+ require 'json'
3
+ require 'fluent/plugin/input'
4
+
5
+ module Fluent::Plugin
6
+ class OsqueryInput < Fluent::Plugin::Input
5
7
  Fluent::Plugin.register_input('osquery', self)
8
+
9
+ helpers :timer
10
+
6
11
  config_param :tag, :string, default: 'osquery'
7
12
  config_param :interval, :integer, default: 60
8
13
  config_param :query, :string, default: 'select * from processes'
@@ -13,7 +18,6 @@ module Fluent
13
18
 
14
19
  def initialize
15
20
  super
16
- require 'json'
17
21
  end
18
22
 
19
23
  def configure(conf)
@@ -21,55 +25,29 @@ module Fluent
21
25
  end
22
26
 
23
27
  def start
24
- @loop = Coolio::Loop.new
25
- @tw = TimerWatcher.new(interval, true, log, &method(:execute))
26
- @tw.attach(@loop)
27
- @thread = Thread.new(&method(:run))
28
+ super
29
+ timer_execute(:in_osquery_timer, interval, &method(:execute))
28
30
  end
29
31
 
30
32
  def shutdown
31
- @tw.detach
32
- @loop.stop
33
- @thread.join
34
- end
35
-
36
- def run
37
- @loop.run
38
- rescue => e
39
- @log.error 'unexpected error', error: e.to_s
40
- @log.error_backtrace
33
+ super
41
34
  end
42
35
 
43
36
  private
44
37
 
45
38
  def execute
46
- @time = Engine.now
39
+ @time = Fluent::Engine.now
47
40
  cmd = "osqueryi --json \"#{@query}\""
48
- @log.debug(cmd)
41
+ log.debug(cmd)
49
42
  record = `#{cmd}`
50
43
  jsonrec = JSON.parse(record)
51
44
  jsonrec.each do |line|
52
- @log.debug(line)
45
+ log.debug(line)
53
46
  router.emit(@tag, @time, line)
54
47
  end
55
48
  rescue => e
56
- @log.error('faild to run', error: e.to_s, error_class: e.class.to_s)
57
- @log.error_backtrace
58
- end
59
-
60
- class TimerWatcher < Coolio::TimerWatcher
61
- def initialize(interval, repeat, log, &callback)
62
- @log = log
63
- @callback = callback
64
- super(interval, repeat)
65
- end
66
-
67
- def on_timer
68
- @callback.call
69
- rescue => e
70
- @log.error e.to_s
71
- @log.error_backtrace
72
- end
49
+ log.error('faild to run', error: e.to_s, error_class: e.class.to_s)
50
+ log.error_backtrace
73
51
  end
74
52
  end
75
53
  end
@@ -8,14 +8,14 @@ CONFIG = BASE_CONFIG + %(
8
8
  interval 1
9
9
  )
10
10
 
11
- describe Fluent::OsqueryInput do
11
+ describe Fluent::Plugin::OsqueryInput do
12
12
  before do
13
13
  Fluent::Test.setup
14
14
  end
15
15
 
16
16
  describe '#configure' do
17
17
  let(:d) do
18
- Fluent::Test::InputTestDriver.new(Fluent::OsqueryInput)
18
+ Fluent::Test::Driver::Input.new(Fluent::Plugin::OsqueryInput)
19
19
  end
20
20
 
21
21
  context 'test of test' do
@@ -29,7 +29,7 @@ describe Fluent::OsqueryInput do
29
29
 
30
30
  describe '#run' do
31
31
  let(:d) do
32
- Fluent::Test::InputTestDriver.new(Fluent::OsqueryInput)
32
+ Fluent::Test::Driver::Input.new(Fluent::Plugin::OsqueryInput)
33
33
  .configure(config)
34
34
  end
35
35
 
@@ -1,2 +1,3 @@
1
1
  require 'fluent/test'
2
+ require 'fluent/test/driver/input'
2
3
  require 'fluent/plugin/in_osquery'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-osquery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hidenori Suzuki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-06 00:00:00.000000000 Z
11
+ date: 2018-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.6
19
+ version: 1.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.2.6
26
+ version: 1.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
117
  version: '0'
118
118
  requirements: []
119
119
  rubyforge_project:
120
- rubygems_version: 2.7.6
120
+ rubygems_version: 2.6.14.1
121
121
  signing_key:
122
122
  specification_version: 4
123
123
  summary: a fluent plugin