icinga2 0.7.0.1 → 0.8.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,32 +1,60 @@
1
1
  # Icinga2 - Notifications
2
2
 
3
3
 
4
- ## -
4
+ ## <a name="enable-host-notification"></a>enable host notifications
5
5
  enable_host_notification( host )
6
6
 
7
- ## -
7
+ ### Example
8
+ @icinga.enable_host_notification('icinga')
9
+
10
+
11
+ ## <a name="disable-host-notification"></a>disable host notifications
8
12
  disable_host_notification( host )
9
13
 
10
- ## -
11
- enable_service_notification( params = {} )
14
+ ### Example
15
+ @icinga.disable_host_notification('icinga')
16
+
17
+
18
+ ## <a name="enable-service-notification"></a>enable service notifications
19
+ enable_service_notification( host )
12
20
 
13
- ## -
21
+ ### Example
22
+ @icinga.enable_service_notification('icinga')
23
+
24
+
25
+ ## <a name="disable-service-notification"></a>disable service notifications
14
26
  disable_service_notification( host )
15
27
 
16
- ## -
17
- enable_hostgroup_notification( group )
28
+ ### Example
29
+ @icinga.disable_service_notification('icinga')
30
+
31
+
32
+ ## <a name="enable-hostgroup-notification"></a>enable hostgroup notifications
33
+ enable_hostgroup_notification( params )
34
+
35
+ ### Example
36
+ @icinga.enable_hostgroup_notification(host: 'icinga2', host_group: 'linux-servers')
37
+
38
+
39
+ ## <a name="disable-hostgroup-notification"></a>disable hostgroup notifications
40
+ disable_hostgroup_notification( params )
41
+
42
+ ### Example
43
+ @icinga.disable_hostgroup_notification(host: 'icinga2', host_group: 'linux-servers')
44
+
45
+
46
+ ## <a name="list-notifications"></a>list all notifications
47
+ notifications
18
48
 
19
- ## -
20
- disable_hostgroup_notification( group )
49
+ ### Example
50
+ @icinga.notifications
21
51
 
22
- ## -
23
- notifications( params = {} )
24
52
 
25
- ## -
53
+ ## (protected) function for host notifications
26
54
  host_notification( params = {} )
27
55
 
28
- ## -
56
+ ## (protected) function for hostgroup notifications
29
57
  hostgroup_notification( params = {} )
30
58
 
31
- ## -
59
+ ## (protected) function for service notifications
32
60
  service_notification( params = {} )
@@ -1,22 +1,39 @@
1
1
  # Icinga2 - Servicegroups
2
2
 
3
3
 
4
- ## add
5
- add_servicegroup()
4
+ ## <a name="add-servicegroup"></a>add a servicegroup
5
+ add_servicegroup( params )
6
6
 
7
+ ### Example
8
+ @icinga.add_servicegroup(service_group: 'foo', display_name: 'FOO')
7
9
 
8
- ## delete
9
- delete_servicegroup()
10
+ ## <a name="delete-servicegroup"></a>delete a servicegroup
11
+ delete_servicegroup( params )
10
12
 
13
+ ### Example
14
+ @icinga.delete_servicegroup(service_group: 'foo')
11
15
 
12
- ## check
13
- exists_servicegroup?
16
+ ## <a name="list-servicegroup"></a>list servicegroups
17
+
18
+ ### list a named servicegroup
19
+ servicegroups( params )
20
+
21
+ #### Example
22
+ @icinga.servicegroups(service_group: 'disk')
23
+
24
+ ### list all servicegroups
25
+ servicegroups
26
+
27
+ #### Example
28
+ @icinga.servicegroups
29
+
30
+
31
+ ## <a name="servicegroup-exists"></a>checks if the servicegroup exists
32
+ exists_servicegroup?( service_group )
33
+
34
+ ### Example
35
+ @icinga.exists_servicegroup?('disk')
14
36
 
