cloudstack-nagios 0.7.8 → 0.8.0

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