mkayontour.icingaweb2
ansible-icingaweb2
Un rol de Ansible para instalar Icinga Web 2 y configurarlo a fondo. El rol incluye la instalación de los paquetes de Icinga Web 2, la configuración de todos los archivos de configuración y la configuración del módulo de monitoreo.
Además, el rol proporciona una forma sencilla de instalar y habilitar módulos de Icinga Web 2. La configuración de esos módulos debe hacerse manualmente o en un rol separado.
Instalación
ansible-galaxy install mkayontour.icingaweb2
Requisitos
No se necesitan requisitos específicos para este rol. Pero hay un par de cosas que deben mencionarse.
Elija su aplicación de servidor web por su cuenta, instalando el servidor web antes de instalar Icinga Web 2.
Además, necesita un rol que proporcione una base de datos en funcionamiento y asegúrese de importar el esquema primero, si desea usar autenticación dentro de la base de datos. Si está utilizando LDAP o autenticación externa, no es necesario tener la base de datos.
- name: Importar el esquema de la base de datos de Icinga Web 2.
mysql_db:
name: icingaweb
state: import
target: /usr/share/icingaweb2/etc/schema/mysql.schema.sql
login_user: icingaweb
login_password: icingaweb
login_host: localhost
Variables del Rol
Instalación
Las variables de gestión siempre activan algo que se va a gestionar. El paquete son los paquetes normales de icingaweb2 y el repositorio es el repositorio de liberación de icinga.
icingaweb2_manage_package: yes
icingaweb2_manage_centos_scl: yes
icingaweb2_manage_repository: yes
Si el Director debe ser gestionado, puede usar la siguiente variable.
icingaweb2_manage_director: yes
Para más información sobre el Director, consulte la sección director
más abajo.
Configuración de Icinga Web 2
resources.ini
Los recursos de Icinga Web 2 se definen en el diccionario icingaweb2_resources
.
La clave es el nombre del recurso y luego todas las opciones necesarias que van en el resources.ini
icingaweb2_resources:
icinga_ido:
type: db
db: mysql
host: localhost
dbname: icinga
username: icinga
password: icinga
use_ssl: 0
charset: utf8
icingaweb_db:
type: db
db: mysql
host: localhost
dbname: icingaweb
username: icingaweb
password: icingaweb
use_ssl: 0
Todos los archivos de configuración de Icinga Web 2 tienen su propio diccionario para crear cada sección y opción.
groups.ini
icingaweb2_groups:
icingaweb2:
backend: db
resource: icingaweb_db
authentication.ini
icingaweb2_authentication:
icingaweb2:
backend: db
resource: icingaweb_db
config.ini
icingaweb2_config:
global:
show_stacktraces: 1
show_application_state_messages: 1
config_backend: ini
module_path: /usr/share/icingaweb2/modules
logging:
log: syslog
level: ERROR
application: icingaweb2
facility: user
themes:
default: Icinga
Si desea configurar sus roles automáticamente, utilice este diccionario. Cuando la var icingaweb2_roles no esté definida, la tarea se saltará.
icingaweb2_roles:
administrators:
users: icinga
permissions: "*"
groups: Administrators
Módulo de Monitoreo
El módulo de monitoreo se instalará por defecto. Para crear la configuración para el módulo, use los siguientes diccionarios.
icingaweb2_monitoring_config:
security:
protected_customvars: "*pw*,*pass*,community"
icingaweb2_monitoring_backends:
icinga:
type: ido
resource: icinga_ido
icingaweb2_monitoring_commandtransports:
icinga2:
transport: api
host: localhost
port: 5665
username: root
password: root
Añadir Módulos de Icinga Web 2
Para agregar módulos específicos a Icinga Web 2, puede configurar esta lista de módulos. Asegúrese de que el módulo de monitoreo permanezca también en esta lista.
Todos los módulos en esta lista con la opción git_url establecida se clonarán a través de git en el directorio de módulos.
INFO: Asegúrese de que git esté instalado en el sistema antes de iniciar el playbook
icingaweb2_modules:
- name: monitoring
# - name: director
# git_url: https://github.com/Icinga/icingaweb2-module-director.git
# version: v1.7.2
# - name: ipl
# git_url: https://github.com/Icinga/icingaweb2-module-ipl.git
# version: v0.5.0
# - name: reactbundle
# git_url: https://github.com/Icinga/icingaweb2-module-reactbundle.git
# version: v0.7.0
# - name: incubator
# git_url: https://github.com/Icinga/icingaweb2-module-incubator.git
# version: v0.5.0
Director
Asegúrese de que el repositorio git para el director esté instalado o use la función para añadir módulos de icingaweb2.
Para gestionar el director, puede usar la variable icingaweb2_manage_director
para
habilitar la inclusión.
Para habilitar el servicio systemd, use la variable icingaweb2_manage_director_service
.
Luego hay algunas variables para configurar config.ini y kickstart.ini.
config.ini
icingaweb2_director_resource
: Nombre del recurso de Icinga Web 2 Director (DB)
kickstart.ini
icingaweb2_director_kickstart_endpoint:
Para el script de kickstart, el nombre del endpoint (nombre común del maestro). Si esta var no está definida, kickstart.ini no se creará. Y, por lo tanto, el kickstart no se ejecutará.
icingaweb2_director_kickstart_host:
puede ser un nombre de host resoluble o una dirección IP.
Por defecto: "localhost"
icingaweb2_director_kickstart_port:
El puerto es 5665 por defecto en caso de que no se indique.
icingaweb2_director_kickstart_username:
Nombre de usuario del Usuario API del Director. Por defecto: "root"
icingaweb2_director_kickstart_password:
Contraseña del Usuario API del Director. Por defecto: "root"
Dependencias
No hay dependencias para este módulo.
Ejemplo de Playbook
Incluir un ejemplo de cómo usar su rol (por ejemplo, con variables pasadas como parámetros) también es útil para los usuarios:
- hosts: icingaweb2
roles:
- { role: mkayontour.icingaweb2 }
Licencia
Apache-2.0
Información del Autor
Twitter: @mkayontour
Installs and configures Icinga Web 2 on Rhel, Debian and Ubuntu
ansible-galaxy install mkayontour.icingaweb2