The document discusses the Icinga Installer project, which provides a simple way to manage Icinga environments through automated installation. It can install Icinga servers, workers, and agents with one command line, and also includes an interactive mode. Configuration details are saved to answer files that can be reused when running the installer again. The installer supports custom configurations and tuning through Hiera data files.
1. Follow Mode: ! 1/12 - 9%
" Previous
Next #
PAUSED
Icinga Installer
The Simple Way to Manage Your Icinga Environment
Lennart Betz
Icinga Installer http://localhost:9090/#1
1 of 1 09.11.21, 10:43
2. Follow Mode: ! 2/12 - 17%
" Previous
Next #
PAUSED
The Project
• Launched: In the early days of 2020
• Based on other projects:
◦ Kafo (The Foreman, https://https://github.com/theforeman/kafo)
◦ Icinga Puppet modules
◦ Other third party modules (https://forge.puppet.com)
• Packages:
◦ NETWAYS Monitoring Extras (https://packages.netways.de/extras)
◦ Debian 9-11, Ubuntu 18.04/20.04, EL7/8
Icinga Installer http://localhost:9090/#2
1 of 1 09.11.21, 10:40
3. Follow Mode: ! 3/12 - 25%
" Previous
Next #
PAUSED
Project Target
The installation of a server, worker or agent by a one-liner:
To set up a preconfigured server:
$ icinga-installer -S server-ido-pgsql | server-ido-mysql
An agent with connection to the server:
$ icinga-installer -S agent
--agent-ca-server 192.168.3.2
--agent-parent-endpoints server.osmc.talk:host:192.168.3.2
Sends a certificate request to be signed by the server's CA.
Icinga Installer http://localhost:9090/#3
1 of 1 09.11.21, 10:40
4. Follow Mode: ! 4/12 - 34%
" Previous
Next #
PAUSED
The interactive Mode
Or you want to perform, for example, a worker configuration in interactive mode:
$ icinga-installer -i -S worker
Welcome to the Worker installer!
--------------------------------
This wizard will gather all required information. You can change any
parameter to your needs.
Ready to start? (y/n) y
Main Config Menu
1. [✓] Configure install_repos
2. [✓] Configure install_worker
3. Display current config
4. Save and run
5. Cancel run without Saving
Choose an option from the menu... 2
Icinga Installer http://localhost:9090/#4
1 of 1 09.11.21, 10:40
5. Follow Mode: ! 5/12 - 42%
" Previous
Next #
PAUSED
The interactive Mode
Module install_worker configuration
1. Enable/disable install_worker module, current value: true
2. Set ca_server, current value: UNDEF
3. Set zone, current value: UNDEF
4. Set parent_zone, current value: "main"
5. Set parent_endpoints, current value: UNDEF
6. Set global_zones, current value: ["linux-commands", ... ]
7. Set logging_type, current value: "syslog"
8. Set logging_level, current value: "critical"
9. Reset a parameter to its default value
10. Back to main menu
Choose an option from the menu... 3
Parameter zone (of module install_worker)
Name of the Icinga zone.
Data type: string
current value: "UNDEF"
new value:
dmz<CR>
Icinga Installer http://localhost:9090/#5
1 of 1 09.11.21, 10:41
6. Follow Mode: ! 6/12 - 50%
" Previous
Next #
PAUSED
Answer File
All responses, whether interactive or via CLI options are saved to file:
$ cat /etc/icinga-installer/scenarios.d/worker-answers.yaml
install::worker:
ca_server: 192.168.3.2
zone: dmz
parent_zone: main
parent_endpoints:
server.osmc.talk:
host: 192.168.3.2
global_zones:
- linux-commands
- windows-commands
- global-templates
- director-global
logging_type: syslog
logging_level: critical
Will be read in when icinga-installer is run again.
Icinga Installer http://localhost:9090/#6
1 of 1 09.11.21, 10:41
7. Follow Mode: ! 7/12 - 59%
" Previous
Next #
PAUSED
Custom Config
Complex configuration, e.g. a second worker, can also be done. However, this must be done in a separate file:
$ vim /etc/icinga-installer/custom-hiera.yaml
icinga::worker::colocation_endpoints:
'worker2.osmc.talk':
host: 192.168.3.12
Or the otherwise simple configuration on the server side:
icinga::server::workers:
dmz:
endpoints:
'worker1.osmc.talk':
host: 192.168.3.11
'worker2.osmc.talk':
host: 192.168.3.12
Icinga Installer http://localhost:9090/#7
1 of 1 09.11.21, 10:41
9. Follow Mode: ! 9/12 - 75%
" Previous
Next #
PAUSED
Tuning
For example to tune the PostgreSQL server:
postgresql::server::config_entries:
max_connections: 40
shared_buffers: 512MB
effective_cache_size: 1536MB
maintenance_work_mem: 256MB
checkpoint_completion_target: 0.9
wal_buffers: 16MB
default_statistics_target: 500
random_page_cost: 1.1
effective_io_concurrency: 200
maintenance_io_concurrency: 100
work_mem: 6553kB
...
Icinga Installer http://localhost:9090/#9
1 of 1 09.11.21, 10:42
10. Follow Mode: ! 10/12 - 84%
" Previous
Next #
PAUSED
Extend Configuration
To secure your Icinga Web 2:
apache::default_vhost: false
apache::default_ssl_vhost: true
apache::default_ssl_cert: /etc/pki/tls/certs/apache.crt
apache::default_ssl_key: /etc/pki/tls/private/apache.key
Icinga Installer http://localhost:9090/#10
1 of 1 09.11.21, 10:42
11. Follow Mode: ! 11/12 - 92%
" Previous
Next #
PAUSED
Overwrite Answers
To configure a second server:
install::server::ca: false
icinga::server::ca_server: 192.168.5.33
icinga::server::colocation_endpoints:
ubuntu20.lbetz.localdomain:
host: 192.168.5.33
Icinga Installer http://localhost:9090/#11
1 of 1 09.11.21, 10:42
12. Follow Mode: ! 12/12 - 100%
" Previous
Next #
PAUSED
Thank You
Thank you for your attention!
Icinga Installer http://localhost:9090/#12
1 of 1 09.11.21, 10:42