cloudstack-nagios 0.12.3 → 0.13.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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5db714aeb227dbff19bb0f1b61d483d73fcabb31
4
- data.tar.gz: 8359ab172f92207628985fe890ad19a70a823306
3
+ metadata.gz: dd79f250d420ee0506a8efdafd3b92f79070ef7d
4
+ data.tar.gz: 0419a67d851a0b97d598bdf6968713f1a157dd8e
5
5
  SHA512:
6
- metadata.gz: 86072a8aa5057f708584c3424ad3b2401e6eb1a1976338d32f4e99a5d2e24503fdf905babee20c6029e329fa26d12b8bafca9974b37de35b6870a1c7f72dc7c0
7
- data.tar.gz: b02be7ff9f51068b36b9c54a84b4370e708f8bf39325855e42a649077c7931fae8daa05861f88f7a7d593507a76b77a5ac273d9f8e0cad30574434673414b119
6
+ metadata.gz: 1f6f08315d50ef0559d759b1a2b83f3c250f5bd457036d91caa76c2b0032fbb8e142c6f849090c1679b019c210b168d3fc4a7ff70f7b914e6613f0569b980070
7
+ data.tar.gz: b13037841df8235e9970102d3f2fc3692e54a80d8d9a30700405be68f65d52c7894ac895537c5e0bb5dcfd7ea4fe1927f59d4792f110e1771482148476847375
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cloudstack-nagios (0.12.2)
4
+ cloudstack-nagios (0.13.0)
5
5
  cloudstack_client (~> 0.5, >= 0.5.0)
6
6
  erubis (~> 2.7.0)
7
7
  highline (~> 1.6.20)
@@ -11,14 +11,14 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- cloudstack_client (0.6.1)
14
+ cloudstack_client (0.6.4)
15
15
  erubis (2.7.0)
16
16
  highline (1.6.21)
17
17
  json (1.8.1)
18
- net-scp (1.2.0)
18
+ net-scp (1.2.1)
19
19
  net-ssh (>= 2.6.5)
20
- net-ssh (2.8.0)
21
- rake (10.3.1)
20
+ net-ssh (2.9.1)
21
+ rake (10.3.2)
22
22
  rdoc (4.1.1)
23
23
  json (~> 1.4)
24
24
  sshkit (1.3.0)
@@ -28,7 +28,7 @@ GEM
28
28
  term-ansicolor (1.3.0)
29
29
  tins (~> 1.0)
30
30
  thor (0.19.1)
31
- tins (1.1.0)
31
+ tins (1.3.1)
32
32
 
33
33
  PLATFORMS
34
34
  ruby
data/README.md CHANGED
@@ -12,7 +12,7 @@ The following checks are supported:
12
12
 
13
13
  * Cloudstack Root Admin keys have to be used.
14
14
  * In order to connect to system VMs the private ssh key found on the Cloudstack management server under /var/lib/cloud/management/.ssh/id_rsa are required.
15
- * The system vms must be reachable over SSH (default port 3922) from the nagios server executing the checks (check with 'ssh -i /var/lib/cloud/management/.ssh/id_rsa -p 3922 <router_mgmt_ip>').
15
+ * The system vms must be reachable on the Cloudstack Management Network over SSH (default port 3922) from the nagios server executing the checks (check with 'ssh -i /var/lib/cloud/management/.ssh/id_rsa -p 3922 <router_mgmt_ip>').
16
16
 
17
17
  ## Installation
18
18
 
@@ -152,4 +152,4 @@ $ cs-nagios check async_jobs
152
152
 
153
153
  ## License
154
154
 
