send_nsca 0.4.9
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +17 -0
- data/Rakefile +50 -0
- data/lib/send_nsca/send_nsca.rb +149 -0
- data/lib/send_nsca.rb +3 -0
- data/lib/tasks/nagios.rake +64 -0
- data/spec/send_nsca_spec.rb +66 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +9 -0
- metadata +84 -0
data/README.rdoc
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
key_a[key_index]= send_nsca
|
2
|
+
|
3
|
+
Description goes here.
|
4
|
+
|
5
|
+
== Note on Patches/Pull Requests
|
6
|
+
|
7
|
+
* Fork the project.
|
8
|
+
* Make your feature addition or bug fix.
|
9
|
+
* Add tests for it. This is important so I don't break it in a
|
10
|
+
future version unintentionally.
|
11
|
+
* Commit, do not mess with rakefile, version, or history.
|
12
|
+
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
13
|
+
* Send me a pull request. Bonus points for topic branches.
|
14
|
+
|
15
|
+
== Copyright
|
16
|
+
|
17
|
+
Copyright (c) 2010 kevinzen. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "send_nsca"
|
8
|
+
gem.summary = %Q{A pure ruby implementation of the send_nsca program for sending passive alerts to Nagios through NSCA.}
|
9
|
+
gem.description = %Q{A pure ruby implementation of the send_nsca program for sending passive alerts to Nagios through NSCA.}
|
10
|
+
gem.email = "kbedell@backchannelmedia.com"
|
11
|
+
gem.homepage = "http://github.com/kevinzen/send_nsca"
|
12
|
+
gem.authors = ["kevinzen"]
|
13
|
+
gem.add_development_dependency "rspec", ">= 1.2.9"
|
14
|
+
gem.require_path = "lib"
|
15
|
+
gem.files = %w(History.txt install.rb MIT-LICENSE.txt README.rdoc Rakefile) + Dir["lib/**/*"] + Dir["spec/**/*"]
|
16
|
+
gem.test_files = Dir["spec/**/*"]
|
17
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
18
|
+
end
|
19
|
+
Jeweler::GemcutterTasks.new
|
20
|
+
rescue LoadError
|
21
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
require 'spec/rake/spectask'
|
27
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
28
|
+
spec.libs << 'lib' << 'spec'
|
29
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
30
|
+
end
|
31
|
+
|
32
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
33
|
+
spec.libs << 'lib' << 'spec'
|
34
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
35
|
+
spec.rcov = true
|
36
|
+
end
|
37
|
+
|
38
|
+
task :spec => :check_dependencies
|
39
|
+
|
40
|
+
task :default => :spec
|
41
|
+
|
42
|
+
require 'rake/rdoctask'
|
43
|
+
Rake::RDocTask.new do |rdoc|
|
44
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
45
|
+
|
46
|
+
rdoc.rdoc_dir = 'rdoc'
|
47
|
+
rdoc.title = "send_nsca #{version}"
|
48
|
+
rdoc.rdoc_files.include('README*')
|
49
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
50
|
+
end
|
@@ -0,0 +1,149 @@
|
|
1
|
+
module SendNsca
|
2
|
+
|
3
|
+
class NscaConnection
|
4
|
+
|
5
|
+
require 'socket' # Sockets are in standard library
|
6
|
+
|
7
|
+
# todo: replace timeout with a better method of handling communication timeouts.
|
8
|
+
require 'timeout'
|
9
|
+
|
10
|
+
# params for connecting to the nsca/nagios server
|
11
|
+
attr_accessor :nscahost
|
12
|
+
attr_accessor :port
|
13
|
+
|
14
|
+
# connection status and error if one found
|
15
|
+
attr_reader :connected
|
16
|
+
attr_reader :error
|
17
|
+
|
18
|
+
# read from the nsca/nagios server
|
19
|
+
attr_accessor :xor_key_and_timestamp
|
20
|
+
|
21
|
+
# converted from :xor_key_and_timestamp
|
22
|
+
attr_accessor :xor_key_and_timestamp_str
|
23
|
+
attr_accessor :xor_key_string
|
24
|
+
attr_accessor :xor_key
|
25
|
+
attr_accessor :timestring
|
26
|
+
attr_accessor :timestamp_hex
|
27
|
+
attr_accessor :timestamp
|
28
|
+
|
29
|
+
# status data to send to nagios
|
30
|
+
# Currently all 4 are required, meaning we only support 'service' passive checkins.
|
31
|
+
# todo: add host checkins
|
32
|
+
attr_accessor :hostname
|
33
|
+
attr_accessor :service
|
34
|
+
attr_accessor :return_code
|
35
|
+
attr_accessor :status
|
36
|
+
|
37
|
+
# for sending to nsca
|
38
|
+
attr_accessor :crc
|
39
|
+
PACKET_VERSION = 3
|
40
|
+
PACK_STRING = "nxx N a4 n a64 a128 a512xx"
|
41
|
+
|
42
|
+
CRC_TABLE = [ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d]
|
43
|
+
|
44
|
+
def initialize(args)
|
45
|
+
|
46
|
+
# connecting to nagios
|
47
|
+
@nscahost = args[:nscahost]
|
48
|
+
@port = args[:port]
|
49
|
+
@hostname = args[:hostname]
|
50
|
+
@service = args[:service]
|
51
|
+
@return_code = args[:return_code]
|
52
|
+
@status = args[:status]
|
53
|
+
@connected = false
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
def connect_and_get_keys
|
58
|
+
begin
|
59
|
+
timeout(1) do #the server has one second to answer
|
60
|
+
@tcp_client = TCPSocket.open(@nscahost, @port)
|
61
|
+
@connected = true
|
62
|
+
@xor_key_and_timestamp = @tcp_client.recv(132)
|
63
|
+
end
|
64
|
+
rescue
|
65
|
+
@connected = false
|
66
|
+
@error = "send_ncsa - error connecting to nsca/nagios: #{$!}"
|
67
|
+
puts @error
|
68
|
+
raise # re-raise same exception
|
69
|
+
end
|
70
|
+
timestamp_for_logging
|
71
|
+
end
|
72
|
+
|
73
|
+
def convert_timestamp
|
74
|
+
# convert timestamp for use in comm to nagios
|
75
|
+
@timestring = @xor_key_and_timestamp[@xor_key_and_timestamp.length-4,@xor_key_and_timestamp.length]
|
76
|
+
end
|
77
|
+
|
78
|
+
def timestamp_for_logging
|
79
|
+
# convert timestamp in a format we can log
|
80
|
+
@xor_key_and_timestamp_str = @xor_key_and_timestamp.unpack("H*")
|
81
|
+
@timestring_for_log = @xor_key_and_timestamp_str[0][256,8]
|
82
|
+
@timestamp_hex = @timestring_for_log.hex
|
83
|
+
@timestamp = Time.at(@timestamp_hex)
|
84
|
+
end
|
85
|
+
|
86
|
+
def convert_xor_key
|
87
|
+
# strip off the last 4 characters which are the timestamp
|
88
|
+
@xor_key = @xor_key_and_timestamp[0,@xor_key_and_timestamp.length-4]
|
89
|
+
end
|
90
|
+
|
91
|
+
def intialize_nsca_connection
|
92
|
+
connect_and_get_keys
|
93
|
+
convert_timestamp
|
94
|
+
convert_xor_key
|
95
|
+
end
|
96
|
+
|
97
|
+
def send_nsca
|
98
|
+
intialize_nsca_connection
|
99
|
+
@crc = 0
|
100
|
+
nsca_params = [PACKET_VERSION, @crc, @timestring, @return_code, @hostname, @service, @status ]
|
101
|
+
string_to_send_without_crc = nsca_params.pack(PACK_STRING)
|
102
|
+
|
103
|
+
@crc = SendNsca::NscaConnection.crc32(string_to_send_without_crc)
|
104
|
+
nsca_params = [PACKET_VERSION, @crc, @timestring, @return_code, @hostname, @service, @status ]
|
105
|
+
string_to_send_with_crc = nsca_params.pack(PACK_STRING)
|
106
|
+
|
107
|
+
# puts("DEBUG: PACKET_VERSION = #{PACKET_VERSION},\n @crc = #{@crc},\n @timestring = #{@timestring},\n @timestamp_hex = #{Time.at(timestamp_hex)},\n @return_code #{@return_code},\n @hostname = #{@hostname},\n @service = #{@service},\n @status = #{@status}\n")
|
108
|
+
# puts "string_to_send_with_crc = #{string_to_send_with_crc.length}"
|
109
|
+
# puts "string_to_send_with_crc = #{string_to_send_with_crc.unpack('H*')}"
|
110
|
+
|
111
|
+
encrypted_string_to_send = SendNsca::NscaConnection.xor(@xor_key, string_to_send_with_crc)
|
112
|
+
# puts "encrypted_string_to_send = #{encrypted_string_to_send.length}"
|
113
|
+
# puts "encrypted_string_to_send = #{encrypted_string_to_send.unpack('H*')}"
|
114
|
+
|
115
|
+
@tcp_client.send(encrypted_string_to_send, 0)
|
116
|
+
@tcp_client.close
|
117
|
+
end
|
118
|
+
|
119
|
+
def self.crc32(c)
|
120
|
+
r = 0xFFFFFFFF
|
121
|
+
c.each_byte do |b|
|
122
|
+
r ^= b
|
123
|
+
8.times do
|
124
|
+
r = (r>>1) ^ (0xEDB88320 * (r & 1))
|
125
|
+
end
|
126
|
+
end
|
127
|
+
r ^ 0xFFFFFFFF
|
128
|
+
end
|
129
|
+
|
130
|
+
def self.xor(xor_key, str)
|
131
|
+
|
132
|
+
str_a = str.unpack("C*")
|
133
|
+
key_a = xor_key.unpack("C*")
|
134
|
+
|
135
|
+
result = []
|
136
|
+
key_index = 0
|
137
|
+
str_index = 0
|
138
|
+
str_a.each do |c|
|
139
|
+
result[str_index] = str_a[str_index] ^ key_a[key_index]
|
140
|
+
str_index += 1
|
141
|
+
key_index = key_index == xor_key.length-1 ? 0 : key_index += 1
|
142
|
+
end
|
143
|
+
ret_val = result.pack("C*")
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
end
|
149
|
+
|
data/lib/send_nsca.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
namespace :nagios do
|
2
|
+
desc <<-DESC
|
3
|
+
Sends summary emails to those users who have requested they get a summary email of their clicks periodically. By default, this is everyone.
|
4
|
+
DESC
|
5
|
+
task :send_ok => [:environment] do
|
6
|
+
# make sure the params were passed correctly
|
7
|
+
if ENV['nag_host'].nil? || ENV['monitored_host'].nil? || ENV['service'].nil? || ENV['msg'].nil?
|
8
|
+
puts "Must pass params like this: rake nagios:send_ok nag_host=hostname monitored_host=this_hostname service=\"service-name\" msg=\"here's the message for the alert\""
|
9
|
+
else
|
10
|
+
args = {
|
11
|
+
:nscahost => ENV['nag_host'],
|
12
|
+
:port => 5667,
|
13
|
+
:hostname => ENV['nag_host'],
|
14
|
+
:service => ENV['service'],
|
15
|
+
:return_code => 0,
|
16
|
+
:status => ENV['service']
|
17
|
+
}
|
18
|
+
nsca_connection = SendNsca::NscaConnection.new(args)
|
19
|
+
nsca_connection.send_nsca
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
desc <<-DESC
|
24
|
+
Resets all accounts that are set up to receie weekly or daily summaries so that the next time the summaries job is run they receive their summary email
|
25
|
+
DESC
|
26
|
+
task :send_warning => [:environment] do
|
27
|
+
# make sure the params were passed correctly
|
28
|
+
if ENV['nag_host'].nil? || ENV['monitored_host'].nil? || ENV['service'].nil? || ENV['msg'].nil?
|
29
|
+
puts "Must pass params like this: rake nagios:send_ok nag_host=hostname monitored_host=this_hostname service=\"service-name\" msg=\"here's the message for the alert\""
|
30
|
+
else
|
31
|
+
args = {
|
32
|
+
:nscahost => ENV['nag_host'],
|
33
|
+
:port => 5667,
|
34
|
+
:hostname => ENV['nag_host'],
|
35
|
+
:service => ENV['service'],
|
36
|
+
:return_code => 1,
|
37
|
+
:status => ENV['service']
|
38
|
+
}
|
39
|
+
nsca_connection = SendNsca::NscaConnection.new(args)
|
40
|
+
nsca_connection.send_nsca
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
desc <<-DESC
|
45
|
+
Resets a single account so that it will receive a summary email the next time the job is run. Pass account by email like this: rake email:reset_by_email email=account@email.com
|
46
|
+
DESC
|
47
|
+
task :send_critical => [:environment] do
|
48
|
+
# make sure the params were passed correctly
|
49
|
+
if ENV['nag_host'].nil? || ENV['monitored_host'].nil? || ENV['service'].nil? || ENV['msg'].nil?
|
50
|
+
puts "Must pass params like this: rake nagios:send_ok nag_host=hostname monitored_host=this_hostname service=\"service-name\" msg=\"here's the message for the alert\""
|
51
|
+
else
|
52
|
+
args = {
|
53
|
+
:nscahost => ENV['nag_host'],
|
54
|
+
:port => 5667,
|
55
|
+
:hostname => ENV['nag_host'],
|
56
|
+
:service => ENV['service'],
|
57
|
+
:return_code => 2,
|
58
|
+
:status => ENV['service']
|
59
|
+
}
|
60
|
+
nsca_connection = SendNsca::NscaConnection.new(args)
|
61
|
+
nsca_connection.send_nsca
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
include SendNsca
|
4
|
+
|
5
|
+
describe "SendNsca" do
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
# do something here if needed
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should create a valid crc" do
|
12
|
+
|
13
|
+
# Hello crc = 4157704578
|
14
|
+
hello = "Hello"
|
15
|
+
crc_hello = SendNsca::NscaConnection.crc32(hello)
|
16
|
+
crc_hello.should eql 4157704578
|
17
|
+
|
18
|
+
# world! crc = 2459426729
|
19
|
+
world = " world!"
|
20
|
+
hello_world_1 = SendNsca::NscaConnection.crc32(world)
|
21
|
+
hello_world_1.should eql 2459426729
|
22
|
+
|
23
|
+
# Hello World crc = 1243066710
|
24
|
+
hello_world = "Hello World"
|
25
|
+
hello_world_2 = SendNsca::NscaConnection.crc32(hello_world)
|
26
|
+
hello_world_2.should eql 1243066710
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should perform valid xor encryption that can be deencrypted" do
|
30
|
+
|
31
|
+
xor_key = "\377\376\375"
|
32
|
+
str = "Hello!"
|
33
|
+
encrypted_str = SendNsca::NscaConnection.xor(xor_key,str)
|
34
|
+
deencrypted_str = SendNsca::NscaConnection.xor(xor_key,encrypted_str)
|
35
|
+
deencrypted_str.should eql str
|
36
|
+
|
37
|
+
xor_key = "adsfkahudsflihasdflkahdsfoaiudfh-3284rqiuy8rtq49087ty 2-\123\666\001\004\377"
|
38
|
+
str = "Hey There This is awesome!!!\000!"
|
39
|
+
encrypted_str = SendNsca::NscaConnection.xor(xor_key,str)
|
40
|
+
deencrypted_str = SendNsca::NscaConnection.xor(xor_key,encrypted_str)
|
41
|
+
deencrypted_str.should eql str
|
42
|
+
|
43
|
+
str = "\000\000\000\000\111\222\333\123\321"
|
44
|
+
encrypted_str = SendNsca::NscaConnection.xor(xor_key,str)
|
45
|
+
deencrypted_str = SendNsca::NscaConnection.xor(xor_key,encrypted_str)
|
46
|
+
deencrypted_str.should eql str
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should correctly send a message to the server" do
|
50
|
+
|
51
|
+
args = {
|
52
|
+
:nscahost => "192.168.1.216",
|
53
|
+
:port => 5667,
|
54
|
+
:hostname => "kbedell",
|
55
|
+
:service => "passive-checkin-test01" ,
|
56
|
+
:return_code => 0,
|
57
|
+
:status => "TEST"
|
58
|
+
}
|
59
|
+
nsca_connection = SendNsca::NscaConnection.new(args)
|
60
|
+
|
61
|
+
nsca_connection.send_nsca
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: send_nsca
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 4
|
8
|
+
- 9
|
9
|
+
version: 0.4.9
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- kevinzen
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-07-19 00:00:00 -04:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rspec
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 2
|
30
|
+
- 9
|
31
|
+
version: 1.2.9
|
32
|
+
type: :development
|
33
|
+
version_requirements: *id001
|
34
|
+
description: A pure ruby implementation of the send_nsca program for sending passive alerts to Nagios through NSCA.
|
35
|
+
email: kbedell@backchannelmedia.com
|
36
|
+
executables: []
|
37
|
+
|
38
|
+
extensions: []
|
39
|
+
|
40
|
+
extra_rdoc_files:
|
41
|
+
- README.rdoc
|
42
|
+
files:
|
43
|
+
- README.rdoc
|
44
|
+
- Rakefile
|
45
|
+
- lib/send_nsca.rb
|
46
|
+
- lib/send_nsca/send_nsca.rb
|
47
|
+
- lib/tasks/nagios.rake
|
48
|
+
- spec/send_nsca_spec.rb
|
49
|
+
- spec/spec.opts
|
50
|
+
- spec/spec_helper.rb
|
51
|
+
has_rdoc: true
|
52
|
+
homepage: http://github.com/kevinzen/send_nsca
|
53
|
+
licenses: []
|
54
|
+
|
55
|
+
post_install_message:
|
56
|
+
rdoc_options:
|
57
|
+
- --charset=UTF-8
|
58
|
+
require_paths:
|
59
|
+
- lib
|
60
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
segments:
|
65
|
+
- 0
|
66
|
+
version: "0"
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
segments:
|
72
|
+
- 0
|
73
|
+
version: "0"
|
74
|
+
requirements: []
|
75
|
+
|
76
|
+
rubyforge_project:
|
77
|
+
rubygems_version: 1.3.6
|
78
|
+
signing_key:
|
79
|
+
specification_version: 3
|
80
|
+
summary: A pure ruby implementation of the send_nsca program for sending passive alerts to Nagios through NSCA.
|
81
|
+
test_files:
|
82
|
+
- spec/send_nsca_spec.rb
|
83
|
+
- spec/spec.opts
|
84
|
+
- spec/spec_helper.rb
|