smart_proxy_monitoring 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f4c84f67dc01b938a7c46a3d9ced307ce4c5a174
4
- data.tar.gz: 9ca50c34f031129593cb1648d5537a7cd16fdde3
2
+ SHA256:
3
+ metadata.gz: 46ec7e1ae3a0926b300c520f7b8662ac70b5c497712974eed34071f450559d5a
4
+ data.tar.gz: 8fb8d22594814a7a14228695a294377eef17fd751d39461f072fac269f5efa0a
5
5
  SHA512:
6
- metadata.gz: 5d2ec7d14dc0b2685e5751afed84724a79377c42f1828214afcf8d93bf52f3103ca8a1b97259b9c50f902a862d46ab06ffc2f5ac57292e8c83838b4e533c991f
7
- data.tar.gz: 7b18b55cf47f76b12e290d615c4c1f66e6c55fdabccd6c273bbd2613b7076e771c00ca86b2c9ce0047aa970842c4b71a20cf70c56cdee8779278a3dc5a48e589
6
+ metadata.gz: e8fa63a47d22f009520c4ffde668b9d93b11c12a1801ec205b3f42379bb5d3f653695dead3bd9a1d875fcd757fc994d2c20175fff93ef3aae30b6b77b82f5c63
7
+ data.tar.gz: 10f9b88a20566a5e8663039b3f5076f810c41b83006425b8acd26c32e6cfa85d6833f294e78b4b2c640c6d6c3872a6bc8db660bf64f523762dfaa4e98421b018
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Smart Proxy - Monitoring
2
2
 
3
3
  This plug-in adds support for Monitoring to Foreman's Smart Proxy.
4
- It requires also the Foreman Monitoring plug-in.
4
+ It also requires the Foreman Monitoring plug-in.
5
5
 
6
6
  # Installation
7
7
 
@@ -18,7 +18,7 @@ Deb users can install the `ruby-smart-proxy-monitoring` packages.
18
18
  # Configuration
19
19
 
20
20
  The plug-in requires some configuration on the Monitoring server and the Smart Proxy.
21
- For now the only supported Monitoring solution is Icinga 2 and the combination of Icinga 2
21
+ For now, the only supported Monitoring solution is Icinga 2 and the combination of Icinga 2
22
22
  and the Icinga Web 2 Module Director.
23
23
 
24
24
  ## Icinga 2
@@ -31,7 +31,7 @@ The required steps for connecting the Smart Proxy and Icinga 2 will be found bel
31
31
 
32
32
  ### Monitoring Server
33
33
 
34
- On the Monitoring Server you have to enable the API and create API User.
34
+ On the Monitoring Server, you have to enable the API and create API User.
35
35
 
36
36
  For testing the fastest way to setup this will be the following commands.
37
37
 
@@ -40,12 +40,12 @@ For testing the fastest way to setup this will be the following commands.
40
40
  # systemctl restart icinga2.service
41
41
  ```
42
42
 
43
- This will create the certficates, enable the API feature and create and API User `root` with
43
+ This will create the certificates, enable the API feature and create and API User `root` with
44
44
  a random password. The configuration of the API User will be located in `/etc/icinga2/conf.d/api-users.conf`.
45
45
 
46
46
  More detailed instructions:
47
47
 
48
- To enable the API follow the next steps, if the API is already enabled skip this steps
48
+ To enable the API, follow the next steps if the API is already enabled skip this steps
49
49
  and start by creating an API User. The API will already be enabled if you use the Icingaweb 2
50
50
  Module Director for configuration, Icinga 2 as Agents or in a distributed or high-available
51
51
  setup.
@@ -60,8 +60,8 @@ To create Icinga 2's own CA run:
60
60
  # icinga2 pki new-ca
61
61
  ```
62
62
 
63
- Afterwards copy the CA certificate to Icinga 2's pki directory (depending on installation
64
- source and platform you have to create the pki directory first with write permissions for the
63
+ Afterwards copy the CA certificate to Icinga 2's PKI directory (depending on installation
64
+ source and platform you have to create the PKI directory first with write permissions for the
65
65
  user Icinga 2 is running with, typically `icinga` or `nagios`):
66
66
 
67
67
  ```
@@ -81,7 +81,7 @@ And then sign the certficate request to get a certificate by executing:
81
81
  # icinga2 pki sign-csr --csr /etc/icinga2/pki/$(hostname -f).csr --cert /etc/icinga2/pki/$(hostname -f).crt
82
82
  ```
