fluent-plugin-datadog_event 0.1.4 → 0.1.5

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: 84eedb6ff68ca19b14a61c7d73296fbe24f61952660f4cabd226c0d82574e2a6
4
- data.tar.gz: 8a43830de5c19b630576587954614dd4d04416b742ac819c14e17c5211d191d6
3
+ metadata.gz: f76f717b87b37cb1549d64f4cc0dd8fe9ea8274f2124947234225cf34911fd91
4
+ data.tar.gz: 4b0833603c7d38958070156e96e2fbdd63b7daf3953b3aae2e79bfbb0d1390d4
5
5
  SHA512:
6
- metadata.gz: '08510a3d1c94a81b9ae98b87a4b652a662e4b28ce6b237a142630fdfd3aed46f41b0fc01a293357baaac931a741ad51ee6a110f412e6a69a5581884012cc7b2c'
7
- data.tar.gz: 12ca661e685b26c9af31a656d730247146bca2dfabae7a1b4b997c53d71fc2c0970bf29eaafd5ca11be1bd6b4577da4ca49fa65f43454a1bd9a6e8b45991dbe2
6
+ metadata.gz: 1c2c3afda9716f3d6aa4ce5e17fe38cf809ffeb613c0e4a757ba2cff6c61a1b65cb31f1e9c867c41ccb33c32ee438b6b7d8809eb5d19a8a327ae745b6068be15
7
+ data.tar.gz: 5aa3b7647d5d40d15a4db80b01125217343a8f872ed9fd0d487080d0cef935f3548fca38bfdb48bbf3ad95139e67eca9a039b27e9f57927a8ae71906e5403c29
data/.gitignore CHANGED
@@ -17,3 +17,5 @@ tmtags
17
17
  \#*
18
18
  .\#*
19
19
  *.swp
20
+ .envrc
21
+ /vendor/
data/README.md CHANGED
@@ -2,23 +2,11 @@
2
2
 
3
3
  Generates Datadog events from matching fluent records.
4
4
 
5
- ## Installation
5
+ ## Installation (from original source)
6
6
 
7
- Add this line to your application's Gemfile:
8
-
9
- ```ruby
10
- gem 'fluent-plugin-datadog_event'
11
7
  ```
12
-
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install fluent-plugin-datadog_event
20
-
21
- (latter path depending upon acceptance)
8
+ $ gem install fluent-plugin-datadog_event
9
+ ```
22
10
 
23
11
  ## Configuration
24
12
 
@@ -27,19 +15,29 @@ Or install it yourself as:
27
15
  ```
28
16
  <match ddevents.info>
29
17
  type datadog_event
18
+
30
19
  # DD api key - mandatory
31
20
  api_key MyApIKey110123kjla7
32
- # all other config parameters are optional
33
- # datadog specific tags associated with event
21
+
22
+ # All other config parameters are optional
23
+
24
+ # Datadog specific tags associated with event
34
25
  tags fluentevent
26
+
35
27
  # alert type: info, warning, error, or success
36
28
  alert_type info
37
- # aggregation key - anything with this unique value will be considered an additional instance of the same event
29
+
30
+ # aggregation key - anything with this unique value # will be considered an additional instance of the # same event
38
31
  aggregation_key "my_aggregation_key"
39
- # Message title
32
+
33
+ # Message title
40
34
  msg_title "My app event"
35
+
41
36
  # Source name - for filtering by event source
42
37
  source_type_name "my_app_named"
38
+
39
+ # Optional (or add it to record["host"])
40
+ host myhost
43
41
  </match>
44
42
  ```
45
43
 
@@ -59,5 +57,13 @@ Tag values can be used for configuration, leading to a config style such as:
59
57
  </match>
60
58
  ```
61
59
 
62
- With the above config, an event tagged as 'ddevents.myapp.info' would be handled at the level of info, with "myapp" as part of the messahe, source_type, and aggregation key - Use of rewrite-tag-names can make this very flexible.
60
+ With the above config, an event tagged as 'ddevents.myapp.info' would be handled at the level of info, with "myapp" as part of the message, source_type, and aggregation key - Use of rewrite-tag-names can make this very flexible.
61
+
62
+
63
+ ## Contributing
63
64
 
