This release of the collection will feature a whole set of possibilities to deploy a complete Icinga 2 environment.
Before diving deep into the collection, a quick recap of all roles which were available and which are included in the current release v0.3.0.
- repos: The role to manage all repos from the Icinga space. Which are the official, subscription repos.
- icinga2: The role manages everything from core features, certificate creation to local monitoring configuration.
New Roles in v0.3.0
- icingaweb2: The role manages Icinga Web 2 configuration and a few basic modules.
- Module Director: Manages the configuration and installation of the Director.
- Module IcingaDB: Manages the configuration of the IcingaDB monitoring module.
- Module Monitoring: Manages the configuration of the legacy monitoring module.
- icingadb: Role to manage IcingaDB configuration and service.
- Can import DB Schema into existing DB.
- icingadb_redis: Role to manage the IcingaDB Redis configuration and service.
- monitoring_plugins: Role to manage and install monitoring plugins on different operating systems.
To further enhance the Icinga 2 installation process via Ansible those roles are vital for a successful deployment.
The Icinga DB is the future backend of Icinga 2, this can be handled with our icingadb and icingadb_redis roles.
The role can import the current schema into an existing database and furthermore can configure and use TLS connections to the DB. (Upgrading is not supported)
Example:
- name: Install IcingaDB hosts: icingadb become: true vars: icingadb_database_type: pgsql icingadb_database_host: postgresql.example.com icingadb_database_port: 5432 icingadb_database_user: pg-icingadb icingadb_database_password: helloworld$123 icingadb_database_tls: true icingadb_database_cert: /etc/icingadb/icingadb.crt icingadb_database_key: /etc/icingadb/icingadb.key icingadb_database_import_schema: true icingadb_redis_binds: - 127.0.0.1 roles: - role: icinga.icinga.icingadb - role: icinga.icinga.icingadb_redis
Icinga Web is the component to visualize everything in the Icinga environment. The role currently can configure everything in Icinga Web including a few modules.
In the future more modules will be provided and the ability to install modules directly from the repository.
At the current state it is possible to manage all configurations from resources to roles and the modules Director, Monitoring and IcingaDB.
In addition the role can import the latest database schema and create a first admin user. This will only be available if the icingaweb2_db
variable is used.
Every other resource can later be defined at icingaweb2_resources
.
icingaweb2_admin_username: username icingaweb2_admin_password: pa$$word icingaweb2_db_import_schema: true icingaweb2_db: type: mysql name: icingaweb host: 127.0.0.1 user: icingaweb password: icingaweb
To configure modules use the icingaweb2_modules
to enable or manage them. It is possible only to install and configure them without activating them.
Furthermore modules can have certain variables which are not part of the configuration but enable a specific behaviour like importing the database schema.
Please checkout the documentation before using the roles!
icingaweb2_modules: director: enabled: true source: package import_schema: true run_kickstart: true kickstart: config: endpoint: icinga-server.fqdn host: 127.0.0.1 username: root password: root config: db: resource: director_db
And the final component of every monitoring environment are the plugins. This role manages the installation/removal of many well known check plugins typically used in monitoring systems.
You can define which plugins you need on the system and the role will decide which packages to install or remove.
icinga_monitoring_plugins_check_commands: - "ssmtp" - "disk" - "load" - "smtp" - "dns"
We want to say a big Thank you! to all people who contributed to this project and helped us craft this release!
If you also want to help out, or read the whole changelog, check out it’s page on GitHub!