83
83
 
84
- With the certificates created and placed in Icinga 2's pki directory you can enable the API feature.
84
+ With the certificates created and placed in Icinga 2's PKI directory, you can enable the API feature.
85
85
 
86
86
  ```
87
87
  # icinga2 feature enable api
@@ -89,7 +89,7 @@ With the certificates created and placed in Icinga 2's pki directory you can ena
89
89
  ```
90
90
 
91
91
  To allow API connections you have to create an API User. You should name him according to the use case,
92
- so instructions will create an user named `foreman`.
92
+ so instructions will create a user named `foreman`.
93
93
 
94
94
  Password authentication is easier to setup, but certificate-based authentication is more secure.
95
95
 
@@ -118,8 +118,8 @@ object ApiUser "foreman" {
118
118
  # icinga2 pki sign-csr --csr /etc/icinga2/pki/foreman.csr --cert /etc/icinga2/pki/foreman.crt
119
119
  ```
120
120
 
121
- In addition to the authentication a Host template is required. By default it uses "foreman-host" if none
122
- is provided from the Foreman WebUI. This template should define defaults for the host check and intervals.
121
+ In addition to the authentication, a Host template is required. By default, it uses "foreman-host" if none
122
+ is provided at the Foreman WebUI. This template should define defaults for the host check and intervals.
123
123
 
124
124
  ```
125
125
  # vi /etc/icinga2/conf.d/templates.conf
@@ -141,7 +141,7 @@ template Host "foreman-host" {
141
141
 
142
142
  Ensure that the Monitoring module is enabled and uses the provider monitoring_icinga2.
143
143
  It is the default provider so also no setting for use_provider is fine.
144
- If you configured hosts in Icinga2 only with hostname instead of FQDN, you can add `:strip_domain` with
144
+ If you configured hosts in Icinga2 only with the hostname instead of the FQDN, you can add `:strip_domain` with
145
145
  all the parts to strip, e.g. `.localdomain`.
146
146
  By default, SmartProxy will collect monitoring statuses from your monitoring solution and upload them to
147
147
  Foreman. This can be disabled by setting `collect_status` to `false`.
@@ -173,7 +173,7 @@ instead of the FQDN of the server, you will have to set verify_ssl to false.
173
173
  :verify_ssl: true
174
174
  ```
175
175
 
176
- Afterwards restart the service.
176
+ Afterwards, restart the service.
177
177
 
178
178
  ```
179
179
  # systemctl restart foreman-proxy.service
@@ -182,27 +182,27 @@ Afterwards restart the service.
182
182
  ## Icinga 2 and Icinga Web 2 Module Director
183
183
 
184
184
  This requires you to do the configuration steps above so
185
- Downtimes could be send to and Status information could be
185
+ Downtimes can be sent to Foreman and Status information can be
186
186
  read from Icinga 2.
187
187
 
188
- In addition you have to configure the provider Icingadirector
188
+ In addition, you have to configure the provider Icingadirector
189
189
  for managing hosts in the Icinga Web 2 Module Director. This
190
190
  graphical configuration frontend for Icinga 2 will allow you
191
191
  to customize the host, e.g. adding additional required objects
192
192
  for using Icinga 2 as a monitoring agent or assign more attributes
193
- and services. By default it requires a template named `foreman-host`.
193
+ and services. By default, it requires a template named `foreman-host`.
194
194
 
195
195
  ### Icinga Web 2 Module Director
196
196
 
197
197
  Using the API of the Icinga Web 2 Module Director requires
198
- Authentication and Authorisation like it is described in its
198
+ Authentication and Authorisation as it is described in the
199
199
  [documentation](https://github.com/Icinga/icingaweb2-module-director/blob/master/doc/70-REST-API.md).
200
200
 
201
- For the basic authentication of the webserver there are two
201
+ For the basic authentication of the webserver, there are two
202
202
  possible ways of configuration. If you already use basic auth
203
203
  simply add a user and password to the authentication source.
204
204
  If you do not want to add basic authentication you can configure
205
- the webserver to auto login as a user depending on your source ip.
205
+ the webserver to auto login as a user depending on your source IP.
206
206
  ```
207
207
  # vi /etc/httpd/conf.d/icingaweb2.conf
208
208
  ...
@@ -213,14 +213,14 @@ RewriteRule ^(.*)$ - [E=REMOTE_USER:foreman]
213
213
  ```
214
214
 
215
215
  In Icinga Web 2 you also have to add an authentication backend
216
- "external".
216
+ `external`.
217
217
  ```
218
218
  # vi /etc/icingaweb2/authentication.ini
219
219
  [External]
220
220
  backend = "external"
221
221
  ```
222
222
 
223
- Furthermore a role is required assigning permissions to your user.
223
+ Furthermore, a role is required assigning permissions to your user.
224
224
  ```
225
225
  # vi /etc/icingaweb2/roles.ini
226
226
  [Foreman]
@@ -230,8 +230,8 @@ permissions = "module/director, director/api, director/*"
230
230
 
231
231
  ### Smart Proxy
232
232
 
233
- Ensure that the Monitoring module is enabled and uses the provider monitoring_icinga2
234
- and monitoring_icingadirector.
233
+ Ensure that the Monitoring module is enabled and uses the provider `monitoring_icinga2`
234
+ and `monitoring_icingadirector`.
235
235
  ```
236
236
  # vi /etc/foreman-proxy/settings.d/monitoring.yml
237
237
  ---
@@ -255,7 +255,7 @@ but not required.
255
255
  :verify_ssl: true
256
256
  ```
257
257
 
258
- Afterwards restart the service.
258
+ Afterwards, restart the service.
259
259
 
260
260
  ```
261
261
  # systemctl restart foreman-proxy.service
@@ -264,14 +264,14 @@ Afterwards restart the service.
264
264
  # Troubleshooting
265
265
 
266
266
  The plug-in uses the configuration of the Smart Proxy to write its logs and does
267
- not provide a seperate log for now. So have a look into `/var/log/foreman-proxy/proxy.log`
267
+ not provide a separate log for now. So have a look into `/var/log/foreman-proxy/proxy.log`
268
268
  for default installations.
269
269
 
270
270
  Also look into the logs of the monitoring solution and when opening issues attach relevant entries
271
271
  for both logs. For Icinga 2 it is typically `/var/log/icinga2/icinga2.log` or if enabled
272
272
  `/var/log/icinga2/debug.log`. Icinga Web 2 Director uses Icinga Web 2's configuration
273
- which is typically logging to syslog with faciltiy `user` and application prefix `icingaweb2`
274
- which will result in logging entry in `/var/log/message` for osfamily Red Hat and `/var/log/syslog`
273
+ which is typically logging to syslog with facility `user` and application prefix `icingaweb2`
274
+ which will result in a logging entry in `/var/log/message` for osfamily Red Hat and `/var/log/syslog`
275
275
  for osfamily Debian.
276
276
 
277
277
  # TODO
@@ -1,5 +1,5 @@
1
1
  module Proxy
2
2
  module Monitoring
3
- VERSION = '0.1.1'.freeze
3
+ VERSION = '0.1.2'.freeze
4
4
  end
5
5
  end
@@ -39,7 +39,7 @@ module ::Proxy::Monitoring::Icinga2
39
39
  transformed = { result: change[:check_result][:state] }
40
40
  when 'AcknowledgementSet'
41
41
  transformed = { acknowledged: true }
42
- when 'AchnowledgementCleared'
42
+ when 'AcknowledgementCleared'
43
43
  transformed = { acknowledged: false }
44
44
  when 'DowntimeTriggered'
45
45
  transformed = { downtime: true }
@@ -82,6 +82,8 @@ module ::Proxy::Monitoring::IcingaDirector
82
82
  Proxy::Monitoring::NotFound.new("Icinga Director returned not found for #{request_url(url)}.")
83
83
  when RestClient::Unauthorized
84
84
  Proxy::Monitoring::AuthenticationError.new("Error authenicating to Icinga Director at #{request_url(url)}: #{e.message}")
85
+ when RestClient::NotModified
86
+ raise
85
87
  else
86
88
  Proxy::Monitoring::Error.new("Error connecting to Icinga Director at #{request_url(url)}: #{e.message}")
87
89
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_proxy_monitoring
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timo Goebel
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-10-17 00:00:00.000000000 Z
12
+ date: 2018-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  version: '0'
142
142
  requirements: []
143
143
  rubyforge_project:
144
- rubygems_version: 2.6.12
144
+ rubygems_version: 2.7.3
145
145
  signing_key:
146
146
  specification_version: 4
147
147
  summary: Monitoring plug-in for Foreman's smart proxy