fluent-plugin-amqp 0.0.0 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,14 +9,19 @@ module Fluent
9
9
  config_param :pass, :string, :default => "guest"
10
10
  config_param :vhost, :string, :default => "/"
11
11
  config_param :port, :integer, :default => 5672
12
+ config_param :ssl, :bool, :default => false
13
+ config_param :verify_ssl, :bool, :default => false
12
14
  config_param :queue, :string, :default => nil
13
15
  config_param :durable, :bool, :default => false
14
16
  config_param :exclusive, :bool, :default => false
15
17
  config_param :auto_delete, :bool, :default => false
16
18
  config_param :passive, :bool, :default => false
19
+ config_param :payload_format, :string, :default => "json"
17
20
 
18
21
  def initialize
19
22
  require 'bunny'
23
+ require "json" if @payload_format == "json"
24
+
20
25
  super
21
26
  end
22
27
 
@@ -28,7 +33,7 @@ module Fluent
28
33
  raise ConfigError, "'host' and 'queue' must be all specified."
29
34
  end
30
35
  @bunny = Bunny.new(:host => @host, :port => @port, :vhost => @vhost,
31
- :pass => @pass, :user => @user)
36
+ :pass => @pass, :user => @user, :ssl => @ssl, :verify_ssl => @verify_ssl)
32
37
  end
33
38
 
34
39
  def start
@@ -47,10 +52,27 @@ module Fluent
47
52
  q = @bunny.queue(@queue, :passive => @passive, :durable => @durable,
48
53
  :exclusive => @exclusive, :auto_delete => @auto_delete)
49
54
  q.subscribe do |msg|
50
- Engine.emit(@tag, Time.new.to_i, msg[:payload])
55
+ payload = parse_payload(msg)
56
+ Engine.emit(@tag, Time.new.to_i, payload)
51
57
  end
52
58
  end # AMQPInput#run
53
59
 
60
+ private
61
+ def parse_payload(msg)
62
+ ret = { payload: msg[:payload] }
63
+
64
+ begin
65
+ case @payload_format
66
+ when "json"
67
+ ret = JSON.parse(msg[:payload])
68
+ end
69
+ rescue => e
70
+ # should raises a error to ovserver?
71
+ $log.error "parse payload error: #{e}, payload: #{msg[:payload]}"
72
+ end
73
+
74
+ ret
75
+ end
54
76
  end # class AMQPInput
55
77
 
56
78
  end # module Fluent
@@ -7,6 +7,8 @@ module Fluent
7
7
  config_param :pass, :string, :default => "guest"
8
8
  config_param :vhost, :string, :default => "/"
9
9
  config_param :port, :integer, :default => 5672
10
+ config_param :ssl, :bool, :default => false
11
+ config_param :verify_ssl, :bool, :default => false
10
12
  config_param :exchange, :string, :default => ""
11
13
  config_param :exchange_type, :string, :default => "direct"
12
14
  config_param :passive, :bool, :default => false
@@ -27,7 +29,7 @@ module Fluent
27
29
  raise ConfigError, "'host', 'exchange' and 'key' must be all specified."
28
30
  end
29
31
  @bunny = Bunny.new(:host => @host, :port => @port, :vhost => @vhost,
30
- :pass => @pass, :user => @user)
32
+ :pass => @pass, :user => @user, :ssl => @ssl, :verify_ssl => @verify_ssl)
31
33
  end
32
34
 
33
35
  def start
metadata CHANGED
@@ -1,20 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-amqp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Hiromi Ishii
9
+ - Team Giraffi
10
+ - HiganWorks LLC
9
11
  autorequire:
10
12
  bindir: bin
11
13
  cert_chain: []
12
- date: 2011-11-17 00:00:00.000000000 +09:00
13
- default_executable:
14
+ date: 2013-03-30 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: fluentd
17
- requirement: &2153401780 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
18
19
  none: false
19
20
  requirements:
20
21
  - - ! '>='