15
- ## list
16
37
 
17
- ### named
18
- servicegroups()
19
38
 
20
- ### all
21
- servicegroups()
22
39
 
@@ -1,7 +1,12 @@
1
1
  # Icinga2 - Services
2
2
 
3
3
 
4
- ## add
4
+ ## <a name="add-service"></a>add services
5
+ add_services( params )
6
+
7
+ **this function is not operable! need help, time and/or beer**
8
+
9
+ ### Example
5
10
  services = {
6
11
  'service-heap-mem' => {
7
12
  'display_name' => 'Tomcat - Heap Memory',
@@ -9,41 +14,106 @@
9
14
  }
10
15
  }
11
16
 
12
- i.add_services( 'foo-bar.lan', services )
17
+ @icinga.add_services( 'foo-bar.lan', services )
13
18
 
14
- ## -
15
19
 
16
- unhandled_services
20
+ ## <a name="list-services"></a>list services
17
21
 
22
+ ### list named service
23
+ services( params )
18
24
 
19
- ## list
25
+ #### Example
26
+ @icinga.services( host: 'icinga2', service: 'ping4' )
20
27
 
21
- ### named
22
- services( 'foo-bar.lan' )
28
+ ### list all services
29
+ services
23
30
 
24
- ### all
25
- services()
31
+ #### Example
32
+ @icinga.services
26
33
 
27
- ## delete
34
+
35
+ ## <a name="delete-service"></a>delete
28
36
  **not yet implemented**
29
37
 
38
+ ## <a name="unhandled-services"></a>list unhandled_services
39
+ **not yet implemented**
40
+
41
+
42
+
43
+
44
+ ## <a name="service-exists"></a>check if the service exists
45
+ exists_service?( params )
46
+
47
+ ### Example
48
+ @icinga.exists_service?(host: 'icinga2', service: 'users' )
49
+
50
+
51
+ ## <a name="list-service-objects"></a>list service objects
52
+ service_objects( params )
53
+
54
+ ### Example
55
+ @icinga.service_objects(attrs: ['name', 'state'], joins: ['host.name','host.state'])
56
+
57
+
58
+ ## <a name="services-adjusted"></a>adjusted service state
59
+ services_adjusted
30
60
 
61
+ ### Example
62
+ @icinga.cib_data
63
+ @icinga.service_objects
64
+ warning, critical, unknown = @icinga.services_adjusted.values
31
65
 
32
- ## check
33
- exists_service?
66
+ or
67
+ s = @icinga.services_adjusted
68
+ unknown = s.dig(:unknown)
34
69
 
35
- ##
36
- service_objects( params = {} )
37
70
 
71
+ ## <a name="count-services-with-problems"></a>count services with problems
72
+ count_services_with_problems
38
73
 
39
- ##
40
- service_problems
74
+ ### Example
75
+ @icinga.count_services_with_problems
41
76
 
42
- ##
43
- problem_services( max_items = 5 )
44
77
 
45
- ##
78
+ ## <a name="list-services-with-problems"></a>list of services with problems
79
+ list_services_with_problems( max_items )
80
+
81
+ ### Example
82
+ @icinga.list_services_with_problems
83
+ @icinga.list_services_with_problems(10)
84
+ problems, problems_and_severity = @icinga.list_services_with_problems(10).values
85
+
86
+
87
+ ## <a name="update-host"></a>update host
46
88
  update_host( hash, host )
89
+ **this function is not operable! need help, time and/or beer**
90
+
91
+ ### Example
92
+
93
+
94
+ ## <a name="count-all-services"></a>count all services
95
+ services_all
96
+
97
+ ### Example
98
+ @icinga.service_objects
99
+ @icinga.services_all
100
+
101
+
102
+ ## <a name="count-all-services-handled"></a>count all services with handled problems
103
+ service_problems_handled
104
+
105
+ ### Example
106
+ @icinga.cib_data
107
+ @icinga.service_objects
108
+ all, critical, warning, unknown = @icinga.service_problems_handled.values
109
+
110
+ or
111
+ p = @icinga.service_problems_handled
112
+ warning = p.dig(:warning)
113
+
114
+
115
+ ## <a name=""></a>(protected) calculate a service severity
116
+ service_severity( params )
47
117
 
