sensu-plugins-influxdb 0.0.3 → 0.0.4

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: c34815c5ae074a9140d8cebdbc1da470af0763f8
4
- data.tar.gz: 7278b713d7b5fa40676b79a2057c9f1b97d58745
3
+ metadata.gz: ec209e3360b44cc83697818a5c19d93ed8466fa5
4
+ data.tar.gz: aa0a0f10accf7e58c5aeda689b43494e0abe40d6
5
5
  SHA512:
6
- metadata.gz: 4413b04c6d8770e9b8558b0c4c189c75591631134236008991c4f8637c084a4dcb78dca384808084127b1fb31dda0162e754338e4d0a5be34db5c7cd0909bf33
7
- data.tar.gz: b2d10c21232526a7210a2859e977b6ec1eb6e2bd8b87ceca1e5f318ebd17174580312e2584b93c0bc6af66d94aef83ebaee1c436dc3476f530125a9f5749db3d
6
+ metadata.gz: b227625ca89bb05eb8e7ebd8a0260f38b67e6df94d49a55587edc6bdf4b8c588d36d1d66c21135d94d5c3e420dcad85bd5b8131eb8ea4417cf627efed326f13c
7
+ data.tar.gz: e9d54190bd57e31deb5fbaa998be0978e55f55ed16cced478ba5e2a0c22feba9ebacff427efe615c35f35115e5ca877f44a2d1e2afc1a2e7576432243f99ee69
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -3,7 +3,15 @@ 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
7
+ - nothing
8
+
9
+ ### [0.0.3] - 2015-08-10
10
+ - updated metrics-influxdb.rb to symbolize keys for InfluxDB::Client
11
+ - updated influxdb gem to 0.2.2
12
+ - updated metrics-influxdb.rb to support influxdb 0.9.x
13
+ - updated check-influxdb.rb and check-influxdb-query.rb to support influxdb 0.9.x
14
+ - updated README.md file
7
15
 
8
16
  ## [0.0.3] - 2015-07-14
9
17
  ### Changed
@@ -20,4 +28,4 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
20
28
  - added binstubs
21
29
 
22
30
  ### Changed
23
- - removed cruft from /lib
31
+ - removed cruft from /lib
data/README.md CHANGED
@@ -19,17 +19,31 @@
19
19
  ```
20
20
  {
21
21
  "influxdb" : {
22
- "server" : "influxdb.familyguy.com",
23
- "port" : "8086",
24
- "username" : "root",
25
- "password" : "root",
26
- "database" : "stats"
22
+ "hosts" : ["influxdb.familyguy.com", ],
23
+ "host" : "influxdb.familyguy.com",
24
+ "port" : "8086",
25
+ "username" : "root",
26
+ "password" : "root",
27
+ "database" : "stats"
28
+ # OPTIONAL
29
+ "time_precision" : "s",
30
+ "use_ssl : false,
31
+ "verify_ssl : true,
32
+ "ssl_ca_cert : false,
33
+ "auth_method : "params",
34
+ "initial_delay : 0.01,
35
+ "max_delay : 30,
36
+ "open_timeout : 5,
37
+ "read_timeout : 300,
38
+ "retry : nil,
39
+ "prefix : '',
40
+ "denormalize : true
27
41
  }
28
42
  }
29
43
  ```
30
44
 
31
45
  ## Installation
32
46
 
