sensu-plugins-dns 0.0.4 → 0.0.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
  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