65
+ 1. Fork it ( https://github.com/inokappa/fluent-plugin-datadog_event )
66
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
67
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
68
+ 4. Push to the branch (`git push origin my-new-feature`)
69
+ 5. Create a new Pull Request
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.9"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
23
  spec.add_runtime_dependency "dogapi"
24
- spec.add_runtime_dependency "fluentd"
24
+ spec.add_runtime_dependency "fluentd", [">= 0.14.0", "< 2"]
25
25
  spec.add_runtime_dependency "fluent-mixin-rewrite-tag-name"
26
+ spec.add_development_dependency "test-unit"
26
27
  end
@@ -1,7 +1,7 @@
1
1
  module Fluent
2
2
  module Plugin
3
3
  module DatadogEvent
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
6
6
  end
7
7
  end
@@ -1,11 +1,16 @@
1
- module Fluent
2
- class OutDatadogEvent < Fluent::Output
1
+ require 'fluent/plugin/output'
2
+
3
+ module Fluent::Plugin
4
+ class OutDatadogEvent < Output
3
5
  Fluent::Plugin.register_output('datadog_event', self)
4
6
 
5
7
  unless method_defined?(:log)
6
- define_method("log") { $log }
8
+ define_method("log") { $log }
7
9
  end
8
10
 
11
+ helpers :compat_parameters
12
+
13
+ config_param :host, :string, :default => nil
9
14
  config_param :api_key, :string
10
15
  config_param :app_key, :string, :default => nil
11
16
  config_param :msg_title, :string, :default => 'fluentd Datadog Event'
@@ -15,45 +20,55 @@ module Fluent
15
20
  config_param :aggregation_key, :string, :default => nil
16
21
  config_param :source_type_name, :string, :default => 'fluentd'
17
22
 
18
- def initialize
19
- super
20
- #
21
- require "dogapi"
22
- require "date"
23
+ config_section :buffer do
24
+ config_set_default :@type, "memory"
25
+ config_set_default :flush_mode, :immediate
26
+ config_set_default :chunk_keys, ["tag"]
23
27
  end
24
28
 
25
- def start
26
- @dog = Dogapi::Client.new(@api_key, @app_key)
27
- @finished = false
29
+ def configure(conf)
30
+ super
31
+
32
+ compat_parameters_convert(conf, :buffer)
33
+ raise Fluent::ConfigError, "'tag' in chunk_keys is required." if not @chunk_key_tag
28
34
  end
29
35
 
30
- def shutdown
31
- @finished = true
32
- @thread.join
36
+ def initialize
37
+ super
38
+
39
+ require "dogapi"
40
+ require "date"
33
41
  end
34
42
 
35
- def emit(tag, es, chain)
36
- chain.next
37
- es.each do |time,record|
38
- post_event(time, "record", record)
39
- end
43
+ def start
44
+ super
45
+
46
+ @dog = Dogapi::Client.new(@api_key, @app_key)
40
47
  end
41
48
 
42
- def post_event(time, event_key, event_msg)
43
- res = @dog.emit_event(Dogapi::Event.new(
44
- "#{event_msg}",
45
- :msg_title => @msg_title,
46
- :date_happend => time,
47
- :priority => @priority,
48
- # :host => @host,
49
- :tags => @tags,
50
- :alert_type => @alert_type,
51
- :aggregation_key => @aggregation_key,
52
- :source_type_name => @source_type_name
53
- ))
54
- # for debug
55
- #puts "debug_out: #{res}\n"
49
+ def write(chunk)
50
+ chunk.each do |time, record|
51
+ post_event(time, "record", record)
52
+ end
56
53
  end
57
54
 
58
- end
55
+ def post_event(time, event_key, record)
56
+ host = @host
57
+ if !host
58
+ host = record["host"]
59
+ end
60
+
61
+ res = @dog.emit_event(Dogapi::Event.new(
62
+ "#{record}",
63
+ :msg_title => @msg_title,
64
+ :date_happend => time,
65
+ :priority => @priority,
66
+ :host => host,
67
+ :tags => @tags,
68
+ :alert_type => @alert_type,
69
+ :aggregation_key => @aggregation_key,
70
+ :source_type_name => @source_type_name
71
+ ))
72
+ end
73
+ end
59
74
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-datadog_event
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yohei Kawahara(inokappa)
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-21 00:00:00.000000000 Z
11
+ date: 2018-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,20 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.14.0
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '2'
62
65
  type: :runtime
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
69
  - - ">="
67
70
  - !ruby/object:Gem::Version
68
- version: '0'
71
+ version: 0.14.0
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '2'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: fluent-mixin-rewrite-tag-name
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +86,20 @@ dependencies:
80
86
  - - ">="
81
87
  - !ruby/object:Gem::Version
82
88
  version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: test-unit
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
83
103
  description: fluentd plugin for datadog event
84
104
  email:
85
105
  - ''