48
- ##
49
- service_severity( service )
118
+ ### Example
119
+ service_severity( {'attrs' => { 'state' => 0.0, 'acknowledgement' => 0.0, 'downtime_depth' => 0.0 } } )
@@ -0,0 +1,54 @@
1
+ # Icinga2 - Statistics
2
+
3
+
4
+ ## <a name="stats-avg"></a>statistic data for latency and execution_time
5
+ average_statistics
6
+
7
+ ### Example
8
+ @icinga.cib_data
9
+ latency, execution_time = @icinga.average_statistics.values
10
+
11
+ or
12
+ h = @icinga.average_statistics
13
+ latency = h.dig(:latency)
14
+
15
+ ## <a name="stats-interval"></a>statistic data for intervall data
16
+ interval_statistics
17
+
18
+ ### Example
19
+ @icinga.cib_data
20
+ hosts_active_checks, hosts_passive_checks, services_active_checks, services_passive_checks = @icinga.interval_statistics.values
21
+
22
+ or
23
+ i = @icinga.interval_statistics
24
+ hosts_active_checks = i.dig(:hosts_active_checks)
25
+
26
+
27
+ ## <a name="stats-services"></a>statistic data for services
28
+ service_statistics
29
+
30
+ ### Example
31
+ @icinga.cib_data
32
+ ok, warning, critical, unknown, pending, in_downtime, ack = @icinga.service_statistics.values
33
+
34
+ or
35
+ s = @icinga.service_statistics
36
+ critical = s.dig(:critical)
37
+
38
+ ## <a name="stats-hosts"></a>statistic data for hosts
39
+ host_statistics
40
+
41
+ ### Example
42
+ @icinga.cib_data
43
+ up, down, pending, unreachable, in_downtime, ack = @icinga.host_statistics.values
44
+
45
+ or
46
+ h = @icinga.host_statistics
47
+ pending = h.dig(:pending)
48
+
49
+ ## <a name="stats-work-queue"></a>queue statistics from the api
50
+ work_queue_statistics
51
+
52
+ ### Example
53
+ @icinga.work_queue_statistics
54
+
@@ -100,7 +100,7 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Wed Jun 28 05:55:20 2017 by
103
+ Generated on Tue Aug 22 11:29:51 2017 by
104
104
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
105
  0.9.9 (ruby-2.3.4).
106
106
  </div>
@@ -1,16 +1,37 @@
1
1
  # Icinga2 - Usergroups
2
2
 
3
3
 
4
- add_usergroup
4
+ ## <a name="add-usergroup"></a>add a usergroup
5
+ add_usergroup( params )
5
6
 
7
+ ### Example
8
+ @icinga.add_usergroup(user_group: 'foo', display_name: 'FOO')
6
9
 
7
- delete_usergroup
8
10
 
11
+ ## <a name="delete-usergroup"></a>delete a usergroup
12
+ delete_usergroup( params )
9
13
 
10
- usergroups
14
+ ### Example
15
+ @icinga.delete_usergroup(user_group: 'foo')
16
+
17
+
18
+ ## <a name="list-usergroups"></a>list usergroups
11
19
 
20
+ ### list named usergroup
21
+ usergroups( params )
22
+
23
+ #### Example
24
+ @icinga.usergroups(user_group: 'icingaadmins')
25
+
26
+ ### list all usergroups
27
+ usergroups
12
28
 
13
- exists_usergroup?
29
+ #### Example
30
+ @icinga.usergroups
14
31
 
15
32
 