33
- [Installation and Setup](https://github.com/sensu-plugins/documentation/blob/master/user_docs/installation_instructions.md)
47
+ [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
34
48
 
35
49
  ## Notes
@@ -76,7 +76,7 @@ class CheckInfluxdbQuery < Sensu::Plugin::Check::CLI
76
76
  short: '-q QUERY',
77
77
  long: '--query QUERY',
78
78
  required: true,
79
- description: 'Query to run. See http://influxdb.com/docs/v0.8/api/query_language.html'
79
+ description: 'Query to run. See https://influxdb.com/docs/v0.9/query_language/query_syntax.html'
80
80
 
81
81
  option :alias,
82
82
  short: '-a ALIAS',
@@ -126,7 +126,7 @@ class CheckInfluxdbQuery < Sensu::Plugin::Check::CLI
126
126
  # proc: proc { puts "Version #{VERSION}" },
127
127
  # exit: 0
128
128
 
129
- def run # rubocop:disable all
129
+ def run
130
130
  influxdb = InfluxDB::Client.new config[:database],
131
131
  host: config[:host],
132
132
  port: config[:port],
@@ -57,7 +57,7 @@ class CheckInfluxDB < Sensu::Plugin::Check::CLI
57
57
  default: false
58
58
 
59
59
  option :timeout,
60
- description: 'Seconds to wait for the connection to open or read (default: 1.0s)',
60
+ description: 'Seconds to wait for the connection to open or read (default: 1.0s)',
61
61
  short: '-t SECONDS',
62
62
  long: '--timeout SECONDS',
63
63
  proc: proc(&:to_f),
@@ -69,11 +69,12 @@ class CheckInfluxDB < Sensu::Plugin::Check::CLI
69
69
  http.read_timeout = config[:timeout]
70
70
  http.use_ssl = config[:ssl]
71
71
  http.start do
72
- status = JSON.parse(http.get('/ping').body)
73
- if status == { 'status' => 'ok' }
74
- ok status.to_s
72
+ response = http.get('/ping')
73
+ status_line = "#{response.code} #{response.message}"
74
+ if response.is_a?(Net::HTTPSuccess)
75
+ ok status_line
75
76
  else
76
- critical status.to_s
77
+ critical status_line
77
78
  end
78
79
  end
79
80
  rescue => e
@@ -26,6 +26,7 @@
26
26
  #
27
27
 
28
28
  require 'sensu-handler'
29
+ gem 'influxdb', '>=0.2.0'
29
30
  require 'influxdb'
30
31
 
31
32
  #
@@ -35,28 +36,34 @@ class SensuToInfluxDB < Sensu::Handler
35
36
  def filter; end
36
37
 
37
38
  def handle
38
- influxdb_server = settings['influxdb']['server']
39
- influxdb_port = settings['influxdb']['port']
40
- influxdb_user = settings['influxdb']['username']
41
- influxdb_pass = settings['influxdb']['password']
42
- influxdb_db = settings['influxdb']['database']
43
-
44
- influxdb_data = InfluxDB::Client.new influxdb_db, host: influxdb_server,
45
- username: influxdb_user,
46
- password: influxdb_pass,
47
- port: influxdb_port,
48
- server: influxdb_server
49
- mydata = []
50
- @event['check']['output'].each do |metric|
39
+ opts = settings['influxdb'].each_with_object({}) do |(k, v), sym|
40
+ sym[k.to_sym] = v
41
+ end
42
+
43
+ database = opts[:database]
44
+
45
+ influxdb_data = InfluxDB::Client.new database, opts
46
+
47
+ client_name = @event['client']['name']
48
+ metric_name = @event['check']['name']
49
+
50
+ metric_raw = @event['check']['output']
51
+
52
+ data = []
53
+ metric_raw.split("\n").each do |metric|
51
54
  m = metric.split
52
55
  next unless m.count == 3
53
56
  key = m[0].split('.', 2)[1]
54
57
  key.gsub!('.', '_')
55
58
  value = m[1].to_f
56
- mydata = { host: @event['client']['name'], value: value,
57
- ip: @event['client']['address']
58
- }
59
- influxdb_data.write_point(key, mydata)
59
+ time = m[2]
60
+ point = { series: key,
61
+ tags: { host: client_name, metric: metric_name },
62
+ values: { value: value },
63
+ timestamp: time
64
+ }
65
+ data.push(point)
60
66
  end
67
+ influxdb_data.write_points(data)
61
68
  end
62
69
  end
@@ -2,7 +2,7 @@ module SensuPluginsInfluxdb
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- PATCH = 3
5
+ PATCH = 4
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-influxdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
@@ -30,50 +30,50 @@ 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-10 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
- name: influxdb
36
+ name: dentaku
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 0.1.8
41
+ version: 1.2.4
42
42
  type: :runtime
43
43
  prerelease: false
44
44
  version_requirements: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: 0.1.8
48
+ version: 1.2.4
49
49
  - !ruby/object:Gem::Dependency
50
- name: jsonpath
50
+ name: influxdb
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 0.5.6
55
+ version: 0.2.2
56
56
  type: :runtime
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.5.6
62
+ version: 0.2.2
63
63
  - !ruby/object:Gem::Dependency
64
- name: dentaku
64
+ name: jsonpath
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - '='
68
68
  - !ruby/object:Gem::Version
69
- version: 1.2.4
69
+ version: 0.5.6
70
70
  type: :runtime
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: 1.2.4
76
+ version: 0.5.6
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: sensu-plugin
79
79
  requirement: !ruby/object:Gem::Requirement
@@ -89,61 +89,61 @@ dependencies:
89
89
  - !ruby/object:Gem::Version
90
90
  version: 1.2.0
91
91
  - !ruby/object:Gem::Dependency
92
- name: codeclimate-test-reporter
92
+ name: bundler
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '0.4'
97
+ version: '1.7'
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: '0.4'
104
+ version: '1.7'
105
105
  - !ruby/object:Gem::Dependency
106
- name: rubocop
106
+ name: codeclimate-test-reporter
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '='
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '0.30'
111
+ version: '0.4'
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - '='
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '0.30'
118
+ version: '0.4'
119
119
  - !ruby/object:Gem::Dependency
120
- name: rspec
120
+ name: github-markup
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '3.1'
125
+ version: '1.3'
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: '3.1'
132
+ version: '1.3'
133
133
  - !ruby/object:Gem::Dependency
134
- name: bundler
134
+ name: pry
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '1.7'
139
+ version: '0.10'
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: '1.7'
146
+ version: '0.10'
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: rake
149
149
  requirement: !ruby/object:Gem::Requirement
@@ -159,61 +159,61 @@ dependencies:
159
159
  - !ruby/object:Gem::Version
160
160
  version: '10.0'
161
161
  - !ruby/object:Gem::Dependency
162
- name: github-markup
162
+ name: redcarpet
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: '1.3'
167
+ version: '3.2'
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: '1.3'
174
+ version: '3.2'
175
175
  - !ruby/object:Gem::Dependency
176
- name: redcarpet
176
+ name: rspec
177
177
  requirement: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - "~>"
180
180
  - !ruby/object:Gem::Version
181
- version: '3.2'
181
+ version: '3.1'
182
182
  type: :development
183
183
  prerelease: false
184
184
  version_requirements: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: '3.2'
188
+ version: '3.1'
189
189
  - !ruby/object:Gem::Dependency
190
- name: yard
190
+ name: rubocop
191
191
  requirement: !ruby/object:Gem::Requirement
192
192
  requirements:
193
- - - "~>"
193
+ - - '='
194
194
  - !ruby/object:Gem::Version
195
- version: '0.8'
195
+ version: 0.32.1
196
196
  type: :development
197
197
  prerelease: false
198
198
  version_requirements: !ruby/object:Gem::Requirement
199
199
  requirements:
200
- - - "~>"
200
+ - - '='
201
201
  - !ruby/object:Gem::Version
202
- version: '0.8'
202
+ version: 0.32.1
203
203
  - !ruby/object:Gem::Dependency
204
- name: pry
204
+ name: yard
205
205
  requirement: !ruby/object:Gem::Requirement
206
206
  requirements:
207
207
  - - "~>"
208
208
  - !ruby/object:Gem::Version
209
- version: '0.10'
209
+ version: '0.8'
210
210
  type: :development
211
211
  prerelease: false
212
212
  version_requirements: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - "~>"
215
215
  - !ruby/object:Gem::Version
216
- version: '0.10'
216
+ version: '0.8'
217
217
  description: Sensu plugins for influxDB
218
218
  email: "<sensu-users@googlegroups.com>"
219
219
  executables:
@@ -257,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
257
  version: '0'
258
258
  requirements: []
259
259
  rubyforge_project:
260
- rubygems_version: 2.4.6
260
+ rubygems_version: 2.4.8
261
261
  signing_key:
262
262
  specification_version: 4
263
263
  summary: Sensu plugins for influxdb
metadata.gz.sig CHANGED
Binary file