sensu-plugins-dns 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b30fcfd590eda2db0230e4c3cbfe1b09594e72b
4
- data.tar.gz: 05d7fb21d948158b69e17354f85c5e129f50f69d
3
+ metadata.gz: 5a4f70c957d58fd9f463eac67941440890085d1d
4
+ data.tar.gz: 90e0d993d521ea0d095071d576c3c99396e61f2e
5
5
  SHA512:
6
- metadata.gz: 774167dba3ef735cbf515b7e4494a8c26ee85239db96bbc3d2f8b8a93cfd4430ffcd5d483e31fb8c3b83fed8f427b9b255dccd6af57bfc270bb7cac6ec4f9be6
7
- data.tar.gz: eedd94062a89bf238d5a79750776afa66a7d0b577e0317e3d63d58b20b181a853b349acc5dfa7534f82ca16c031f01d8dabf96d965dff8ecf633cb1f75b3b69b
6
+ metadata.gz: 3e17fe0db5ceb9b57ae1371762061b1c1f225f7940bafb82e1534257707a80ad2221d9e166297c6bd600e942e4f325d7008376f5f65c8aab6501006f11f93b0d
7
+ data.tar.gz: 081ad7275643bfbefa648703f475360f6daf4740e878dd599116c08e6a218272cb6ebbc3b43096802f2b52fb9b859ad4eb8994491daae1d38d2348f5135f7d2e
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -3,7 +3,16 @@ This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
4
  This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
5
5
 
6
- ## Unreleased][unreleased]
6
+ ## [Unreleased][unreleased]
7
+ - nothing
8
+
9
+ ## [0.0.5] - 2015-08-05
10
+ ### Removed
11
+ - PTR lookups no longer end with a dot '.'
12
+
13
+ ### Changed
14
+ - Removed need for dig and replace with ruby resolv
15
+ - general gem cleanup
7
16
 
8
17
  ## [0.0.4] - 2015-07-14
9
18
  ### Changed
@@ -15,4 +24,4 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
15
24
  - added binstubs
16
25
 
17
26
  ### Changed
18
- - removed cruft from /lib
27
+ - removed cruft from /lib
data/README.md CHANGED
@@ -16,6 +16,6 @@
16
16
 
17
17
  ## Installation
18
18
 
