cloudstack-nagios 0.7.8 → 0.8.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: 03827f3422783fbb581345b23c1e77e6a16e4f81
4
- data.tar.gz: b28228db0803a34ee63aa1d8d3920c316cb925ad
3
+ metadata.gz: 667b096bf7ec0a5da7a25e592a34be9ccc217910
4
+ data.tar.gz: 32a5cc461d2a9605b33263f89a7c6880218b17a8
5
5
  SHA512:
6
- metadata.gz: 3b82d5e0af8fb887afd9d0e4b3cd65f0618c7d5b5ce5f0c43b4b546691666917ad8e16de61b6af5ec6f604568240f51018775985b606978dad5187791fbcc2b2
7
- data.tar.gz: 4148e97b700fff326eb915f464ab716e9b699ba209970ad016e1fef26eadea039b9a6b9bd05a98d51b732b14a4d3c9923b850bbb26227e7261150b52a0d17fac
6
+ metadata.gz: 0b4222049779b16307bb4d48dab4f6177d3717362f87d04f0630396ecf284c2948e0f2843295b4b16b379694da820d14e52ea5a082c6e2f01afaba564e7f42e0
7
+ data.tar.gz: ee48563afdde541e9b680cc31a2a9323608c02d354f3aa2e67e9115eaf6e6f28abe6f0173b83f105ae51910f370c58069ac5dab24a9749d7529280f6b2933b69
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cloudstack-nagios (0.7.7)
4
+ cloudstack-nagios (0.8.0)
5
5
  cloudstack_client (~> 0.4, >= 0.4.4)
6
6
  erubis (~> 2.7.0)
7
7
  highline (~> 1.6.20)
8
- sshkit (~> 1.1.0)
8
+ sshkit (~> 1.3.0)
9
9
  thor (~> 0.18.1)
10
10
 
11
11
  GEM
@@ -13,16 +13,16 @@ GEM
13
13
  specs:
14
14
  cloudstack_client (0.5.0)
15
15
  erubis (2.7.0)
16
- highline (1.6.20)
16
+ highline (1.6.21)
17
17
  json (1.8.1)
18
18
  net-scp (1.1.2)
19
19
  net-ssh (>= 2.6.5)
20
20
  net-ssh (2.8.0)
21
- rake (10.0.4)
21
+ rake (10.1.1)
22
22
  rdoc (4.1.1)
23
23
  json (~> 1.4)
24
- sshkit (1.1.0)
25
- net-scp
24
+ sshkit (1.3.0)
25
+ net-scp (>= 1.1.2)
26
26
  net-ssh
27
27
  term-ansicolor
28
28
  term-ansicolor (1.3.0)
@@ -35,5 +35,5 @@ PLATFORMS
35
35
 
36
36
  DEPENDENCIES
37
37
  cloudstack-nagios!
38
- rake (~> 10.0.4)
38
+ rake (~> 10.1.1)
39
39
  rdoc
data/README.md CHANGED
@@ -18,7 +18,7 @@ The following checks are supported:
18
18
 
19
19
  Install the cloudstack-cli gem:
20
20
 
21
- ```bash
21
+ ```sh
22
22
  $ gem install cloudstack-nagios
23
23
  ```
24
24
 
@@ -26,7 +26,7 @@ $ gem install cloudstack-nagios
26
26
 
27
27
  Create the initial configuration:
28
28
 
29
- ```bash
29
+ ```sh
30
30
  $ cs-nagios setup
31
31
  ```
32
32
 
@@ -53,7 +53,7 @@ test:
53
53
 
54
54
  See the help screen:
55
55
 
56
- ```bash
56
+ ```sh
57
57
  $ cs-nagios
58
58
  ```
59
59
 
@@ -61,48 +61,22 @@ $ cs-nagios
61
61
 
62
62
  Generate all configuration files:
63
63
 
64
- ```bash
65
- $ cs-nagios nagios_config generate_all
64
+ ```sh
65
+ $ cs-nagios nagios_config generate all
66
66
  ```