@@ -22,10 +23,15 @@ dependencies:
22
23
  version: 0.10.5
23
24
  type: :runtime
24
25
  prerelease: false
25
- version_requirements: *2153401780
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: 0.10.5
26
32
  - !ruby/object:Gem::Dependency
27
33
  name: bunny
28
- requirement: &2153535480 !ruby/object:Gem::Requirement
34
+ requirement: !ruby/object:Gem::Requirement
29
35
  none: false
30
36
  requirements:
31
37
  - - ! '>='
@@ -33,10 +39,15 @@ dependencies:
33
39
  version: 0.7.8
34
40
  type: :runtime
35
41
  prerelease: false
36
- version_requirements: *2153535480
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.7.8
37
48
  - !ruby/object:Gem::Dependency
38
49
  name: shoulda
39
- requirement: &2156188460 !ruby/object:Gem::Requirement
50
+ requirement: !ruby/object:Gem::Requirement
40
51
  none: false
41
52
  requirements:
42
53
  - - ! '>='
@@ -44,10 +55,15 @@ dependencies:
44
55
  version: '0'
45
56
  type: :development
46
57
  prerelease: false
47
- version_requirements: *2156188460
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
48
64
  - !ruby/object:Gem::Dependency
49
65
  name: bundler
50
- requirement: &2156183420 !ruby/object:Gem::Requirement
66
+ requirement: !ruby/object:Gem::Requirement
51
67
  none: false
52
68
  requirements:
53
69
  - - ~>
@@ -55,10 +71,15 @@ dependencies:
55
71
  version: 1.0.0
56
72
  type: :development
57
73
  prerelease: false
58
- version_requirements: *2156183420
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 1.0.0
59
80
  - !ruby/object:Gem::Dependency
60
81
  name: jeweler
61
- requirement: &2156174740 !ruby/object:Gem::Requirement
82
+ requirement: !ruby/object:Gem::Requirement
62
83
  none: false
63
84
  requirements:
64
85
  - - ~>
@@ -66,10 +87,15 @@ dependencies:
66
87
  version: 1.6.4
67
88
  type: :development
68
89
  prerelease: false
69
- version_requirements: *2156174740
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 1.6.4
70
96
  - !ruby/object:Gem::Dependency
71
97
  name: rcov
72
- requirement: &2156171660 !ruby/object:Gem::Requirement
98
+ requirement: !ruby/object:Gem::Requirement
73
99
  none: false
74
100
  requirements:
75
101
  - - ! '>='
@@ -77,9 +103,14 @@ dependencies:
77
103
  version: '0'
78
104
  type: :development
79
105
  prerelease: false
80
- version_requirements: *2156171660
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
81
112
  description: AMQP input/output plugin for fluentd
82
- email: konn.jinro@gmail.com
113
+ email: sawanoboriyu@higanworks.com
83
114
  executables: []
84
115
  extensions: []
85
116
  extra_rdoc_files:
@@ -90,8 +121,7 @@ files:
90
121
  - lib/fluent/plugin/out_amqp.rb
91
122
  - LICENSE.txt
92
123
  - README.rdoc
93
- has_rdoc: true
94
- homepage: http://github.com/konn/fluent-plugin-amqp
124
+ homepage: http://github.com/giraffi/fluent-plugin-amqp
95
125
  licenses:
96
126
  - Apache License, Version 2.0
97
127
  post_install_message:
@@ -106,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
136
  version: '0'
107
137
  segments:
108
138
  - 0
109
- hash: -1188625224371297305
139
+ hash: -2560613937427210027
110
140
  required_rubygems_version: !ruby/object:Gem::Requirement
111
141
  none: false
112
142
  requirements:
@@ -115,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
145
  version: '0'
116
146
  requirements: []
117
147
  rubyforge_project:
118
- rubygems_version: 1.6.2
148
+ rubygems_version: 1.8.25
119
149
  signing_key:
120
150
  specification_version: 3
121
151
  summary: AMQP input/output plugin or fluentd