155
- Released under the MIT License. See the [LICENSE](https://bitbucket.org/swisstxt/cloudstack-cli/raw/master/LICENSE.txt) file for further details.
155
+ Released under the MIT License. See the [LICENSE](https://bitbucket.org/swisstxt/cloudstack-cli/raw/master/LICENSE.txt) file for further details.
@@ -32,7 +32,7 @@ class Router < CloudstackNagios::Base
32
32
  mpstat_output = capture(:mpstat)
33
33
  end
34
34
  values = mpstat_output.scan(/\d+\.\d+/)
35
- usage = 100 - values[-1].to_f
35
+ usage = 100 - values[-1].to_f
36
36
  data = check_data(100, usage, options[:warning], options[:critical])
37
37
  puts "CPU #{RETURN_CODES[data[0]]} - usage = #{data[1]}% | usage=#{data[1]}%"
38
38
  exit data[0]
@@ -45,17 +45,20 @@ class Router < CloudstackNagios::Base
45
45
  def rootfs_rw
46
46
  begin
47
47
  host = systemvm_host
48
- proc_out = ""
48
+ test_file = '/rootdiskcheck.txt'
49
+ rootfs_rw = false
49
50
  on host do |h|
50
- proc_out = capture(:cat, '/proc/mounts')
51
+ rootfs_rw = execute(:touch, test_file)
52
+ execute(:rm, '-f', test_file)
51
53
  end
52
- rootfs_rw = proc_out.match(/rootfs\srw\s/)
53
- status = rootfs_rw ? 0 : 2
54
- puts "ROOTFS_RW #{rootfs_rw ? 'OK - rootfs writeable' : 'CRITICAL - rootfs NOT writeable'}"
55
- exit status
54
+ rescue SSHKit::Command::Failed
55
+ rootfs_rw = false
56
56
  rescue => e
57
57
  exit_with_failure(e)
58
58
  end
59
+ status = rootfs_rw ? 0 : 2
60
+ puts "ROOTFS_RW #{rootfs_rw ? 'OK - rootfs writeable' : 'CRITICAL - rootfs NOT writeable'}"
61
+ exit status
59
62
  end
60
63
 
61
64
  desc "disk_usage", "check the disk space usage of the root volume"
@@ -0,0 +1,56 @@
1
+ #!/bin/bash
2
+ # Create Icinga Configuration upon CS router changes
3
+ # Add this script in crontab
4
+
5
+ date=`date +%Y%m%d%H%M`
6
+
7
+ config_path=/var/icinga/.cloudstack-nagios.yml
8
+ bin_path=/usr/local/bin/
9
+ icinga_dir=/etc/icinga/dynamic_hosts
10
+ ssh_key=/var/icinga/cloud/management/.ssh/id_rsa
11
+
12
+ #Create Icinga Cloudstack Configuration
13
+ echo "generate hostgroups"
14
+ /usr/local/bin/cs-nagios nagios_config generate hostgroups --config $config_path --ssh-key $ssh_key --bin_path $bin_path | grep -v Date > /var/icinga/core/dynamic_hosts/cloudstack_hostgroups.cfg
15
+ echo "generate router_hosts"
16
+ /usr/local/bin/cs-nagios nagios_config generate router_hosts --config $config_path --ssh-key $ssh_key --bin_path $bin_path | grep -v Date > /var/icinga/core/dynamic_hosts/cloudstack_router_hosts.cfg
17
+ echo "generate router_services"
18
+ /usr/local/bin/cs-nagios nagios_config generate router_services --config $config_path --ssh-key $ssh_key --bin_path $bin_path --if-speed 1000000000 | grep -v Date > /var/icinga/core/dynamic_hosts/cloudstack_router_services.cfg
19
+ echo "generate zone_hosts"
20
+ /usr/local/bin/cs-nagios nagios_config generate zone_hosts --config $config_path --ssh-key $ssh_key --bin-path $bin_path | grep -v Date > /var/icinga/core/dynamic_hosts/cloudstack_zone_hosts.cfg
21
+ echo "generate storage_pools"
22
+ /usr/local/bin/cs-nagios nagios_config generate storage_pools --config $config_path --ssh-key $ssh_key --bin_path $bin_path --over_provisioning 2.0 | grep -v Date > /var/icinga/core/dynamic_hosts/cloudstack_storage_pools.cfg
23
+ echo "generate capacities"
24
+ /usr/local/bin/cs-nagios nagios_config generate capacities --config $config_path --ssh-key $ssh_key --bin_path $bin_path | grep -v Date > /var/icinga/core/dynamic_hosts/cloudstack_capacity.cfg
25
+ echo "generate async_jobs"
26
+ /usr/local/bin/cs-nagios nagios_config generate async_jobs --config $config_path --ssh-key $ssh_key --bin_path $bin_path | grep -v Date > /var/icinga/core/dynamic_hosts/cloudstack_async_jobs.cfg
27
+
28
+
29
+ #Check if gengerated configuration is valid
30
+ /usr/bin/icinga -vp /var/icinga/core/icingalocaltest.cfg > /dev/null 2>&1
31
+
32
+ if [ $? -eq 0 ]
33
+ then
34
+ ### check if services have changed
35
+ diff -r /var/icinga/core/dynamic_hosts /etc/icinga/dynamic_hosts > /dev/null 2>&1
36
+ ### if config is changed copy files
37
+ if [ $? -eq 1 ]
38
+ then
39
+ echo "Config Changed, updating now"
40
+ cp -rp /etc/icinga/dynamic_hosts /etc/icinga/dynamic_hosts.$date
41
+ rm -rf /etc/icinga/dynamic_hosts/*
42
+ cp -rp /var/icinga/core/dynamic_hosts /etc/icinga/
43
+ /usr/bin/icinga -vp /etc/icinga/icinga.cfg > /dev/null 2>&1
44
+ if [ $? -eq 0 ]; then
45
+ echo "Config reloaded, please reload icinga (script ready for auto reload)"
46
+ /etc/init.d/icinga reload
47
+ else
48
+ echo "Problem with Global Nagios Configuration, try /usr/bin/icinga -vp /etc/icinga/icinga.cfg"
49
+ fi
50
+ else
51
+ echo "Cloudstack Icinga Configuration not changed, nothing to do"
52
+ fi
53
+
54
+ else
55
+ echo "Problem with new Cloudstack Icinga Checks, try /usr/bin/icinga -vp /var/icinga/core/icingalocaltest.cfg"
56
+ fi
@@ -1,3 +1,3 @@
1
1
  module CloudstackNagios
2
- VERSION = "0.12.3"
2
+ VERSION = "0.13.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudstack-nagios
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.3
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nik Wolfgramm
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-14 00:00:00.000000000 Z
11
+ date: 2014-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -138,6 +138,7 @@ files:
138
138
  - lib/cloudstack-nagios/commands/nagios_config.rb
139
139
  - lib/cloudstack-nagios/commands/router.rb
140
140
  - lib/cloudstack-nagios/commands/snmpd_config.rb
141
+ - lib/cloudstack-nagios/files/create_cs_router_config.sh
141
142
  - lib/cloudstack-nagios/files/snmpd.conf
142
143
  - lib/cloudstack-nagios/helper.rb
143
144
  - lib/cloudstack-nagios/templates/cloudstack_async_jobs.cfg.erb