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

Acerca del proyecto

Installs and configures Icinga Web 2 on Rhel, Debian and Ubuntu

Instalar
ansible-galaxy install mkayontour.icingaweb2
Licencia
apache-2.0
Descargas
88.3k
Propietario
Twitter: @mkayontour