sensu-plugins-influxdb 0.0.3 → 0.0.4

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: 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