67
-
68
- ### Generate Nagios configuration files of each type
69
-
70
- Note that you can also use your own ERB templates using the '--template' option to generate the nagios confifuration files.
71
-
72
- Generate nagios host configuration for virtual routers:
73
-
74
- ```bash
75
- $ cs-nagios nagios_config router_hosts
76
- ```
77
-
78
- Generate nagios host configuration for virtual routers:
79
-
80
- ```bash
81
- $ cs-nagios nagios_config router_services
82
- ```
83
-
84
- Generate nagios host configuration api hosts (one pseudo host per Cloudstack zone):
85
-
86
- ```bash
87
- $ cs-nagios nagios_config api_hosts
88
- ```
89
-
90
- Generate nagios service configuration for storage pool checks:
91
-
92
- ```bash
93
- $ cs-nagios nagios_config storage_pool_services
94
- ```
95
-
96
- Generate nagios service configuration for capacity checks:
97
-
98
- ```bash
99
- $ cs-nagios nagios_config capacity_services
100
- ```
101
-
102
- Generate nagios service configuration for async job checks:
103
-
104
- ```bash
105
- $ cs-nagios nagios_config asyncjobs_services
67
+ You can also generate each config file individualy.
68
+ The following types are awailable:
69
+
70
+ ```sh
71
+ $ cs-nagios nagios_config list
72
+ all
73
+ hostgroup
74
+ zone_hosts
75
+ router_hosts
76
+ router_services
77
+ capacities
78
+ async_jobs
79
+ storage_pools
106
80
  ```
107
81
 
108
82
  ### System VM checks
@@ -121,7 +95,7 @@ The following checks are available:
121
95
 
122
96
  Example:
123
97
 
124
- ```bash
98
+ ```sh
125
99
  $ cs-nagios check system_vm network --host 10.100.9.161
126
100
  ```
127
101
 
@@ -140,7 +114,7 @@ Checks various global capacity values.
140
114
 
141
115
  Example:
142
116
 
143
- ```bash
117
+ ```sh
144
118
  $ cs-nagios check capacity memory --zone ZUERICH_IX
145
119
  ```
146
120
 
@@ -150,7 +124,7 @@ Checks the available disk space on Cloudstack storage pools.
150
124
 
151
125
  Example:
152
126
 
153
- ```bash
127
+ ```sh
154
128
  $ cs-nagios check storage_pool --pool_name fs_cs_zone01_pod01
155
129
  ```
156
130
 
@@ -160,7 +134,7 @@ Checks the number of pending async jobs.
160
134
 
161
135
  Example:
162
136
 
163
- ```bash
137
+ ```sh
164
138
  $ cs-nagios check async_jobs
