cloudstack-nagios 0.3.1 → 0.3.2
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.
- data/lib/cloudstack-nagios/cli.rb +3 -1
- data/lib/cloudstack-nagios/commands/nagios_config.rb +18 -2
- data/lib/cloudstack-nagios/helper.rb +3 -2
- data/lib/cloudstack-nagios/templates/cloudstack_routers_hosts.cfg.erb +5 -5
- data/lib/cloudstack-nagios/templates/cloudstack_routers_services.cfg.erb +9 -9
- data/lib/cloudstack-nagios/version.rb +2 -2
- metadata +1 -1
@@ -8,7 +8,9 @@ module CloudstackNagios
|
|
8
8
|
map %w(-v --version) => :version
|
9
9
|
|
10
10
|
class_option :config,
|
11
|
-
default: ENV['HOME'] ?
|
11
|
+
default: ENV['HOME'] ?
|
12
|
+
File.join(Dir.home, '.cloudstack-nagios.yml') :
|
13
|
+
'/var/icinga/.cloudstack-nagios.yml',
|
12
14
|
desc: 'location of your cloudstack-nagios configuration file'
|
13
15
|
|
14
16
|
class_option :environment,
|
@@ -7,7 +7,10 @@ class NagiosConfig < CloudstackNagios::Base
|
|
7
7
|
aliases: '-t'
|
8
8
|
def hosts
|
9
9
|
host_template = load_template(options[:template])
|
10
|
-
puts host_template.result(
|
10
|
+
puts host_template.result(
|
11
|
+
routers: cs_routers,
|
12
|
+
date: date_string
|
13
|
+
)
|
11
14
|
end
|
12
15
|
|
13
16
|
desc "services", "generate nagios services configuration for virtual routers"
|
@@ -16,8 +19,21 @@ class NagiosConfig < CloudstackNagios::Base
|
|
16
19
|
default: File.join(File.dirname(__FILE__), '..', 'templates', 'cloudstack_routers_services.cfg.erb'),
|
17
20
|
aliases: '-t'
|
18
21
|
def services
|
22
|
+
bin_path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'bin'))
|
23
|
+
config_file = options[:config]
|
19
24
|
service_template = load_template(options[:template])
|
20
|
-
puts service_template.result(
|
25
|
+
puts service_template.result(
|
26
|
+
routers: cs_routers,
|
27
|
+
bin_path: bin_path,
|
28
|
+
config_file: config_file,
|
29
|
+
date: date_string
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
no_commands do
|
34
|
+
def date_string
|
35
|
+
Time.new.strftime("%d.%m.%Y - %H:%M:%S")
|
36
|
+
end
|
21
37
|
end
|
22
38
|
|
23
39
|
end
|
@@ -2,8 +2,9 @@ module CloudstackNagios
|
|
2
2
|
module Helper
|
3
3
|
def load_template(template_path)
|
4
4
|
if File.file?(template_path)
|
5
|
-
templ = File.read
|
6
|
-
|
5
|
+
templ = Erubis::Eruby.new(File.read template_path)
|
6
|
+
templ.filename = template_path
|
7
|
+
return templ
|
7
8
|
else
|
8
9
|
say "Error: template not found #{template_path}"
|
9
10
|
exit 1
|
@@ -2,12 +2,12 @@
|
|
2
2
|
#
|
3
3
|
# Host configuration file
|
4
4
|
#
|
5
|
-
# Created by:
|
6
|
-
# Date: <%=
|
5
|
+
# Created by: cloudstack-nagios
|
6
|
+
# Date: <%= date %>
|
7
7
|
# Version: Nagios 3.x config file
|
8
8
|
#
|
9
9
|
# --- DO NOT EDIT THIS FILE BY HAND ---
|
10
|
-
# cloudstack-
|
10
|
+
# cloudstack-nagios will overwite all manual settings during the next update
|
11
11
|
#
|
12
12
|
###############################################################################
|
13
13
|
|
@@ -23,7 +23,7 @@ define host {
|
|
23
23
|
host_name <%= router['name'] %>
|
24
24
|
display_name <%= router['name'] %> (<%= <%= router['linklocalip'] %>)<%= " - #{router['project']}" if router['project'] %><%= " - #{router['zonename'] %>
|
25
25
|
address <%= router['linklocalip'] %>
|
26
|
-
use
|
26
|
+
use Linux-Host,host-pnp
|
27
27
|
hostgroups Cloudstack-SystemVM
|
28
28
|
check_command check-host-alive
|
29
29
|
register 1
|
@@ -37,4 +37,4 @@ define host {
|
|
37
37
|
#
|
38
38
|
# END OF FILE
|
39
39
|
#
|
40
|
-
###############################################################################
|
40
|
+
###############################################################################
|
@@ -1,10 +1,10 @@
|
|
1
1
|
|
2
2
|
###############################################################################
|
3
3
|
#
|
4
|
-
#
|
4
|
+
# Service configuration file
|
5
5
|
#
|
6
|
-
# Created by:
|
7
|
-
# Date: <%=
|
6
|
+
# Created by: cloudstack-nagios
|
7
|
+
# Date: <%= date %>
|
8
8
|
# Version: Nagios 3.x config file
|
9
9
|
#
|
10
10
|
# --- DO NOT EDIT THIS FILE BY HAND ---
|
@@ -14,25 +14,25 @@
|
|
14
14
|
|
15
15
|
define command {
|
16
16
|
command_name cs-nagios_check-memory
|
17
|
-
command_line
|
17
|
+
command_line <%= bin_path -%>/cs-nagios check memory -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
|
18
18
|
register 1
|
19
19
|
}
|
20
20
|
|
21
21
|
define command {
|
22
22
|
command_name cs-nagios_check-cpu
|
23
|
-
command_line
|
23
|
+
command_line <%= bin_path -%>/cs-nagios check cpu -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
|
24
24
|
register 1
|
25
25
|
}
|
26
26
|
|
27
27
|
define command {
|
28
28
|
command_name cs-nagios_check-network
|
29
|
-
command_line
|
29
|
+
command_line <%= bin_path -%>/cs-nagios check network -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
|
30
30
|
register 1
|
31
31
|
}
|
32
32
|
|
33
33
|
define command {
|
34
34
|
command_name cs-nagios_check-rootfsrw
|
35
|
-
command_line
|
35
|
+
command_line <%= bin_path -%>/cs-nagios check rootfs_rw -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ --config <%= config_file %>
|
36
36
|
register 1
|
37
37
|
}
|
38
38
|
|
@@ -74,8 +74,8 @@ define service {
|
|
74
74
|
|
75
75
|
###############################################################################
|
76
76
|
#
|
77
|
-
#
|
77
|
+
# Service configuration file
|
78
78
|
#
|
79
79
|
# END OF FILE
|
80
80
|
#
|
81
|
-
###############################################################################
|
81
|
+
###############################################################################
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module CloudstackNagios
|
2
|
-
VERSION = "0.3.
|
3
|
-
end
|
2
|
+
VERSION = "0.3.2"
|
3
|
+
end
|