riemann-mongodb 0.1.1 → 0.2.0

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzA2N2VlOGY1YTg0ZTA3NmU5ODFjOTk2NTAxN2UzNDZiMGRmNTY0Zg==
4
+ NjZlZDY0YWM3M2RhN2U4YjVhNTY5ODZkZjA3MGEyYWNjMWI0MGYzNg==
5
5
  data.tar.gz: !binary |-
6
- ZWM4YzdjZmM5YjZlNTMxYjE3MTU4ZTdiYTc5NWMxMzQ2ZWI5ZjJjNw==
6
+ ZDgxMDQ4OTIzMjFjMjI2M2EyZDMxMjA1Mjk2MTY0ZDAzYzAyNThjOQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YTgwOGVjNzc4ZDk0ZmRlZGI2MjM0NzBiNWJmMTY4NzNhZjUzNTUyMzM1NmU3
10
- M2Q4NmEzZDkwNzZkNWRmNGQ2OGEzYjE4MmExNTM0M2Y2MjczYTZiOTk1OWEy
11
- ZmYyMmRiYzQ4ZDIwMWJlMDI0ZWJjNDM4ODliMzdkYmQ3Y2YzZjY=
9
+ ZDc0YWNlOWM2NDYzZTg1YmU0ZmJlZTVjYmM5NjhlMWNjZTU0MWRiZTJmYzE4
10
+ NDM4YmQwZTJhZWQ1NzUwYWQ3ZjVkY2VjZTg2ZmFhMGI1YjU1YWYwMzM2ZDM4
11
+ YjQzNzk1ZDU1ZTU4NTA3ZDRjYTkxNWJlNTUzODM5ZmE3NDg1NDI=
12
12
  data.tar.gz: !binary |-
13
- MTIyMWFkYzA4MmQyNzQ2M2Q1NTZmOTJmNDFhYWExMTM0YWY1YTVmOWQyYTI1
14
- NzZmZThiYTc3NTg5ZTRjODczYzk1YjlmNTA5YmZjMzE2ZmY1YmU4NDJlYWFk
15
- MjM5MTBlZDllNGI1MzEzMjIyMmQ3ODhjODY1ZTY1NDRmMzVhYmM=
13
+ NGYwYmI1NmFlN2I4MGFiMDJhNjY5ZTBhN2EwNjkzZWQ4NTIyYmE5ZGM4NzVj
14
+ NTQwOTU5Zjg0MTFmMWRhMzMwNzViZjAwNzdmZDAyMWRlZjYzZWZiZjBjYzVi
15
+ NWQ1YTYzODBiZmViNzZmYzdlZDcyYjUzMjcwNDU0M2UwOWUzM2I=
data/README.md CHANGED
@@ -1,9 +1,12 @@
1
- Riemann MongoDB
1
+ Riemann mongodb
2
2
  =============
3
3
 
4
4
  Simple mongodb riemann client.
5
5
 
6
- Submits the result of db.stats() query into riemann.
6
+
7
+ A client which submits the result of db.stats() query into riemann.
8
+ A second client to monitor replication set status, using rs.status() query.
9
+
7
10
 
8
11
  Get started
9
12
  ==========
@@ -11,4 +14,5 @@ Get started
11
14
  ``` bash
12
15
  gem install riemann-mongodb
13
16
  riemann-mongodb --help
17
+ riemann-mongodb-rs-status --help
14
18
  ```
data/bin/riemann-mongodb CHANGED
@@ -10,7 +10,7 @@ class Riemann::Tools::Mongo
10
10
 
11
11
  opt :mongo_host, "Mongo hostname", :default => 'localhost'
12
12
  opt :mongo_port, "Mongo port", :default => 27017
13
- opt :mongo_db, "Mongo database", :default => ''
13
+ opt :mongo_db, "Mongo database", :default => 'local'
14
14
 
15
15
  def initialize
16
16
  @db = ::Mongo::MongoClient.new(opts[:mongo_host], opts[:mongo_port]).db(opts[:mongo_db])
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # Gathers MongoDB db.stats() and submits them to Riemann.
3
+ # Gathers MongoDB replSetGetStatus command output (rs.status() from the shell) and submits them to Riemann.
4
4
 
5
5
  require 'riemann/tools'
6
6
 
@@ -20,21 +20,37 @@ class Riemann::Tools::Mongo
20
20
 
21
21
  def tick
22
22
  begin
23
- @db.command(@cmd)["members"].each do |member|
24
- member.each do |property, value|
25
- data = {
26
- :host => opts[:host_prefix] + member["name"],
27
- :service => "mongodb #{property}",
28
- :metric => value.to_s,
29
- :state => value.to_s,
30
- :tags => ['mongodb']
31
- }
32
-
33
- report(data)
34
- end
35
- end
23
+ response = @db.command(@cmd)
24
+ rescue => e
25
+ report(
26
+ :host => opts[:host_prefix] + opts[:mongo_host].dup,
27
+ :service => "mongodb health",
28
+ :description => "Connection error: #{e.class} - #{e.message}"
29
+ )
36
30
  end
37
31
 
32
+ return if response.nil?
33
+
34
+ report(
35
+ :host => opts[:host_prefix] + opts[:mongo_host].dup,
36
+ :service => "mongodb health",
37
+ :state => "ok",
38
+ :description => "mongodb connection status ok"
39
+ )
40
+
41
+ response["members"].each do |member|
42
+ member.each do |property, value|
43
+ data = {
44
+ :host => opts[:host_prefix] + opts[:mongo_host].dup,
45
+ :service => "mongodb #{property}",
46
+ :metric => value.to_s,
47
+ :state => value.to_s,
48
+ :tags => ['mongodb']
49
+ }
50
+
51
+ report(data)
52
+ end
53
+ end
38
54
  end
39
55
 
40
56
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riemann-mongodb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fede Borgnia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-22 00:00:00.000000000 Z
11
+ date: 2014-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: riemann-tools