33
+ ## <a name="usergroup-exists"></a>check if the usergroup exists
34
+ exists_usergroup?( user_group )
16
35
 
36
+ ### Example
37
+ @icinga.exists_usergroup?('icingaadmins')
@@ -1,42 +1,39 @@
1
1
  # Icinga2 - Users
2
2
 
3
-
4
- ## add User
5
-
6
- var = {
7
- :name => 'foo',
8
- :display_name => 'FOO',
9
- :email => 'foo@bar.com',
10
- :pager => '0000',
11
- :groups => ['icingaadmins']
3
+ ## <a name="add-user"></a>add a user
4
+ add_user( params )
5
+
6
+ ### Example
7
+ params = {
8
+ user_name: 'foo',
9
+ display_name: 'FOO',
10
+ email: 'foo@bar.com',
11
+ pager: '0000',
12
+ groups: ['icingaadmins']
12
13
  }
14
+ @icinga.add_user( params )
13
15
 
14
- add_user var
15
-
16
- return `Hash`
17
-
18
- ## delete User
19
16
 
20
- delete_user { :name => $USERNAME }
17
+ ## <a name="delete-user"></a>delete a user
18
+ delete_user( params )
21
19
 
22
- return `Hash`
20
+ ### Example
21
+ @icinga.delete_user(user_name: 'foo')
23
22
 
24
- ## list User
25
23
 
26
- ### named User
27
-
28
- users { :name => $USERNAME }
29
-
30
- return `Hash`
31
-
32
- ### all Users
24
+ ## <a name="list-users"></a>list users
25
+ ### list named user
26
+ users( params )
27
+ #### Example
28
+ @icinga.users(user_name: 'icingaadmin')
33
29
 
30
+ ### list all users
34
31
  users
32
+ #### Example
33
+ @icinga.users
35
34
 
36
- return `Hash`
37
-
38
- ## check, if User exists
39
35
 
40
- exists_user? $USERNAME
36
+ ## <a name="user-exists"></a>checks if the user exists
41
37
 
42
- return `true` or `false`
38
+ ### Example
39
+ @icinga.exists_user?('icingaadmin')
@@ -50,152 +50,246 @@ unless( i.nil? )
50
50
  #
51
51
  #
52
52
 
53
- puts 'Information about Icinga2'
53
+ puts ''
54
+ puts ' ============================================================= '
55
+ puts '= icinga2 status'
56
+ puts i.status_data
57
+ puts ''
58
+
59
+ puts '= icinga2 application data'
54
60
  puts i.application_data
55
61
  puts ''
56
- puts 'CIB'
62
+ puts '= CIB'
57
63
  puts i.cib_data
58
64
  puts ''
59
- puts 'API Listener'
65
+ puts '= API Listener'
60
66
  puts i.api_listener
67
+ puts ''
61
68
 
69
+ v, r = i.version
70
+ l, e = i.average_statistics
71
+ puts format( '= version: %s, revision %s', v, r )
72
+ puts format( '= avg_latency: %s, avg_execution_time %s', l, e )
73
+ puts format( '= start time: %s', i.start_time )
74
+ puts format( '= uptime: %s', i.uptime )
62
75
  puts ''
63
- puts format( 'version: %s, revision %s', i.version, i.revision )
64
- puts format( 'start time: %s', i.start_time )
65
- puts format( 'uptime: %s', i.uptime )
66
76
 
77
+ puts ' ------------------------------------------------------------- '
78
+ puts ''
79
+ puts ' ==> HOSTS'
67
80
  puts ''
68
- puts format( 'count of all hosts: %d', i.hosts_all )
69
- puts format( 'host down: %d', i.hosts_down )
70
- puts format( 'hosts problems down: %d', i.hosts_problems_down )
81
+
82
+ i.cib_data
83
+ i.host_objects
84
+
85
+ p, a = i.hosts_adjusted
86
+
87
+ puts format( '= host handled problems : %d', p )
88
+ puts format( '= host down adjusted : %d', a )
89
+
90
+ puts '= host objects'
91
+ puts format( '= count of all hosts : %d', i.hosts_all )
92
+ puts format( '= hosts with problems: %d', i.hosts_problems )
93
+ puts format( '= hosts are down : %d', i.hosts_down )
94
+ puts format( '= hosts are critical : %d', i.hosts_critical )
95
+ puts format( '= hosts are unknown : %d', i.hosts_unknown )
96
+ puts format( '= count hosts w. problems: %d', i.count_hosts_with_problems )
97
+
98
+ ['icinga2', 'bp-foo'].each do |h|
99
+ puts format( '= check if Host \'%s\' exists', h )
100
+ puts i.exists_host?( h ) ? 'true' : 'false'
101
+ end
71
102
 
72
103
  puts ''
73
- puts format( 'count of all services: %d', i.services_all )
74
- puts format( 'services critical: %d', i.services_critical)
75
- puts format( 'services warning: %d', i.services_warning)
76
- puts format( 'services unknown: %d', i.services_unknown)
104
+ puts '= Problem Hosts'
105
+ puts i.list_hosts_with_problems
77
106
  puts ''
78
- puts format( 'services handled warning problems: %d', i.services_handled_warning_problems)
79
- puts format( 'services handled critical problems: %d', i.services_handled_critical_problems)
80
- puts format( 'services handled unknown problems: %d', i.services_handled_unknown_problems)
107
+
108
+ ['icinga2', 'bp-foo'].each do |h|
109
+ puts format('= list named Hosts \'%s\'', h )
110
+ puts i.hosts( host: h )
111
+ end
112
+
81
113
  puts ''
82
- puts format( 'services adjusted critical: %d', i.services_critical_adjusted)
83
- puts format( 'services adjusted warning: %d', i.services_warning_adjusted)
84
- puts format( 'services adjusted unknown: %d', i.services_unknown_adjusted)
114
+ puts '= list all Hosts'
115
+ puts i.hosts
116
+ puts ' = delete Host'
117
+ puts i.delete_host( host: 'foo' )
118
+ puts ' = add Host'
119
+ puts i.add_host(
120
+ host: 'foo',
121
+ fqdn: 'foo.bar.com',
122
+ display_name: 'test node',
123
+ max_check_attempts: 5,
124
+ notes: 'test node'
125
+ )
126
+ puts ''
127
+ puts ' ------------------------------------------------------------- '
85
128
  puts ''
86
129
 
87
- puts 'check if Host \'icinga2\' exists'
88
- puts i.exists_host?( 'icinga2' ) ? 'true' : 'false'
130
+ puts ' ------------------------------------------------------------- '
89
131
  puts ''
90
- puts 'get host Objects'
91
- puts i.host_objects
132
+ puts ' ==> HOSTGROUPS'
92
133
  puts ''
93
- puts 'Host problems'
94
- puts i.host_problems
134
+ puts '= check if Hostgroup \'linux-servers\' exists'
135
+ puts i.exists_hostgroup?( 'linux-servers' ) ? 'true' : 'false'
95
136
  puts ''
96
- puts 'Problem Hosts'
97
- puts i.problem_hosts
137
+ puts '= list named Hostgroup \'linux-servers\''
138
+ puts i.hostgroups( host_group: 'linux-servers' )
139
+ puts '= list named Hostgroup \'foo\''
140
+ puts i.hostgroups( host_group: 'foo' )
98
141
  puts ''
99
- puts 'list named Hosts'
100
- puts i.hosts( host: 'icinga2' )
101
- puts i.hosts( host: 'bp-cluster')
142
+ puts '= list all Hostgroups'
143
+ puts i.hostgroups
102
144
  puts ''
103
- puts 'list all Hosts'
104
- puts i.hosts
145
+ puts '= add hostgroup \'foo\''
146
+ puts i.add_hostgroup( host_group: 'foo', display_name: 'FOO' )
105
147
  puts ''
106
-
107
- puts 'check if Hostgroup \'linux-servers\' exists'
108
- puts i.exists_hostgroup?( 'linux-servers' ) ? 'true' : 'false'
148
+ puts '= delete Hostgroup \'foo\''
149
+ puts i.delete_hostgroup( host_group: 'foo' )
109
150
  puts ''
110
- puts 'add hostgroup \'foo\''
111
- puts i.add_hostgroup( hosts_group: 'foo', display_name: 'FOO' )
151
+ puts ' ------------------------------------------------------------- '
112
152
  puts ''
113
- puts 'list named Hostgroup \'foo\''
114
- puts i.hostgroups( hosts_group: 'foo' )
153
+
115
154
  puts ''
116
- puts 'list all Hostgroups'
117
- puts i.hostgroups
155
+ puts ' ------------------------------------------------------------- '
118
156
  puts ''
119
- puts 'delete Hostgroup \'foo\''
120
- puts i.delete_hostgroup( hosts_group: 'foo' )
157
+ puts ' ==> SERVICES'
121
158
  puts ''
159
+ i.service_objects
160
+
161
+ warning, critical, unknown = i.services_adjusted
122
162
 
123
- puts 'check if service \'users\' on host \'icinga2\' exists'
163
+ puts format( '= count of all services: %d', i.services_all )
164
+ puts format( '= services critical: %d', i.services_critical)
165
+ puts format( '= services warning: %d', i.services_warning)
166
+ puts format( '= services unknown: %d', i.services_unknown)
167
+ puts ''
168
+ puts format( '= services handled warning problems: %d', i.services_handled_critical)
169
+ puts format( '= services handled critical problems: %d', i.services_handled_critical)
170
+ puts format( '= services handled unknown problems: %d', i.services_handled_unknown)
171
+ puts ''
172
+ puts format( '= services adjusted warning: %d', warning)
173
+ puts format( '= services adjusted critical: %d', critical)
174
+ puts format( '= services adjusted unknown: %d', unknown)
175
+ puts ''
176
+ puts '= check if service \'users\' on host \'icinga2\' exists'
124
177
  puts i.exists_service?( host: 'icinga2', service: 'users' ) ? 'true' : 'false'
125
178
  puts ''
126
- puts 'get service Objects'
179
+ puts '= get service Objects'
127
180
  puts i.service_objects
128
181
  puts ''
129
- puts 'Service problems'
130
- puts i.service_problems
182
+ puts '= Services with problems'
183
+ puts i.count_services_with_problems
131
184
  puts ''
132
- puts 'Problem Services'
133
- a,_b = i.problem_services
185
+ puts '= Problem Services'
186
+ a,b = i.list_services_with_problems
134
187
  puts a
188
+ puts b
135
189
  puts ''
136
- puts i.problem_services(10)
190
+ puts i.list_services_with_problems(10)
137
191
  puts ''
138
- puts 'list named Service \'ping4\' from Host \'icinga2\''
192
+ puts '= list named Service \'ping4\' from Host \'icinga2\''
139
193
  puts i.services( host: 'icinga2', service: 'ping4' )
140
194
  puts ''
141
- puts 'list all Services'
195
+ puts '= list all Services'
142
196
  puts i.services
143
197
  puts ''
198
+ puts ' ------------------------------------------------------------- '
199
+ puts ''
144
200
 
201
+ puts ''
202
+ puts ' ------------------------------------------------------------- '
203
+ puts ''
204
+ puts ' ==> SERVICEGROUPS'
205
+ puts ''
145
206
  puts 'check if Servicegroup \'disk\' exists'
146
207
  puts i.exists_servicegroup?( 'disk' ) ? 'true' : 'false'
147
- puts ''
148
- puts 'add Servicegroup \'foo\''
149
- puts i.add_servicegroup( name: 'foo', display_name: 'FOO' )
208
+ puts 'check if Servicegroup \'foo\' exists'
209
+ puts i.exists_servicegroup?( 'foo' ) ? 'true' : 'false'
150
210
  puts ''
151
211
  puts 'list named Servicegroup \'foo\''
152
- puts i.servicegroups( name: 'foo' )
212
+ puts i.servicegroups( service_group: 'foo' )
213
+ puts 'list named Servicegroup \'disk\''
214
+ puts i.servicegroups( service_group: 'disk' )
153
215
  puts ''
154
216
  puts 'list all Servicegroup'
155
217
  puts i.servicegroups
156
218
  puts ''
157
- puts 'delete Servicegroup \'foo\''
158
- puts i.delete_servicegroup( name: 'foo' )
219
+ puts 'add Servicegroup \'foo\''
220
+ puts i.add_servicegroup( service_group: 'foo', display_name: 'FOO' )
159
221
  puts ''
160
-
161
- puts 'check if Usergroup \'icingaadmins\' exists'
162
- puts i.exists_usergroup?( 'icingaadmins' ) ? 'true' : 'false'
222
+ puts 'delete Servicegroup \'foo\''
223
+ puts i.delete_servicegroup( service_group: 'foo' )
163
224
  puts ''
164
- puts 'add Usergroup \'foo\''
165
- puts i.add_usergroup( name: 'foo', display_name: 'FOO' )
225
+ puts ' ------------------------------------------------------------- '
166
226
  puts ''
167
- puts 'list named Usergroup \'foo\''
168
- puts i.usergroups( name: 'foo' )
227
+
169
228
  puts ''
170
- puts 'list all Usergroup'
171
- puts i.usergroups
229
+ puts ' ------------------------------------------------------------- '
172
230
  puts ''
173
- puts 'delete Usergroup \'foo\''
174
- puts i.delete_usergroup( name: 'foo' )
231
+ puts ' ==> USERS'
175
232
  puts ''
176
-
177
233
  puts 'check if User \'icingaadmin\' exists'
178
234
  puts i.exists_user?( 'icingaadmin' ) ? 'true' : 'false'
179
235
  puts ''
180
- puts 'add User \'foo\''
181
- puts i.add_user( name: 'foo', display_name: 'FOO', email: 'foo@bar.com', pager: '0000', groups: ['icingaadmins'] )
182
- puts ''
183
236
  puts 'list named User \'icingaadmin\''
184
- puts i.users name: 'icingaadmin'
237
+ puts i.users( user_name: 'icingaadmin' )
185
238
  puts ''
186
239
  puts 'list all User'
187
240
  puts i.users
188
241
  puts ''
242
+ puts 'add User \'foo\''
243
+ puts i.add_user( user_name: 'foo', display_name: 'FOO', email: 'foo@bar.com', pager: '0000', groups: ['icingaadmins'] )
244
+ puts ''
189
245
  puts 'delete User \'foo\''
190
- puts i.delete_user( name: 'foo' )
246
+ puts i.delete_user( user_name: 'foo' )
247
+ puts ''
248
+ puts ' ------------------------------------------------------------- '
249
+ puts ''
250
+ puts ''
251
+ puts ' ------------------------------------------------------------- '
252
+ puts ''
253
+ puts ' ==> USERGROUPS'
254
+ puts ''
255
+ puts 'check if Usergroup \'icingaadmins\' exists'
256
+ puts i.exists_usergroup?( 'icingaadmins' ) ? 'true' : 'false'
257
+ puts ''
258
+ puts 'list named Usergroup \'icingaadmins\''
259
+ puts i.usergroups( user_group: 'icingaadmins' )
260
+ puts ''
261
+ puts 'list all Usergroup'
262
+ puts i.usergroups
263
+ puts ''
264
+ puts 'add Usergroup \'foo\''
265
+ puts i.add_usergroup( user_group: 'foo', display_name: 'FOO' )
266
+ puts ''
267
+ puts 'delete Usergroup \'foo\''
268
+ puts i.delete_usergroup( user_group: 'foo' )
269
+ puts ''
270
+ puts ''
271
+ puts ' ------------------------------------------------------------- '
191
272
  puts ''
192
273
 
274
+ puts ''
275
+ puts ' ------------------------------------------------------------- '
276
+ puts ''
277
+ puts ' ==> DOWNTIMES'
278
+ puts ''
193
279
  puts 'add Downtime \'test\''
194
- puts i.add_downtime( name: 'test', type: 'service', host: 'icinga2', comment: 'test downtime', author: 'icingaadmin', start_time: Time.now.to_i, end_time: Time.now.to_i + 20 )
280
+ puts i.add_downtime( name: 'test', type: 'service', host: 'foo', comment: 'test downtime', author: 'icingaadmin', start_time: Time.now.to_i, end_time: Time.now.to_i + 20 )
195
281
  puts ''
196
282
  puts 'list all Downtimes'
197
283
  puts i.downtimes
198
284
  puts ''
285
+ puts ' ------------------------------------------------------------- '
286
+ puts ''
287
+
288
+ puts ''
289
+ puts ' ------------------------------------------------------------- '
290
+ puts ''
291
+ puts ' ==> NOTIFICATIONS'
292
+ puts ''
199
293
  puts 'list all Notifications'
200
294
  puts i.notifications
201
295
  puts ''
@@ -217,12 +311,55 @@ unless( i.nil? )
217
311
  puts 'disable Notifications for hostgroup'
218
312
  puts i.disable_hostgroup_notification( host: 'icinga2', host_group: 'linux-servers')
219
313
  puts ''
314
+ puts ''
315
+ puts ' ------------------------------------------------------------- '
316
+ puts ''
220
317
 
318
+ puts ''
319
+ puts ' ------------------------------------------------------------- '
320
+ puts ''
321
+ puts ' ==> WORK QUEUE STATISTICS'
322
+ puts ''
221
323
  puts 'work queue statistics'
222
324
  puts i.work_queue_statistics
325
+ puts ''
326
+ puts ' ------------------------------------------------------------- '
327
+ puts ''
328
+
329
+
330
+ # # examples from: https://github.com/saurabh-hirani/icinga2-api-examples
331
+ # #
332
+ # # Get display_name, check_command attribute for services applied for filtered hosts matching host.address == 1.2.3.4.
333
+ # # Join the output with the hosts on which these checks run (services are applied to hosts)
334
+ # #
335
+ # puts i.service_objects(
336
+ # attrs: ["display_name", "check_command"],
337
+ # filter: "match(\"1.2.3.4\",host.address)" ,
338
+ # joins: ["host.name", "host.address"]
339
+ # )
340
+ #
341
+ # puts ''
342
+ #
343
+ # # Get all services in critical state and filter out the ones for which active checks are disabled
344
+ # # service.states - 0 = OK, 1 = WARNING, 2 = CRITICAL
345
+ # #
346
+ # # { "joins": ["host.name", "host.address"], "filter": "service.state==2", "attrs": ["display_name", "check_command", "enable_active_checks"] }
347
+ # puts i.service_objects(
348
+ # attrs: ["display_name", "check_command", "enable_active_checks"],
349
+ # filter: "service.state==1" ,
350
+ # joins: ["host.name", "host.address"]
351
+ # )
352
+ #
353
+ # puts ''
354
+ # # Get host name, address of hosts belonging to a specific hostgroup
355
+ # puts i.host_objects(
356
+ # attrs: ["display_name", "name", "address"],
357
+ # filter: "\"windows-servers\" in host.groups"
358
+ # )
223
359
 
224
360
  end
225
361
 
362
+
226
363
  # -----------------------------------------------------------------------------
227
364
 
228
365
  # EOF