165
139
  ```
166
140
 
@@ -178,4 +152,4 @@ $ cs-nagios check async_jobs
178
152
 
179
153
  ## License
180
154
 
181
- 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.
@@ -21,11 +21,11 @@ Gem::Specification.new do |gem|
21
21
  gem.rdoc_options = %w[--line-numbers --inline-source]
22
22
 
23
23
  gem.add_development_dependency('rdoc')
24
- gem.add_development_dependency('rake', '~> 10.0.4')
24
+ gem.add_development_dependency('rake', '~> 10.1.1')
25
25
 
26
26
  gem.add_dependency('cloudstack_client', '~> 0.4', '>= 0.4.4')
27
27
  gem.add_dependency('thor', '~> 0.18.1')
28
28
  gem.add_dependency('erubis', '~> 2.7.0')
29
- gem.add_dependency('sshkit', '~> 1.1.0')
29
+ gem.add_dependency('sshkit', '~> 1.3.0')
30
30
  gem.add_dependency('highline', '~> 1.6.20')
31
31
  end
@@ -25,7 +25,7 @@ class Capacity < CloudstackNagios::Base
25
25
  def capacity_check(zone, type)
26
26
  cap = client.list_capacity(type: type, zone: zone).first
27
27
  data = check_data(cap['capacitytotal'].to_f, cap['capacityused'].to_f, options[:warning], options[:critical])
28
- puts "#{CAPACITY_TYPES[type][:name]} #{RETURN_CODES[data[0]]} - usage = #{data[1]}% | usage=#{cap['capacityused']}"
28
+ puts "#{CAPACITY_TYPES[type][:name]} #{RETURN_CODES[data[0]]} - usage = #{data[1]}% | usage=#{cap['capacityused']} usage=#{data[1]}%"
29
29
  exit data[0]
30
30
  end
31
31
  end
@@ -51,7 +51,7 @@ class Check < CloudstackNagios::Base
51
51
  options[:warning],
52
52
  options[:critical]
53
53
  )
54
- puts "storage_pool #{options[:pool_name]} #{RETURN_CODES[data[0]]} - usage = #{data[1]}% | usage=#{pool['disksizeused']}"
54
+ puts "storage_pool #{options[:pool_name]} #{RETURN_CODES[data[0]]} - usage = #{data[1]}% | usage=#{pool['disksizeused']} usage=#{data[1]}%"
55
55
  exit data[0]
56
56
  end
57
57
 
@@ -1,116 +1,86 @@
1
1
  class NagiosConfig < CloudstackNagios::Base
2
2
 
3
- class_option :bin_path, desc: "absolute path to the nagios-cloudstack binary"
3
+ TEMPLATE_DIR = File.join(File.dirname(__FILE__), '..', 'templates')
4
4
 
5
- desc "generate_all", "generate all nagios configs"
6
- def generate_all
7
- commands = %w(router_hosts router_services api_hosts storage_pool_services capacity_services asyncjobs_services)
8
- commands.each do |command|
9
- invoke "nagios_config:#{command}"
10
- puts
11
- end
12
- end
5
+ class_option :bin_path, desc: "absolute path to the nagios-cloudstack binary"
13
6
 
14
- desc "router_hosts", "generate nagios hosts configuration for virtual routers"
15
- option :template,
16
- desc: "path of ERB template to use",
17
- default: File.join(File.dirname(__FILE__), '..', 'templates', 'cloudstack_router_hosts.cfg.erb'),
7
+ class_option :template,
8
+ desc: "Path of ERB template to use. Only valid when generating a single configuration",
18
9
  aliases: '-t'
19
- def router_hosts
20
- host_template = load_template(options[:template])
21
- puts host_template.result(
22
- routers: cs_routers,
23
- date: date_string
24
- )
25
- end
26
10
 
27
- desc "router_services", "generate nagios services configuration for system vms"
28
- option :template,
29
- desc: "path of ERB template to use",
30
- default: File.join(File.dirname(__FILE__), '..', 'templates', 'cloudstack_router_services.cfg.erb'),
31
- aliases: '-t'
32
- option :if_speed,
11
+ class_option :if_speed,
33
12
  desc: 'network interface speed in bits per second',
34
13
  type: :numeric,
35
14
  default: 1000000,
36
15
  aliases: '-s'
37
- def router_services
38
- service_template = load_template(options[:template])
39
- puts service_template.result(
40
- routers: cs_routers,
41
- bin_path: bin_path,
42
- if_speed: options[:if_speed],
43
- config_file: options[:config],
44
- date: date_string
45
- )
46
- end
47
-
48
- desc "api_hosts", "generate nagios api host configuration"
49
- option :template,
50
- desc: "path of ERB template to use",
51
- default: File.join(File.dirname(__FILE__), '..', 'templates', 'cloudstack_api_hosts.cfg.erb'),
52
- aliases: '-t'
53
- def api_hosts
54
- service_template = load_template(options[:template])
55
- puts service_template.result(
56
- zones: client.list_zones,
57
- bin_path: bin_path,
58
- config_file: options[:config],
59
- date: date_string
60
- )
61
- end
62
16
 
63
- desc "storage_pool_services", "generate nagios storage pool services configuration"
64
- option :template,
65
- desc: "path of ERB template to use",
66
- default: File.join(File.dirname(__FILE__), '..', 'templates', 'cloudstack_storage_pool_services.cfg.erb'),
67
- aliases: '-t'
68
- option :over_provisioning, type: :numeric, default: 1.0
69
- def storage_pool_services
70
- service_template = load_template(options[:template])
71
- storage_pools = client.list_storage_pools.select do |pool|
72
- pool['state'].downcase == 'up'
17
+ desc "generate [type]", "generate all nagios configs"
18
+ def generate(*configs)
19
+ configs = get_configs(configs)
20
+ if configs.size == 0
21
+ say "Please specify a valid configuration.", :green
22
+ say "Possible values are..."
23
+ invoke "nagios_config:list", []
24
+ exit
73
25
  end
74
- puts service_template.result(
75
- storage_pools: storage_pools,
76
- over_provisioning: options[:over_provisioning],
77
- bin_path: bin_path,
78
- config_file: options[:config],
79
- date: date_string
80
- )
81
- end
82
26
 
83
- desc "capacity_services", "generate nagios capacity services configuration"
84
- option :template,
85
- desc: "path of ERB template to use",
86
- default: File.join(File.dirname(__FILE__), '..', 'templates', 'cloudstack_capacity_services.cfg.erb'),
87
- aliases: '-t'
88
- def capacity_services
89
- service_template = load_template(options[:template])
90
- puts service_template.result(
91
- zones: client.list_zones,
92
- capacity_types: Capacity::CAPACITY_TYPES,
93
- bin_path: bin_path,
94
- config_file: options[:config],
27
+ routers = configs.include?("router_hosts") ? cs_routers : nil
28
+ pools = configs.include?("storage_pools") ? storage_pools : nil
29
+ zones = client.list_zones
30
+ config_name = configs.size == 1 ?
31
+ "#{configs[0]} configuration" :
32
+ "all configurations"
33
+
34
+ header = load_template(File.join(TEMPLATE_DIR, "header.cfg.erb"))
35
+ output = header.result(
36
+ config_name: config_name,
95
37
  date: date_string
96
38
  )
39
+ configs.each do |config|
40
+ if configs.size == 1 && options[:template]
41
+ tmpl_file = options[:template]
42
+ else
43
+ tmpl_file = File.join(TEMPLATE_DIR, "cloudstack_#{config}.cfg.erb")
44
+ end
45
+ template = load_template(tmpl_file)
46
+ output += template.result(
47
+ routers: routers,
48
+ bin_path: bin_path,
49
+ if_speed: options[:if_speed],
50
+ config_file: options[:config],
51
+ zones: zones,
52
+ capacity_types: Capacity::CAPACITY_TYPES,
53
+ storage_pools: pools,
54
+ over_provisioning: options[:over_provisioning],
55
+ )
56
+ end
57
+ footer = load_template(File.join(TEMPLATE_DIR, "footer.cfg.erb"))
58
+ output += footer.result(
59
+ config_name: config_name
60
+ )
61
+ puts output
97
62
  end
98
63
 
99
- desc "asyncjobs_services", "generate nagios capacity services configuration"
100
- option :template,
101
- desc: "path of ERB template to use",
102
- default: File.join(File.dirname(__FILE__), '..', 'templates', 'cloudstack_asyncjobs_services.cfg.erb'),
103
- aliases: '-t'
104
- def asyncjobs_services
105
- service_template = load_template(options[:template])
106
- puts service_template.result(
107
- bin_path: bin_path,
108
- config_file: options[:config],
109
- date: date_string
110
- )
64
+ desc "list", "show a list of possible configurations which can be generated."
65
+ def list
66
+ configs = get_configs
67
+ puts ["all"] << configs
111
68
  end
112
69
 
113
70
  no_commands do
71
+
72
+ def get_configs(configs = [])
73
+ all_configs = %w(hostgroup zone_hosts router_hosts router_services capacities async_jobs storage_pools)
74
+ if configs.size == 0
75
+ return all_configs
76
+ else
77
+ if configs.size == 1 && configs[0].downcase == "all"
78
+ return all_configs
79
+ end
80
+ return all_configs.select { |config| configs.include? config }
81
+ end
82
+ end
83
+
114
84
  def date_string
115
85
  Time.new.strftime("%d.%m.%Y - %H:%M:%S")
116
86
  end
@@ -8,7 +8,7 @@ module CloudstackNagios
8
8
  templ.filename = template_path
9
9
  return templ
10
10
  else
11
- say "Error: template not found #{template_path}"
11
+ say "Error: Template \"#{template_path}\" not found.", :red
12
12
  exit 1
13
13
  end
14
14
  end
@@ -18,6 +18,12 @@ module CloudstackNagios
18
18
  routers += client.list_routers(projectid: -1, status: 'Running')
19
19
  end
20
20
 
21
+ def storage_pools
22
+ storage_pools = client.list_storage_pools.select do |pool|
23
+ pool['state'].downcase == 'up'
24
+ end
25
+ end
26
+
21
27
  def exit_with_failure(exception)
22
28
  say 'ERROR: command execution failed!', :red
23
29
  say "Message: ", :magenta
@@ -0,0 +1,15 @@
1
+
2
+ define command {
3
+ command_name cs-nagios_check-asyncjobs
4
+ command_line <%= bin_path -%>cs-nagios check async_jobs -w $ARG1$ -c $ARG2$ --config <%= config_file %>
5
+ register 1
6
+ }
7
+
8
+ define service {
9
+ hostgroup_name Cloudstack
10
+ service_description Cloudstack Async Jobs
11
+ display_name Cloudstack Async Jobs
12
+ use Generic-Service,service-pnp
13
+ check_command cs-nagios_check-asyncjobs!80!90
14
+ register 1
15
+ }
@@ -1,16 +1,3 @@
1
- ###############################################################################
2
- #
3
- # Cloudstack capcity services configuration file
4
- #
5
- # Created by: cloudstack-nagios
6
- # Date: <%= date %>
7
- # Version: Nagios 3.x config file
8
- #
9
- # --- DO NOT EDIT THIS FILE BY HAND ---
10
- # cloudstack-nagios will overwite all manual settings during the next update
11
- #
12
- ###############################################################################
13
-
14
1
 
15
2
  <% capacity_types.each do |cap_type, cap_values| -%>
16
3
  define command {
@@ -20,11 +7,10 @@ define command {
20
7
  }
21
8
 
22
9
  <% end -%>
23
-
24
10
  <% zones.each do |zone| -%>
25
11
  <% capacity_types.each do |cap_type, cap_values| -%>
26
12
  define service {
27
- hostgroup_name Cloudstack-API
13
+ hostgroup_name Cloudstack
28
14
  service_description Cloudstack <%= zone['name'] %> <%= cap_values[:name] %>
29
15
  display_name Cloudstack <%= zone['name'] %> <%= cap_values[:method_name] %>
30
16
  use Generic-Service,service-pnp
@@ -34,10 +20,3 @@ define service {
34
20
 
35
21
  <% end -%>
36
22
  <% end -%>
37
- ###############################################################################
38
- #
39
- # Service configuration file
40
- #
41
- # END OF FILE
42
- #
43
- ###############################################################################
@@ -0,0 +1,6 @@
1
+
2
+ define hostgroup {
3
+ hostgroup_name Cloudstack
4
+ alias Cloudstack
5
+ register 1
6
+ }
@@ -1,21 +1,3 @@
1
- ###############################################################################
2
- #
3
- # Host configuration file
4
- #
5
- # Created by: cloudstack-nagios
6
- # Date: <%= date %>
7
- # Version: Nagios 3.x config file
8
- #
9
- # --- DO NOT EDIT THIS FILE BY HAND ---
10
- # cloudstack-nagios will overwite all manual settings during the next update
11
- #
12
- ###############################################################################
13
-
14
- define hostgroup {
15
- hostgroup_name Cloudstack-SystemVM
16
- alias Cloudstack-SystemVM
17
- register 1
18
- }
19
1
 
20
2
  <% routers.each do |router| -%>
21
3
  <% if router['linklocalip'] -%>
@@ -24,17 +6,10 @@ define host {
24
6
  display_name <%= router['name'] %> (<%= router['linklocalip'] %>)<%= " - #{router['project']}" if router['project'] %> - <%= router['zonename'] %>
25
7
  address <%= router['linklocalip'] %>
26
8
  use Linux-Host,host-pnp
27
- hostgroups Cloudstack-SystemVM
9
+ hostgroups Cloudstack
28
10
  check_command check-host-alive
29
11
  register 1
30
12
  }
13
+
31
14
  <% end -%>
32
15
  <% end -%>
33
-
34
- ###############################################################################
35
- #
36
- # Host configuration file
37
- #
38
- # END OF FILE
39
- #
40
- ###############################################################################
@@ -1,95 +1,75 @@
1
- ###############################################################################
2
- #
3
- # Service configuration file
4
- #
5
- # Created by: cloudstack-nagios
6
- # Date: <%= date %>
7
- # Version: Nagios 3.x config file
8
- #
9
- # --- DO NOT EDIT THIS FILE BY HAND ---
10
- # cloudstack-nagios will overwite all manual settings during the next update
11
- #
12
- ###############################################################################
13
1
 
14
2
  define command {
15
- command_name cs-nagios_check-memory
16
- command_line <%= bin_path -%>cs-nagios check router memory -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
17
- register 1
3
+ command_name cs-nagios_check-memory
4
+ command_line <%= bin_path -%>cs-nagios check router memory -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
5
+ register 1
18
6
  }
19
7
 
20
8
  define command {
21
- command_name cs-nagios_check-cpu
22
- command_line <%= bin_path -%>cs-nagios check router cpu -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
23
- register 1
9
+ command_name cs-nagios_check-cpu
10
+ command_line <%= bin_path -%>cs-nagios check router cpu -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
11
+ register 1
24
12
  }
25
13
 
26
14
  define command {
27
- command_name cs-nagios_check-network
28
- command_line <%= bin_path -%>cs-nagios check router network -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --if-speed <%= if_speed %> --config <%= config_file %>
29
- register 1
15
+ command_name cs-nagios_check-network
16
+ command_line <%= bin_path -%>cs-nagios check router network -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --if-speed <%= if_speed %> --config <%= config_file %>
17
+ register 1
30
18
  }
31
19
 
32
20
  define command {
33
- command_name cs-nagios_check-rootfsrw
34
- command_line <%= bin_path -%>cs-nagios check router rootfs_rw -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
35
- register 1
21
+ command_name cs-nagios_check-rootfsrw
22
+ command_line <%= bin_path -%>cs-nagios check router rootfs_rw -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
23
+ register 1
36
24
  }
37
25
 
38
26
  define command {
39
- command_name cs-nagios_check-diskusage
40
- command_line <%= bin_path -%>cs-nagios check router disk_usage -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
41
- register 1
27
+ command_name cs-nagios_check-diskusage
28
+ command_line <%= bin_path -%>cs-nagios check router disk_usage -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
29
+ register 1
42
30
  }
43
31
 
44
32
  define service {
45
- hostgroup_name Cloudstack-SystemVM
46
- service_description Memory
47
- display_name Memory
48
- use Generic-Service,service-pnp
49
- check_command cs-nagios_check-memory!80!90
50
- register 1
33
+ hostgroup_name Cloudstack-SystemVM
34
+ service_description Memory
35
+ display_name Memory
36
+ use Generic-Service,service-pnp
37
+ check_command cs-nagios_check-memory!80!90
38
+ register 1
51
39
  }
52
40
 
53
41
  define service {
54
- hostgroup_name Cloudstack-SystemVM
55
- service_description CPU
56
- display_name CPU
57
- use Generic-Service,service-pnp
58
- check_command cs-nagios_check-cpu!80!90
59
- register 1
42
+ hostgroup_name Cloudstack-SystemVM
43
+ service_description CPU
44
+ display_name CPU
45
+ use Generic-Service,service-pnp
46
+ check_command cs-nagios_check-cpu!80!90
47
+ register 1
60
48
  }
61
49
 
62
50
  define service {
63
- hostgroup_name Cloudstack-SystemVM
64
- service_description Network
65
- display_name Network
66
- use Generic-Service,service-pnp
67
- check_command cs-nagios_check-network!80!90
68
- register 1
51
+ hostgroup_name Cloudstack-SystemVM
52
+ service_description Network
53
+ display_name Network
54
+ use Generic-Service,service-pnp
55
+ check_command cs-nagios_check-network!80!90
56
+ register 1
69
57
  }
70
58
 
71
59
  define service {
72
- hostgroup_name Cloudstack-SystemVM
73
- service_description RootFS rw
74
- display_name RootFS rw
75
- use Generic-Service,service-pnp
76
- check_command cs-nagios_check-rootfsrw!80!90
77
- register 1
60
+ hostgroup_name Cloudstack-SystemVM
61
+ service_description RootFS rw
62
+ display_name RootFS rw
63
+ use Generic-Service,service-pnp
64
+ check_command cs-nagios_check-rootfsrw!80!90
65
+ register 1
78
66
  }
79
67
 
80
68
  define service {
81
- hostgroup_name Cloudstack-SystemVM
82
- service_description DiskUsage
83
- display_name DiskUsage
84
- use Generic-Service,service-pnp
85
- check_command cs-nagios_check-diskusage!80!90
86
- register 1
69
+ hostgroup_name Cloudstack-SystemVM
70
+ service_description DiskUsage
71
+ display_name DiskUsage
72
+ use Generic-Service,service-pnp
73
+ check_command cs-nagios_check-diskusage!80!90
74
+ register 1
87
75
  }
88
-
89
- ###############################################################################
90
- #
91
- # Service configuration file
92
- #
93
- # END OF FILE
94
- #
95
- ###############################################################################
@@ -0,0 +1,18 @@
1
+
2
+ define command {
3
+ command_name cs-nagios_check-storage_pool
4
+ command_line <%= bin_path -%>cs-nagios check storage_pool --pool_name $ARG3$ --over_provisioning $ARG4$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
5
+ register 1
6
+ }
7
+
8
+ <% storage_pools.each do |storage_pool| -%>
9
+ define service {
10
+ hostgroup_name Cloudstack
11
+ service_description Cloudstack Storage Pool <%= storage_pool['zonename'] %> <%= storage_pool['name'] %>
12
+ display_name Cloudstack Storage Pool <%= storage_pool['zonename'] %> <%= storage_pool['name'] %>
13
+ use Generic-Service,service-pnp
14
+ check_command cs-nagios_check-storage_pool!80!90!<%= storage_pool['name'] %>!<%= over_provisioning %>
15
+ register 1
16
+ }
17
+
18
+ <% end -%>
@@ -0,0 +1,13 @@
1
+
2
+ <% zones.each do |zone| -%>
3
+ define host {
4
+ host_name Cloudstack_<%= zone['name'] %>
5
+ display_name Cloudstack_<%= zone['name'] %>
6
+ address localhost
7
+ use Linux-Host,host-pnp
8
+ hostgroups Cloudstack
9
+ check_command check-host-alive
10
+ register 1
11
+ }
12
+
13
+ <% end -%>
@@ -0,0 +1,7 @@
1
+ ###############################################################################
2
+ #
3
+ # Cloudstack - <%= config_name %>
4
+ #
5
+ # END OF FILE
6
+ #
7
+ ###############################################################################
@@ -0,0 +1,12 @@
1
+ ###############################################################################
2
+ #
3
+ # Cloudstack - <%= config_name %>
4
+ #
5
+ # Created by: cloudstack-nagios
6
+ # Date: <%= date %>
7
+ # Version: Nagios 3.x config file
8
+ #
9
+ # --- DO NOT EDIT THIS FILE BY HAND ---
10
+ # cloudstack-nagios will overwite all manual settings during the next update
11
+ #
12
+ ###############################################################################
@@ -1,3 +1,3 @@
1
1
  module CloudstackNagios
2
- VERSION = "0.7.8"
2
+ VERSION = "0.8.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.7.8
4
+ version: 0.8.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-03-06 00:00:00.000000000 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 10.0.4
33
+ version: 10.1.1
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: 10.0.4
40
+ version: 10.1.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cloudstack_client
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - ~>
94
94
  - !ruby/object:Gem::Version
95
- version: 1.1.0
95
+ version: 1.3.0
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ~>
101
101
  - !ruby/object:Gem::Version
102
- version: 1.1.0
102
+ version: 1.3.0
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: highline
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -140,12 +140,15 @@ files:
140
140
  - lib/cloudstack-nagios/commands/snmpd_config.rb
141
141
  - lib/cloudstack-nagios/files/snmpd.conf
142
142
  - lib/cloudstack-nagios/helper.rb
143
- - lib/cloudstack-nagios/templates/cloudstack_api_hosts.cfg.erb
144
- - lib/cloudstack-nagios/templates/cloudstack_asyncjobs_services.cfg.erb
145
- - lib/cloudstack-nagios/templates/cloudstack_capacity_services.cfg.erb
143
+ - lib/cloudstack-nagios/templates/cloudstack_async_jobs.cfg.erb
144
+ - lib/cloudstack-nagios/templates/cloudstack_capacities.cfg.erb
145
+ - lib/cloudstack-nagios/templates/cloudstack_hostgroup.cfg.erb
146
146
  - lib/cloudstack-nagios/templates/cloudstack_router_hosts.cfg.erb
147
147
  - lib/cloudstack-nagios/templates/cloudstack_router_services.cfg.erb
148
- - lib/cloudstack-nagios/templates/cloudstack_storage_pool_services.cfg.erb
148
+ - lib/cloudstack-nagios/templates/cloudstack_storage_pools.cfg.erb
149
+ - lib/cloudstack-nagios/templates/cloudstack_zone_hosts.cfg.erb
150
+ - lib/cloudstack-nagios/templates/footer.cfg.erb
151
+ - lib/cloudstack-nagios/templates/header.cfg.erb
149
152
  - lib/cloudstack-nagios/version.rb
150
153
  - lib/cloudstack_nagios.rb
151
154
  homepage: https://github.com/swisstxt/cloudstack-nagios
@@ -1,39 +0,0 @@
1
- ###############################################################################
2
- #
3
- # Cloudstack API Host configuration file
4
- #
5
- # Created by: cloudstack-nagios
6
- # Date: <%= date %>
7
- # Version: Nagios 3.x config file
8
- #
9
- # --- DO NOT EDIT THIS FILE BY HAND ---
10
- # cloudstack-nagios will overwite all manual settings during the next update
11
- #
12
- ###############################################################################
13
-
14
- define hostgroup {
15
- hostgroup_name Cloudstack-API
16
- alias Cloudstack-API
17
- register 1
18
- }
19
-
20
- <% zones.each do |zone| -%>
21
- define host {
22
- host_name Cloudstack_<%= zone['name'] %>
23
- display_name Cloudstack_<%= zone['name'] %>
24
- address localhost
25
- use Linux-Host,host-pnp
26
- hostgroups Cloudstack-API
27
- check_command check-host-alive
28
- register 1
29
- }
30
-
31
- <% end -%>
32
-
33
- ###############################################################################
34
- #
35
- # Host configuration file
36
- #
37
- # END OF FILE
38
- #
39
- ###############################################################################
@@ -1,35 +0,0 @@
1
- ###############################################################################
2
- #
3
- # Cloudstack async jobs services configuration file
4
- #
5
- # Created by: cloudstack-nagios
6
- # Date: <%= date %>
7
- # Version: Nagios 3.x config file
8
- #
9
- # --- DO NOT EDIT THIS FILE BY HAND ---
10
- # cloudstack-nagios will overwite all manual settings during the next update
11
- #
12
- ###############################################################################
13
-
14
- define command {
15
- command_name cs-nagios_check-asyncjobs
16
- command_line <%= bin_path -%>cs-nagios check async_jobs -w $ARG1$ -c $ARG2$ --config <%= config_file %>
17
- register 1
18
- }
19
-
20
- define service {
21
- hostgroup_name Cloudstack-API
22
- service_description Cloudstack Async Jobs
23
- display_name Cloudstack Async Jobs
24
- use Generic-Service,service-pnp
25
- check_command cs-nagios_check-asyncjobs!80!90
26
- register 1
27
- }
28
-
29
- ###############################################################################
30
- #
31
- # Service configuration file
32
- #
33
- # END OF FILE
34
- #
35
- ###############################################################################
@@ -1,38 +0,0 @@
1
- ###############################################################################
2
- #
3
- # Cloudstack storage_pool services configuration file
4
- #
5
- # Created by: cloudstack-nagios
6
- # Date: <%= date %>
7
- # Version: Nagios 3.x config file
8
- #
9
- # --- DO NOT EDIT THIS FILE BY HAND ---
10
- # cloudstack-nagios will overwite all manual settings during the next update
11
- #
12
- ###############################################################################
13
-
14
- define command {
15
- command_name cs-nagios_check-storage_pool
16
- command_line <%= bin_path -%>cs-nagios check storage_pool --pool_name $ARG3$ --over_provisioning $ARG4$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
17
- register 1
18
- }
19
-
20
- <% storage_pools.each do |storage_pool| -%>
21
- define service {
22
- hostgroup_name Cloudstack-API
23
- service_description Cloudstack Storage Pool <%= storage_pool['name'] %>
24
- display_name Cloudstack Storage Pool <%= storage_pool['name'] %>
25
- use Generic-Service,service-pnp
26
- check_command cs-nagios_check-storage_pool!80!90!<%= storage_pool['name'] %>!<%= over_provisioning %>
27
- register 1
28
- }
29
-
30
- <% end -%>
31
-
32
- ###############################################################################
33
- #
34
- # Service configuration file
35
- #
36
- # END OF FILE
37
- #
38
- ###############################################################################