cloudstack-nagios 0.1.1 → 0.1.3
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
CHANGED
@@ -1,19 +1,32 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cloudstack-nagios (0.1.
|
4
|
+
cloudstack-nagios (0.1.2)
|
5
5
|
erubis (~> 2.7.0)
|
6
|
+
highline (~> 1.6.20)
|
7
|
+
sshkit (~> 1.1.0)
|
6
8
|
thor (~> 0.18.1)
|
7
9
|
|
8
10
|
GEM
|
9
11
|
remote: https://rubygems.org/
|
10
12
|
specs:
|
11
13
|
erubis (2.7.0)
|
14
|
+
highline (1.6.20)
|
12
15
|
json (1.8.1)
|
16
|
+
net-scp (1.1.2)
|
17
|
+
net-ssh (>= 2.6.5)
|
18
|
+
net-ssh (2.7.0)
|
13
19
|
rake (10.0.4)
|
14
20
|
rdoc (4.0.1)
|
15
21
|
json (~> 1.4)
|
22
|
+
sshkit (1.1.0)
|
23
|
+
net-scp
|
24
|
+
net-ssh
|
25
|
+
term-ansicolor
|
26
|
+
term-ansicolor (1.2.2)
|
27
|
+
tins (~> 0.8)
|
16
28
|
thor (0.18.1)
|
29
|
+
tins (0.12.0)
|
17
30
|
|
18
31
|
PLATFORMS
|
19
32
|
ruby
|
data/cloudstack-nagios.gemspec
CHANGED
@@ -80,19 +80,16 @@ module CloudstackNagios
|
|
80
80
|
end
|
81
81
|
map :envs => :environments
|
82
82
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
args.each do |arg|
|
87
|
-
arg = arg.split('=')
|
88
|
-
params[arg[0]] = arg[1]
|
89
|
-
end
|
90
|
-
puts JSON.pretty_generate(client.send_request params)
|
83
|
+
# require subcommands
|
84
|
+
Dir[File.dirname(__FILE__) + '/commands/*.rb'].each do |command|
|
85
|
+
require command
|
91
86
|
end
|
92
87
|
|
93
|
-
require File.dirname(__FILE__) + '/commands/nagios_config.rb'
|
94
88
|
desc "nagios_config SUBCOMMAND ...ARGS", "Nagios configuration commands"
|
95
89
|
subcommand :nagios_config, NagiosConfig
|
96
90
|
|
91
|
+
desc "snmpd_config SUBCOMMAND ...ARGS", "snmpd configuration commands"
|
92
|
+
subcommand :snmpd_config, SnmpdConfig
|
93
|
+
|
97
94
|
end # class
|
98
95
|
end # module
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'sshkit/dsl'
|
2
|
+
require 'highline/import'
|
3
|
+
|
4
|
+
class SnmpdConfig < CloudstackNagios::Base
|
5
|
+
|
6
|
+
desc "check", "check if snpd is configured on virtual routers"
|
7
|
+
def check
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
desc "enable", "enable snmpd configuration on virtual routers"
|
12
|
+
def enable
|
13
|
+
hosts = routers.map {|router| router['linklocalip']}
|
14
|
+
on hosts, in: :sequence, wait: 5 do
|
15
|
+
puts
|
16
|
+
puts "On host #{host}"
|
17
|
+
puts "____" * 20
|
18
|
+
puts
|
19
|
+
puts output = capture(:free, '-m')
|
20
|
+
puts output =~ /Mem:\s+(\d+)\s+(\d+)/
|
21
|
+
puts $1
|
22
|
+
puts $2
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
no_commands do
|
27
|
+
|
28
|
+
def snmp_hosts(host_names)
|
29
|
+
hosts = host_names.map do |host_name|
|
30
|
+
host = SSHKit::Host.new("root@#{host_name}")
|
31
|
+
host
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
###############################################################################
|
2
|
+
#
|
3
|
+
# EXAMPLE.conf:
|
4
|
+
# An example configuration file for configuring the Net-SNMP agent ('snmpd')
|
5
|
+
# See the 'snmpd.conf(5)' man page for details
|
6
|
+
#
|
7
|
+
# Some entries are deliberately commented out, and will need to be explicitly activated
|
8
|
+
#
|
9
|
+
###############################################################################
|
10
|
+
#
|
11
|
+
# SNMPv3 AUTHENTICATION
|
12
|
+
#
|
13
|
+
# Note that these particular settings don't actually belong here.
|
14
|
+
# They should be copied to the file /var/lib/snmp/snmpd.conf
|
15
|
+
# and the passwords changed, before being uncommented in that file *only*.
|
16
|
+
# Then restart the agent
|
17
|
+
|
18
|
+
# createUser authOnlyUser MD5 "remember to change this password"
|
19
|
+
# createUser authPrivUser SHA "remember to change this one too" DES
|
20
|
+
# createUser internalUser MD5 "this is only ever used internally, but still change the password"
|
21
|
+
|
22
|
+
# If you also change the usernames (which might be sensible),
|
23
|
+
# then remember to update the other occurances in this example config file to match.
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
###############################################################################
|
28
|
+
#
|
29
|
+
# ACCESS CONTROL
|
30
|
+
#
|
31
|
+
|
32
|
+
# system + hrSystem groups only
|
33
|
+
view systemonly included .1
|
34
|
+
|
35
|
+
# Full access from the local host
|
36
|
+
#rocommunity public localhost
|
37
|
+
# Default access to basic system info
|
38
|
+
rocommunity public default -V systemonly
|
39
|
+
|
40
|
+
# Full access from an example network
|
41
|
+
# Adjust this network address to match your local
|
42
|
+
# settings, change the community string,
|
43
|
+
# and check the 'agentAddress' setting above
|
44
|
+
#rocommunity secret 10.0.0.0/16
|
45
|
+
|
46
|
+
# Full read-only access for SNMPv3
|
47
|
+
rouser authOnlyUser
|
48
|
+
# Full write access for encrypted requests
|
49
|
+
# Remember to activate the 'createUser' lines above
|
50
|
+
#rwuser authPrivUser priv
|
51
|
+
|
52
|
+
# It's no longer typically necessary to use the full 'com2sec/group/access' configuration
|
53
|
+
# r[ou]user and r[ow]community, together with suitable views, should cover most requirements
|
54
|
+
|
55
|
+
|
56
|
+
###############################################################################
|
57
|
+
#
|
58
|
+
# SYSTEM INFORMATION
|
59
|
+
#
|
60
|
+
|
61
|
+
# Note that setting these values here, results in the corresponding MIB objects being 'read-only'
|
62
|
+
# See snmpd.conf(5) for more details
|
63
|
+
sysLocation Sitting on the Dock of the Bay
|
64
|
+
sysContact Me <me@example.org>
|
65
|
+
# Application + End-to-End layers
|
66
|
+
sysServices 72
|
67
|
+
|
68
|
+
|
69
|
+
#
|
70
|
+
# Process Monitoring
|
71
|
+
#
|
72
|
+
# At least one 'mountd' process
|
73
|
+
proc mountd
|
74
|
+
# No more than 4 'ntalkd' processes - 0 is OK
|
75
|
+
proc ntalkd 4
|
76
|
+
# At least one 'sendmail' process, but no more than 10
|
77
|
+
proc sendmail 10 1
|
78
|
+
|
79
|
+
# Walk the UCD-SNMP-MIB::prTable to see the resulting output
|
80
|
+
# Note that this table will be empty if there are no "proc" entries in the snmpd.conf file
|
81
|
+
|
82
|
+
|
83
|
+
#
|
84
|
+
# Disk Monitoring
|
85
|
+
#
|
86
|
+
# 10MBs required on root disk, 5% free on /var, 10% free on all other disks
|
87
|
+
disk / 10000
|
88
|
+
disk /var 5%
|
89
|
+
includeAllDisks 10%
|
90
|
+
|
91
|
+
# Walk the UCD-SNMP-MIB::dskTable to see the resulting output
|
92
|
+
# Note that this table will be empty if there are no "disk" entries in the snmpd.conf file
|
93
|
+
|
94
|
+
|
95
|
+
#
|
96
|
+
# System Load
|
97
|
+
#
|
98
|
+
# Unacceptable 1-, 5-, and 15-minute load averages
|
99
|
+
load 12 10 5
|
100
|
+
|
101
|
+
# Walk the UCD-SNMP-MIB::laTable to see the resulting output
|
102
|
+
# Note that this table *will* be populated, even without a "load" entry in the snmpd.conf file
|
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.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -75,6 +75,38 @@ dependencies:
|
|
75
75
|
- - ~>
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: 2.7.0
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: sshkit
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.1.0
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.1.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: highline
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.6.20
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.6.20
|
78
110
|
description: cloudstack-nagios generates nagios configuration and checks for monitoring
|
79
111
|
cloudstack with nagios.
|
80
112
|
email:
|
@@ -119,6 +151,8 @@ files:
|
|
119
151
|
- lib/cloudstack-nagios/base.rb
|
120
152
|
- lib/cloudstack-nagios/cli.rb
|
121
153
|
- lib/cloudstack-nagios/commands/nagios_config.rb
|
154
|
+
- lib/cloudstack-nagios/commands/snmpd_config.rb
|
155
|
+
- lib/cloudstack-nagios/files/snmpd.conf
|
122
156
|
- lib/cloudstack-nagios/helper.rb
|
123
157
|
- lib/cloudstack-nagios/templates/cloudstack_routers_hosts.cfg.erb
|
124
158
|
- lib/cloudstack-nagios/templates/cloudstack_routers_services.cfg.erb
|