19
- [Installation and Setup](https://github.com/sensu-plugins/documentation/blob/master/user_docs/installation_instructions.md)
19
+ [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
20
20
 
21
21
  ## Notes
data/bin/check-dns.rb CHANGED
@@ -3,9 +3,9 @@
3
3
  # check-dns
4
4
  #
5
5
  # DESCRIPTION:
6
- # This plugin checks DNS resolution using `dig`.
6
+ # This plugin checks DNS resolution using ruby `resolv`.
7
7
  # Note: if testing reverse DNS with -t PTR option,
8
- # results will end with trailing '.' (dot)
8
+ # results will not end with trailing '.' (dot)
9
9
  #
10
10
  # OUTPUT:
11
11
  # plain text
@@ -29,6 +29,7 @@
29
29
  #
30
30
 
31
31
  require 'sensu-plugin/check/cli'
32
+ require 'resolv'
32
33
 
33
34
  #
34
35
  # DNS
@@ -66,44 +67,33 @@ class DNS < Sensu::Plugin::Check::CLI
66
67
  long: '--debug',
67
68
  boolean: true
68
69
 
69
- def resolve_domain # rubocop:disable all
70
+ def resolve_domain
71
+ resolv = config[:server].nil? ? Resolv::DNS.new : Resolv::DNS.new(nameserver: [config[:server]])
70
72
  if config[:type] == 'PTR'
71
- cmd = "dig #{config[:server] ? "@#{config[:server]}" : ''} -x #{config[:domain]} +short +time=1"
73
+ entries = resolv.getnames(config[:domain]).map(&:to_s)
72
74
  else
73
- cmd = "dig #{config[:server] ? "@#{config[:server]}" : ''} #{config[:domain]} #{config[:type]} +short +time=1"
75
+ entries = resolv.getaddresses(config[:domain]).map(&:to_s)
74
76
  end
75
- puts cmd if config[:debug]
76
- output = `#{cmd}`
77
- puts output if config[:debug]
78
- # Trim, split, remove comments and empty lines
79
- entries = output.strip.split("\n").reject { |l| l.match('^;') || l.match('^$') }
80
77
  puts "Entries: #{entries}" if config[:debug]
78
+
81
79
  entries
82
80
  end
83
81
 
84
- def run # rubocop:disable all
85
- if config[:domain].nil?
86
- unknown 'No domain specified'
87
- else
88
- entries = resolve_domain
89
- if entries.length.zero?
90
- if config[:warn_only]
91
- warning "Could not resolve #{config[:domain]}"
92
- else
93
- critical "Could not resolve #{config[:domain]}"
94
- end
82
+ def run
83
+ unknown 'No domain specified' if config[:domain].nil?
84
+
85
+ entries = resolve_domain
86
+ if entries.length.zero?
87
+ output = "Could not resolve #{config[:domain]}"
88
+ config[:warn_only] ? warning(output) : critical(output)
89
+ elsif config[:result]
90
+ if entries.include?(config[:result])
91
+ ok "Resolved #{config[:domain]} including #{config[:result]}"
95
92
  else
96
- if config[:result]
97
- # #YELLOW
98
- if entries.include?(config[:result]) # rubocop:disable BlockNesting
99
- ok "Resolved #{config[:domain]} including #{config[:result]}"
100
- else
101
- critical "Resolved #{config[:domain]} did not include #{config[:result]}"
102
- end
103
- else
104
- ok "Resolved #{config[:domain]} #{config[:type]} records"
105
- end
93
+ critical "Resolved #{config[:domain]} did not include #{config[:result]}"
106
94
  end
95
+ else
96
+ ok "Resolved #{config[:domain]} #{config[:type]} records"
107
97
  end
108
98
  end
109
99
  end
@@ -2,7 +2,7 @@ module SensuPluginsDNS
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- PATCH = 4
5
+ PATCH = 5
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-dns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu Plugins and contributors
@@ -30,7 +30,7 @@ cert_chain:
30
30
  8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
31
  HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
32
  -----END CERTIFICATE-----
33
- date: 2015-07-14 00:00:00.000000000 Z
33
+ date: 2015-08-05 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: sensu-plugin
@@ -47,61 +47,61 @@ dependencies:
47
47
  - !ruby/object:Gem::Version
48
48
  version: 1.2.0
49
49
  - !ruby/object:Gem::Dependency
50
- name: codeclimate-test-reporter
50
+ name: bundler
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0.4'
55
+ version: '1.7'
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.4'
62
+ version: '1.7'
63
63
  - !ruby/object:Gem::Dependency
64
- name: rubocop
64
+ name: codeclimate-test-reporter
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '='
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.30'
69
+ version: '0.4'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '='
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.30'
76
+ version: '0.4'
77
77
  - !ruby/object:Gem::Dependency
78
- name: rspec
78
+ name: github-markup
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '3.1'
83
+ version: '1.3'
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '3.1'
90
+ version: '1.3'
91
91
  - !ruby/object:Gem::Dependency
92
- name: bundler
92
+ name: pry
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '1.7'
97
+ version: '0.10'
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '1.7'
104
+ version: '0.10'
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rake
107
107
  requirement: !ruby/object:Gem::Requirement
@@ -117,62 +117,64 @@ dependencies:
117
117
  - !ruby/object:Gem::Version
118
118
  version: '10.0'
119
119
  - !ruby/object:Gem::Dependency
120
- name: github-markup
120
+ name: redcarpet
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '1.3'
125
+ version: '3.2'
126
126
  type: :development
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '1.3'
132
+ version: '3.2'
133
133
  - !ruby/object:Gem::Dependency
134
- name: redcarpet
134
+ name: rspec
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '3.2'
139
+ version: '3.1'
140
140
  type: :development
141
141
  prerelease: false
142
142
  version_requirements: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: '3.2'
146
+ version: '3.1'
147
147
  - !ruby/object:Gem::Dependency
148
- name: yard
148
+ name: rubocop
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - "~>"
151
+ - - '='
152
152
  - !ruby/object:Gem::Version
153
- version: '0.8'
153
+ version: 0.32.1
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - "~>"
158
+ - - '='
159
159
  - !ruby/object:Gem::Version
160
- version: '0.8'
160
+ version: 0.32.1
161
161
  - !ruby/object:Gem::Dependency
162
- name: pry
162
+ name: yard
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: '0.10'
167
+ version: '0.8'
168
168
  type: :development
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: '0.10'
175
- description: Sensu plugins for dns
174
+ version: '0.8'
175
+ description: |-
176
+ This plugin provides native DNS instrumentation
177
+ for monitoring, including: record resolution
176
178
  email: "<sensu-users@googlegroups.com>"
177
179
  executables:
178
180
  - check-dns.rb
@@ -211,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
213
  version: '0'
212
214
  requirements: []
213
215
  rubyforge_project:
214
- rubygems_version: 2.4.6
216
+ rubygems_version: 2.4.8
215
217
  signing_key:
216
218
  specification_version: 4
217
219
  summary: Sensu plugins for dns
metadata.gz.sig CHANGED
Binary file