cloudstack-nagios 0.16.3 → 0.17.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.
- data/Gemfile.lock +1 -1
- data/lib/cloudstack-nagios/cli.rb +5 -2
- data/lib/cloudstack-nagios/commands/icinga2_config.rb +107 -0
- data/lib/cloudstack-nagios/templates/cloudstack_system_vm_services.cfg.erb +2 -2
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_async_jobs.cfg.erb +16 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_capacities.cfg.erb +25 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_hostgroups.cfg.erb +16 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_router_hosts.cfg.erb +11 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_router_services.cfg.erb +149 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_snapshots.cfg.erb +16 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_storage_pools.cfg.erb +24 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_system_vm_hosts.cfg.erb +13 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_system_vm_services.cfg.erb +123 -0
- data/lib/cloudstack-nagios/templates/icinga2/cloudstack_zone_hosts.cfg.erb +10 -0
- data/lib/cloudstack-nagios/templates/icinga2/footer.cfg.erb +7 -0
- data/lib/cloudstack-nagios/templates/icinga2/header.cfg.erb +12 -0
- data/lib/cloudstack-nagios/version.rb +1 -1
- metadata +15 -2
data/Gemfile.lock
CHANGED
@@ -4,7 +4,7 @@ module CloudstackNagios
|
|
4
4
|
class Cli < CloudstackNagios::Base
|
5
5
|
include Thor::Actions
|
6
6
|
|
7
|
-
package_name "cloudstack-nagios"
|
7
|
+
package_name "cloudstack-nagios"
|
8
8
|
map %w(-v --version) => :version
|
9
9
|
|
10
10
|
class_option :config,
|
@@ -82,13 +82,16 @@ module CloudstackNagios
|
|
82
82
|
map :envs => :environments
|
83
83
|
|
84
84
|
# require subcommands
|
85
|
-
Dir[File.dirname(__FILE__) + '/commands/*.rb'].each do |command|
|
85
|
+
Dir[File.dirname(__FILE__) + '/commands/*.rb'].each do |command|
|
86
86
|
require command
|
87
87
|
end
|
88
88
|
|
89
89
|
desc "nagios_config SUBCOMMAND ...ARGS", "Nagios configuration commands"
|
90
90
|
subcommand :nagios_config, NagiosConfig
|
91
91
|
|
92
|
+
desc "icinga2_config SUBCOMMAND ...ARGS", "Icinga2 configuration commands"
|
93
|
+
subcommand :icinga2_config, Icinga2Config
|
94
|
+
|
92
95
|
desc "snmpd_config SUBCOMMAND ...ARGS", "snmpd configuration commands"
|
93
96
|
subcommand :snmpd_config, SnmpdConfig
|
94
97
|
|
@@ -0,0 +1,107 @@
|
|
1
|
+
class Icinga2Config < CloudstackNagios::Base
|
2
|
+
|
3
|
+
TEMPLATE_DIR = File.join(File.dirname(__FILE__), '..', 'templates', 'icinga2')
|
4
|
+
|
5
|
+
desc "generate [type]", "generate all nagios configs"
|
6
|
+
option :bin_path, desc: "absolute path to the nagios-cloudstack binary"
|
7
|
+
option :template,
|
8
|
+
desc: "Path of ERB template to use. Only valid when generating a single configuration",
|
9
|
+
aliases: '-t'
|
10
|
+
option :if_speed,
|
11
|
+
desc: 'network interface speed in bits per second',
|
12
|
+
type: :numeric,
|
13
|
+
default: 1000000,
|
14
|
+
aliases: '-s'
|
15
|
+
option :ssh_key,
|
16
|
+
desc: 'ssh private key to use',
|
17
|
+
default: '/var/lib/cloud/management/.ssh/id_rsa'
|
18
|
+
option :ssh_port,
|
19
|
+
desc: 'ssh port to use',
|
20
|
+
type: :numeric,
|
21
|
+
default: 3922,
|
22
|
+
aliases: '-p'
|
23
|
+
option :over_provisioning, type: :numeric, default: 1.0
|
24
|
+
def generate(*configs)
|
25
|
+
configs = get_configs(configs)
|
26
|
+
if configs.size == 0
|
27
|
+
say "Please specify a valid configuration.", :green
|
28
|
+
say "Possible values are..."
|
29
|
+
invoke "nagios_config:list", []
|
30
|
+
exit
|
31
|
+
end
|
32
|
+
|
33
|
+
routers = configs.include?("router_hosts") ? cs_routers : nil
|
34
|
+
system_vms = configs.include?("system_vm_hosts") ? cs_system_vms : nil
|
35
|
+
pools = configs.include?("storage_pools") ? storage_pools : nil
|
36
|
+
zones = client.list_zones
|
37
|
+
config_name = configs.size == 1 ?
|
38
|
+
"#{configs[0]} configuration" :
|
39
|
+
"all configurations"
|
40
|
+
|
41
|
+
header = load_template(File.join(TEMPLATE_DIR, "header.cfg.erb"))
|
42
|
+
output = header.result(
|
43
|
+
config_name: config_name,
|
44
|
+
date: date_string
|
45
|
+
)
|
46
|
+
configs.each do |config|
|
47
|
+
if configs.size == 1 && options[:template]
|
48
|
+
tmpl_file = options[:template]
|
49
|
+
else
|
50
|
+
tmpl_file = File.join(TEMPLATE_DIR, "cloudstack_#{config}.cfg.erb")
|
51
|
+
end
|
52
|
+
template = load_template(tmpl_file)
|
53
|
+
output += template.result(
|
54
|
+
routers: routers,
|
55
|
+
system_vms: system_vms,
|
56
|
+
bin_path: bin_path,
|
57
|
+
if_speed: options[:if_speed],
|
58
|
+
config_file: options[:config],
|
59
|
+
zones: zones,
|
60
|
+
capacity_types: Capacity::CAPACITY_TYPES,
|
61
|
+
storage_pools: pools,
|
62
|
+
over_provisioning: options[:over_provisioning],
|
63
|
+
ssh_key: options[:ssh_key],
|
64
|
+
ssh_port: options[:ssh_port]
|
65
|
+
)
|
66
|
+
end
|
67
|
+
footer = load_template(File.join(TEMPLATE_DIR, "footer.cfg.erb"))
|
68
|
+
output += footer.result(
|
69
|
+
config_name: config_name
|
70
|
+
)
|
71
|
+
puts output
|
72
|
+
end
|
73
|
+
|
74
|
+
desc "list", "show a list of possible configurations which can be generated."
|
75
|
+
def list
|
76
|
+
configs = get_configs
|
77
|
+
puts ["all"] << configs
|
78
|
+
end
|
79
|
+
|
80
|
+
no_commands do
|
81
|
+
|
82
|
+
def get_configs(configs = [])
|
83
|
+
all_configs = %w(hostgroups zone_hosts router_hosts router_services system_vm_hosts system_vm_services capacities async_jobs snapshots storage_pools)
|
84
|
+
if configs.size == 0
|
85
|
+
return all_configs
|
86
|
+
else
|
87
|
+
if configs.size == 1 && configs[0].downcase == "all"
|
88
|
+
return all_configs
|
89
|
+
end
|
90
|
+
return all_configs.select { |config| configs.include? config }
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def date_string
|
95
|
+
Time.new.strftime("%d.%m.%Y - %H:%M:%S")
|
96
|
+
end
|
97
|
+
|
98
|
+
def bin_path
|
99
|
+
unless options[:bin_path]
|
100
|
+
return ''
|
101
|
+
else
|
102
|
+
return options[:bin_path].end_with?('/') ? options[:bin_path] : options[:bin_path] + "/"
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
@@ -74,7 +74,7 @@ define service {
|
|
74
74
|
define service {
|
75
75
|
hostgroup_name CloudstackSystemVm
|
76
76
|
service_description Cloudstack System VM DiskUsageRoot
|
77
|
-
display_name Cloudstack System VM
|
77
|
+
display_name Cloudstack System VM DiskUsageRoot
|
78
78
|
use Generic-Service,service-pnp
|
79
79
|
check_command cs-nagios_check_systemvm-diskusage!80!90!/
|
80
80
|
register 1
|
@@ -83,7 +83,7 @@ define service {
|
|
83
83
|
define service {
|
84
84
|
hostgroup_name CloudstackSystemVm
|
85
85
|
service_description Cloudstack System VM DiskUsageVar
|
86
|
-
display_name Cloudstack System VM
|
86
|
+
display_name Cloudstack System VM DiskUsageVar
|
87
87
|
use Generic-Service,service-pnp
|
88
88
|
check_command cs-nagios_check_systemvm-diskusage!80!90!/var
|
89
89
|
register 1
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
object CheckCommand "cs-nagios_check-asyncjobs" {
|
3
|
+
import "plugin-check-command"
|
4
|
+
command = [ "<%= bin_path -%>cs-nagios check async_jobs" ]
|
5
|
+
arguments = {
|
6
|
+
"-w" = "80"
|
7
|
+
"-c" = "90"
|
8
|
+
"--config" = "<%= config_file %>"
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
apply Service "Cloudstack Async Jobs" {
|
13
|
+
import "generic-service-pnp"
|
14
|
+
check_command = "cs-nagios_check-asyncjobs"
|
15
|
+
assign where "CloudstackSystemVm" in host.groups
|
16
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
<% capacity_types.each do |cap_type, cap_values| -%>
|
3
|
+
object CheckCommand "cs-nagios_check-capacity_<%= cap_values[:method_name] %>" {
|
4
|
+
import "plugin-check-command"
|
5
|
+
command = [ "<%= bin_path -%>cs-nagios check capacity <%= cap_values[:method_name] %>" ]
|
6
|
+
|
7
|
+
arguments = {
|
8
|
+
"-w" = "80"
|
9
|
+
"-c" = "90"
|
10
|
+
"--config" = "<%= config_file %>"
|
11
|
+
"--zone" = "$ARG3$"
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
<% end -%>
|
16
|
+
<% zones.each do |zone| -%>
|
17
|
+
<% capacity_types.each do |cap_type, cap_values| -%>
|
18
|
+
apply Service "Cloudstack <%= zone['name'] %> <%= cap_values[:name] %>" {
|
19
|
+
import "generic-service-pnp"
|
20
|
+
check_command = "cs-nagios_check-capacity_<%= cap_values[:method_name] -%>"
|
21
|
+
assign where host.name in [ "Cloudstack_<%= zone['name'] %>" ]
|
22
|
+
}
|
23
|
+
|
24
|
+
<% end -%>
|
25
|
+
<% end -%>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
object HostGroup "Cloudstack" {
|
3
|
+
display_name = "Cloudstack"
|
4
|
+
}
|
5
|
+
|
6
|
+
object HostGroup "CloudstackRouter" {
|
7
|
+
display_name = "CloudstackRouter"
|
8
|
+
}
|
9
|
+
|
10
|
+
object HostGroup "CloudstackSystemVm" {
|
11
|
+
display_name = "CloudstackSystemVm"
|
12
|
+
}
|
13
|
+
|
14
|
+
object HostGroup "CloudstackSSVM" {
|
15
|
+
display_name = "CloudstackSSVM"
|
16
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
|
2
|
+
<% routers.each do |router| -%>
|
3
|
+
<% if router['linklocalip'] -%>
|
4
|
+
object Host "<%= router['name'] %> (<%= router['linklocalip'] %>)<%= " - #{router['project']}" if router['project'] %> - <%= router['zonename'] %>" {
|
5
|
+
import "generic-host"
|
6
|
+
address = "<%= router['linklocalip'] %>"
|
7
|
+
groups = [ "CloudstackRouter" <%= ', "datacenter-ix"' if router['zonename'] == 'ZUERICH_IX' %> <%= ', "datacenter-bie"' if router['zonename'] == 'BIEL_CU01' %> ]
|
8
|
+
}
|
9
|
+
|
10
|
+
<% end -%>
|
11
|
+
<% end -%>
|
@@ -0,0 +1,149 @@
|
|
1
|
+
|
2
|
+
object CheckCommand "cs-nagios_check-memory" {
|
3
|
+
import "plugin-check-command"
|
4
|
+
command = [ "<%= bin_path -%>cs-nagios check router memory" ]
|
5
|
+
|
6
|
+
arguments = {
|
7
|
+
"-H" = "$address$"
|
8
|
+
"-w" = "80"
|
9
|
+
"-c" = "90"
|
10
|
+
"--ssh_key" = "<%= ssh_key %>"
|
11
|
+
"--ssh-port" = "<%= ssh_port %>"
|
12
|
+
"--config" = "<%= config_file %>"
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
object CheckCommand "cs-nagios_check-cpu" {
|
17
|
+
import "plugin-check-command"
|
18
|
+
command = [ "<%= bin_path -%>cs-nagios check router cpu" ]
|
19
|
+
|
20
|
+
arguments = {
|
21
|
+
"-H" = "$address$"
|
22
|
+
"-w" = "80"
|
23
|
+
"-c" = "90"
|
24
|
+
"--ssh_key" = "<%= ssh_key %>"
|
25
|
+
"--ssh-port" = "<%= ssh_port %>"
|
26
|
+
"--config" = "<%= config_file %>"
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
object CheckCommand "cs-nagios_check-network" {
|
31
|
+
import "plugin-check-command"
|
32
|
+
command = [ "<%= bin_path -%>cs-nagios check router network" ]
|
33
|
+
|
34
|
+
arguments = {
|
35
|
+
"-H" = "$address$"
|
36
|
+
"-w" = "80"
|
37
|
+
"-c" = "90"
|
38
|
+
"--if-speed" = "<%= if_speed %>"
|
39
|
+
"--ssh_key" = "<%= ssh_key %>"
|
40
|
+
"--ssh-port" = "<%= ssh_port %>"
|
41
|
+
"--config" = "<%= config_file %>"
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
object CheckCommand "cs-nagios_check-rootfsrw" {
|
46
|
+
import "plugin-check-command"
|
47
|
+
command = [ "<%= bin_path -%>cs-nagios check router rootfs_rw" ]
|
48
|
+
|
49
|
+
arguments = {
|
50
|
+
"-H" = "$address$"
|
51
|
+
"-w" = "80"
|
52
|
+
"-c" = "90"
|
53
|
+
"--ssh_key" = "<%= ssh_key %>"
|
54
|
+
"--ssh-port" = "<%= ssh_port %>"
|
55
|
+
"--config" = "<%= config_file %>"
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
object CheckCommand "cs-nagios_check-diskusage" {
|
60
|
+
import "plugin-check-command"
|
61
|
+
command = [ "<%= bin_path -%>cs-nagios check router disk_usage" ]
|
62
|
+
|
63
|
+
arguments = {
|
64
|
+
"-H" = "$address$"
|
65
|
+
"-w" = "80"
|
66
|
+
"-c" = "90"
|
67
|
+
"-P" = "/var"
|
68
|
+
"--ssh_key" = "<%= ssh_key %>"
|
69
|
+
"--ssh-port" = "<%= ssh_port %>"
|
70
|
+
"--config" = "<%= config_file %>"
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
object CheckCommand "cs-nagios_check-conntrack_connections" {
|
75
|
+
import "plugin-check-command"
|
76
|
+
command = [ "<%= bin_path -%>cs-nagios check router conntrack_connections" ]
|
77
|
+
|
78
|
+
arguments = {
|
79
|
+
"-H" = "$address$"
|
80
|
+
"-w" = "80"
|
81
|
+
"-c" = "90"
|
82
|
+
"--ssh_key" = "<%= ssh_key %>"
|
83
|
+
"--ssh-port" = "<%= ssh_port %>"
|
84
|
+
"--config" = "<%= config_file %>"
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
object CheckCommand "cs-nagios_check-active_ftp" {
|
89
|
+
import "plugin-check-command"
|
90
|
+
command = [ "<%= bin_path -%>cs-nagios check router active_ftp" ]
|
91
|
+
|
92
|
+
arguments = {
|
93
|
+
"-H" = "$address$"
|
94
|
+
"-w" = "80"
|
95
|
+
"-c" = "90"
|
96
|
+
"-P" = "/"
|
97
|
+
"--ssh_key" = "<%= ssh_key %>"
|
98
|
+
"--ssh-port" = "<%= ssh_port %>"
|
99
|
+
"--config" = "<%= config_file %>"
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
apply Service "Cloudstack Virtual Router Memory" {
|
104
|
+
import "generic-service-pnp"
|
105
|
+
check_command = "cs-nagios_check-memory"
|
106
|
+
assign where "CloudstackRouter" in host.groups
|
107
|
+
}
|
108
|
+
|
109
|
+
apply Service "Cloudstack Virtual Router CPU" {
|
110
|
+
import "generic-service-pnp"
|
111
|
+
check_command = "cs-nagios_check-cpu"
|
112
|
+
assign where "CloudstackRouter" in host.groups
|
113
|
+
}
|
114
|
+
|
115
|
+
apply Service "Cloudstack Virtual Router Network" {
|
116
|
+
import "generic-service-pnp"
|
117
|
+
check_command = "cs-nagios_check-network"
|
118
|
+
assign where "CloudstackRouter" in host.groups
|
119
|
+
}
|
120
|
+
|
121
|
+
apply Service "Cloudstack Virtual Router RootFS r/w" {
|
122
|
+
import "generic-service-pnp"
|
123
|
+
check_command = "cs-nagios_check-rootfsrw"
|
124
|
+
assign where "CloudstackRouter" in host.groups
|
125
|
+
}
|
126
|
+
|
127
|
+
apply Service "Cloudstack Virtual Router DiskUsageRoot" {
|
128
|
+
import "generic-service-pnp"
|
129
|
+
check_command = "cs-nagios_check-diskusage"
|
130
|
+
assign where "CloudstackRouter" in host.groups
|
131
|
+
}
|
132
|
+
|
133
|
+
apply Service "Cloudstack Virtual Router DiskUsageVar" {
|
134
|
+
import "generic-service-pnp"
|
135
|
+
check_command = "cs-nagios_check-diskusage"
|
136
|
+
assign where "CloudstackRouter" in host.groups
|
137
|
+
}
|
138
|
+
|
139
|
+
apply Service "Cloudstack Virtual Router ConntrackConnections" {
|
140
|
+
import "generic-service-pnp"
|
141
|
+
check_command = "cs-nagios_check-conntrack_connections"
|
142
|
+
assign where "CloudstackRouter" in host.groups
|
143
|
+
}
|
144
|
+
|
145
|
+
apply Service "Cloudstack Virtual Router ActiveFTP" {
|
146
|
+
import "generic-service-pnp"
|
147
|
+
check_command = "cs-nagios_check-active_ftp"
|
148
|
+
assign where "CloudstackRouter" in host.groups
|
149
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
object CheckCommand "cs-nagios_check-snapshots" {
|
3
|
+
import "plugin-check-command"
|
4
|
+
command = [ "<%= bin_path -%>cs-nagios check snapshots" ]
|
5
|
+
arguments = {
|
6
|
+
"-w" = "80"
|
7
|
+
"-c" = "90"
|
8
|
+
"--config" = "<%= config_file %>"
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
apply Service "Cloudstack Snapshots" {
|
13
|
+
import "generic-service-pnp"
|
14
|
+
assign where "Cloudstack" in host.groups
|
15
|
+
check_command = "cs-nagios_check-snapshots"
|
16
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
object CheckCommand "cs-nagios_check-storage_pool" {
|
3
|
+
import "plugin-check-command"
|
4
|
+
command = [ "<%= bin_path -%>cs-nagios check storage_pool" ]
|
5
|
+
arguments = {
|
6
|
+
"--pool_name" = "$ARG3$"
|
7
|
+
"--over_provisioning" = "ARG4"
|
8
|
+
"--config" = "<%= config_file %>"
|
9
|
+
"-w" = "80"
|
10
|
+
"-c" = "90"
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
<% storage_pools.each do |storage_pool| -%>
|
15
|
+
apply Service "Cloudstack Storage Pool <%= storage_pool['zonename'] %> <%= storage_pool['name'] %>" {
|
16
|
+
import "generic-service-pnp"
|
17
|
+
|
18
|
+
check_command = "cs-nagios_check-storage_pool!80!90!<%= storage_pool['name'] %>!<%= over_provisioning %>"
|
19
|
+
vars.sla = "24x7"
|
20
|
+
|
21
|
+
assign where "Cloudstack_<%= storage_pool['zonename'] %>" in host.groups
|
22
|
+
}
|
23
|
+
|
24
|
+
<% end -%>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
<% system_vms.each do |vm| -%>
|
3
|
+
<% if vm['privateip'] -%>
|
4
|
+
object Host "<%= vm['name'] %>" {
|
5
|
+
import "generic-host"
|
6
|
+
vars.os = "Linux"
|
7
|
+
vars.os_family = "RedHat"
|
8
|
+
address = "<%= vm['privateip'] %>"
|
9
|
+
groups = [ "CloudstackSystemVm<%= '" , "CloudstackSSVM' if vm['systemvmtype'] == 'secondarystoragevm' %>" ]
|
10
|
+
}
|
11
|
+
|
12
|
+
<% end -%>
|
13
|
+
<% end -%>
|
@@ -0,0 +1,123 @@
|
|
1
|
+
|
2
|
+
object CheckCommand "cs-nagios_check_systemvm-memory" {
|
3
|
+
import "plugin-check-command"
|
4
|
+
command = [ "<%= bin_path -%>cs-nagios check system_vm memory" ]
|
5
|
+
arguments = {
|
6
|
+
"-H" = "$address$"
|
7
|
+
"-w" = "80"
|
8
|
+
"-c" = "90"
|
9
|
+
"--ssh-key" = "<%= ssh_key %>"
|
10
|
+
"--ssh-port" = "<%= ssh_port %>"
|
11
|
+
"--config" = "<%= config_file %>"
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
object CheckCommand "cs-nagios_check_systemvm-cpu" {
|
16
|
+
import "plugin-check-command"
|
17
|
+
command = [ "<%= bin_path -%>cs-nagios check system_vm cpu" ]
|
18
|
+
arguments = {
|
19
|
+
"-H" = "$address$"
|
20
|
+
"-w" = "80"
|
21
|
+
"-c" = "90"
|
22
|
+
"--ssh-key" = "<%= ssh_key %>"
|
23
|
+
"--ssh-port" = "<%= ssh_port %>"
|
24
|
+
"--config" = "<%= config_file %>"
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
object CheckCommand "cs-nagios_check_systemvm-network" {
|
29
|
+
import "plugin-check-command"
|
30
|
+
command = [ "<%= bin_path -%>cs-nagios check system_vm network" ]
|
31
|
+
arguments = {
|
32
|
+
"-H" = "$address$"
|
33
|
+
"-w" = "80"
|
34
|
+
"-c" = "90"
|
35
|
+
"--if-speed" = "<%= if_speed %>"
|
36
|
+
"--ssh-key" = "<%= ssh_key %>"
|
37
|
+
"--ssh-port" = "<%= ssh_port %>"
|
38
|
+
"--config" = "<%= config_file %>"
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
object CheckCommand "cs-nagios_check_systemvm-fsrw" {
|
43
|
+
import "plugin-check-command"
|
44
|
+
command = [ "<%= bin_path -%>cs-nagios check system_vm fs_rw" ]
|
45
|
+
arguments = {
|
46
|
+
"-H" = "$address$"
|
47
|
+
"-w" = "80"
|
48
|
+
"-c" = "90"
|
49
|
+
"--ssh-key" = "<%= ssh_key %>"
|
50
|
+
"--ssh-port" = "<%= ssh_port %>"
|
51
|
+
"--config" = "<%= config_file %>"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
object CheckCommand "cs-nagios_check_systemvm-diskusage" {
|
56
|
+
import "plugin-check-command"
|
57
|
+
command = [ "<%= bin_path -%>cs-nagios check system_vm disk_usage" ]
|
58
|
+
arguments = {
|
59
|
+
"-H" = "$address$"
|
60
|
+
"-w" = "80"
|
61
|
+
"-c" = "90"
|
62
|
+
"-P" = "/var/"
|
63
|
+
"--ssh-key" = "<%= ssh_key %>"
|
64
|
+
"--ssh-port" = "<%= ssh_port %>"
|
65
|
+
"--config" = "<%= config_file %>"
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
object CheckCommand "cs-nagios_check_systemvm-secstorrw" {
|
70
|
+
import "plugin-check-command"
|
71
|
+
command = [ "<%= bin_path -%>cs-nagios check system_vm secstor_rw" ]
|
72
|
+
arguments = {
|
73
|
+
"-H" = "$address$"
|
74
|
+
"-w" = "80"
|
75
|
+
"-c" = "90"
|
76
|
+
"-P" = "/var/"
|
77
|
+
"--ssh-key" = "<%= ssh_key %>"
|
78
|
+
"--ssh-port" = "<%= ssh_port %>"
|
79
|
+
"--config" = "<%= config_file %>"
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
apply Service "Cloudstack System VM Memory" {
|
84
|
+
import "generic-service-pnp"
|
85
|
+
check_command = "cs-nagios_check_systemvm-memory"
|
86
|
+
assign where "CloudstackSystemVm" in host.groups
|
87
|
+
}
|
88
|
+
|
89
|
+
apply Service "Cloudstack System VM CPU" {
|
90
|
+
import "generic-service-pnp"
|
91
|
+
check_command = "cs-nagios_check_systemvm-cpu"
|
92
|
+
assign where "CloudstackSystemVm" in host.groups
|
93
|
+
}
|
94
|
+
|
95
|
+
apply Service "Cloudstack System VM Network" {
|
96
|
+
import "generic-service-pnp"
|
97
|
+
check_command = "cs-nagios_check_systemvm-network"
|
98
|
+
assign where "CloudstackSystemVm" in host.groups
|
99
|
+
}
|
100
|
+
|
101
|
+
apply Service "Cloudstack System VM FS r/w" {
|
102
|
+
import "generic-service-pnp"
|
103
|
+
check_command = "cs-nagios_check_systemvm-fsrw"
|
104
|
+
assign where "CloudstackSystemVm" in host.groups
|
105
|
+
}
|
106
|
+
|
107
|
+
apply Service "Cloudstack System VM DiskUsageRoot" {
|
108
|
+
import "generic-service-pnp"
|
109
|
+
check_command = "cs-nagios_check_systemvm-diskusage"
|
110
|
+
assign where "CloudstackSystemVm" in host.groups
|
111
|
+
}
|
112
|
+
|
113
|
+
apply Service "Cloudstack System VM DiskUsageVar" {
|
114
|
+
import "generic-service-pnp"
|
115
|
+
check_command = "cs-nagios_check_systemvm-diskusage"
|
116
|
+
assign where "CloudstackSystemVm" in host.groups
|
117
|
+
}
|
118
|
+
|
119
|
+
apply Service "Cloudstack SSVM SecondaryStorageRW" {
|
120
|
+
import "generic-service-pnp"
|
121
|
+
check_command = "cs-nagios_check_systemvm-secstorrw"
|
122
|
+
assign where "CloudstackSystemVm" in host.groups
|
123
|
+
}
|
@@ -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
|
+
###############################################################################
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudstack-nagios
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.17.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-11-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdoc
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- lib/cloudstack-nagios/cli.rb
|
152
152
|
- lib/cloudstack-nagios/commands/capacity.rb
|
153
153
|
- lib/cloudstack-nagios/commands/check.rb
|
154
|
+
- lib/cloudstack-nagios/commands/icinga2_config.rb
|
154
155
|
- lib/cloudstack-nagios/commands/nagios_config.rb
|
155
156
|
- lib/cloudstack-nagios/commands/router.rb
|
156
157
|
- lib/cloudstack-nagios/commands/snmpd_config.rb
|
@@ -170,6 +171,18 @@ files:
|
|
170
171
|
- lib/cloudstack-nagios/templates/cloudstack_zone_hosts.cfg.erb
|
171
172
|
- lib/cloudstack-nagios/templates/footer.cfg.erb
|
172
173
|
- lib/cloudstack-nagios/templates/header.cfg.erb
|
174
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_async_jobs.cfg.erb
|
175
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_capacities.cfg.erb
|
176
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_hostgroups.cfg.erb
|
177
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_router_hosts.cfg.erb
|
178
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_router_services.cfg.erb
|
179
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_snapshots.cfg.erb
|
180
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_storage_pools.cfg.erb
|
181
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_system_vm_hosts.cfg.erb
|
182
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_system_vm_services.cfg.erb
|
183
|
+
- lib/cloudstack-nagios/templates/icinga2/cloudstack_zone_hosts.cfg.erb
|
184
|
+
- lib/cloudstack-nagios/templates/icinga2/footer.cfg.erb
|
185
|
+
- lib/cloudstack-nagios/templates/icinga2/header.cfg.erb
|
173
186
|
- lib/cloudstack-nagios/version.rb
|
174
187
|
- lib/cloudstack_nagios.rb
|
175
188
|
homepage: https://github.com/swisstxt/cloudstack-nagios
|