Install Modules for icingaweb2.
I am in the process of transferring this role to a collection and will therefore no longer process any issues or merge requests here.
However, I will include them in the collection!
Please be patient until I have completed the work!
Ansible Collections
ansible-galaxy collection install bodsch.core
or
ansible-galaxy collection install --requirements-file collections.yml
icingaweb_modules_install_dir: /usr/share/icingaweb2
icingaweb_modules: {}
Each module can be installed, activated and configured individually.
Currently the following external modules are supported:
Do you have any wishes for further ... read the Contribution, create a PR or ask carefully.
The following parameters can be used to influence the installation and activation:
icingaweb_modules:
audit:
enabled: false
src: https://github.com/Icinga/icingaweb2-module-audit.git
version: v1.0.1
enabled
enabled or disable the modulesrc
the repositoty for sourcecodeversion
the version. you can also set the branchname likemain
ormaster
Additionally there is the possibility to configure the corresponding modules. The respective parameters are individual and will be explained separately.
Each configuration takes place in a configuration
block.
There are two different blocks Standard Log
and
JSON Log
.
The standard log (log
) is a normal log with human readable messages.
It's possible to log to a file and to syslog.
type
One of these three possibilities are available:file
- log to a filesyslog
- log in to syslognone
- log nothing
ident
Syslog Ident
ident is an arbitrary identification string which future syslog invocations will prefix to each message. see here
(Only has an effect if 'type: syslog' has been defined)facility
Syslog facility
... default facility code for this connection see here
(Only has an effect if 'type: syslog' has been defined)path
The log file in which the audit information is stored.
The JSON log (stream
) is supposed to be consumed by other applications.
It writes one JSON object per line to a file.
format
The format in which the data is stored. It is only available forjson
.
For more information, please consult the corresponding module documentation!path
The log file in which the audit information is stored.
configuration:
log:
# file / syslog / none
type: file
# ident = "web-ident"
# facility = "authpriv"
path: /var/log/icingaweb2/audit.log
stream:
# none / json
format: json
path: /var/log/icingaweb2/json.log
Complete example:
icingaweb_modules:
audit:
enabled: false
src: https://github.com/Icinga/icingaweb2-module-audit.git
version: v1.0.1
configuration:
log:
type: file
path: /var/log/icingaweb2/audit.log
stream:
format: json
path: /var/log/icingaweb2/json.log
This module integrates an existing Graphite installation in the IcingaWeb frontend.
host
The hostname for the corresponding graphite serviceport
The port for the graphite Web URL
These following credentials are only needed, when your Graphite Web is protected by a HTTP basic authentication mechanism.
user
username for the basic authenticationpassword
corresponding password for the basic authenticationadvanced
graphite_writer_host_name_template
graphite_writer_service_name_template
customvar_obscured_check_command
ui
The settingsdefault_time_range
anddefault_time_range_unit
set the default time range for displayed graphs both in the graphs lists and in monitored objects' detail views.
If you'd like to suppress the No graphs found messages, activatedisable_no_graphs_found
configuration:
host: localhost
port: 2003
user: ''
password: ''
ui:
default_time_range: 12
default_time_range_unit: hours
disable_no_graphs_found: false
advanced:
graphite_writer_host_name_template: host.tpl
graphite_writer_service_name_template: ''
customvar_obscured_check_command: ''
Complete example:
icingaweb_modules:
graphite:
enabled: false
src: https://github.com/Icinga/icingaweb2-module-graphite.git
version: v1.1.0
# url: https://github.com/Icinga/icingaweb2-module-graphite/archive/v1.1.0.zip
configuration:
host: localhost
ui:
default_time_range: 12
default_time_range_unit: hours
Add Grafana graphs into Icinga Web 2 to display performance metrics.
configuration:
support_grafana_5: false
host: tsdb.icinga.local
port: 3000
protocol: http
timerange: 6h
timerangeAll: 2d
defaultdashboard:
name: icinga2-default
uid: Z-TfDRpGz
panelid: 1
defaultdashboard:
name: icinga2-default
uid: "Zm47ngtMk"
panelid: "1"
defaultorgid: "1"
shadows: false
theme: "light"
datasource: "influxdb"
accessmode: "direct"
authentication:
apitoken:
username:
password:
indirectproxyrefresh:
proxytimeout:
directrefresh: "no"
height: "280"
width: "640"
enableLink: true
publichost:
publicprotocol:
debug: false
After configuring the Grafana connection, further graphs can be set up.
graphs:
ping4:
dashboard: hostalive
dashboarduid: Z-TfDRpGz
panelId: 9
orgId: 1
repeatable: false
hostalive:
dashboard: hostalive
dashboarduid: Z-TfDRpGz
panelId: 9
orgId: 1
repeatable: false
Complete example:
icingaweb_modules:
grafana:
enabled: false
src: https://github.com/Mikesch-mp/icingaweb2-module-grafana.git
version: v1.3.6
configuration:
# support_grafana_5: false
host: tsdb.icinga.local
# port: 3000
# protocol: http
# timerange: 6h
# timerangeAll: 2d
defaultdashboard:
# name: icinga2-default
uid: Z-TfDRpGz
# panelid: 1
# defaultdashboard:
# name: icinga2-default
# uid: "Zm47ngtMk"
# panelid: "1"
# defaultorgid: "1"
# shadows: false
# theme: "light"
# datasource: "influxdb"
# accessmode: "direct"
# authentication
# apitoken
# username
# password
# indirectproxyrefresh
# proxytimeout
# directrefresh: "no"
# height: "280"
# width: "640"
enableLink: true
# publichost
# publicprotocol
# debug: true
graphs:
ping4:
dashboard: hostalive
dashboarduid: Z-TfDRpGz
panelId: 9
orgId: 1
repeatable: false
- Bodo Schulz
FREE SOFTWARE, HELL YEAH!