cloudstack-nagios 0.16.3 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|