mkayontour.icingaweb2

ansible-icingaweb2

=========

一个用于安装 Icinga Web 2 的 Ansible 角色,并进行全面配置。该角色包含 Icinga Web 2 软件包的安装、所有配置文件的配置以及监控模块的设置。

此外,该角色还提供了一种简单的方法来安装和启用 Icinga Web 2 模块。这些模块的配置需要手动完成或在单独的角色中完成。

安装


ansible-galaxy install mkayontour.icingaweb2

要求


这个角色没有特定的要求。但有几点需要提前说明。

您需要自己选择 Web 服务器应用程序,并在安装 Icinga Web 2 之前安装 Web 服务器。

另外,您需要一个提供运行数据库的角色,并确保首先导入架构。如果您想在数据库中使用身份验证。若使用 LDAP 或外部身份验证,则不需要数据库。

- name: 导入 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

角色变量


安装

管理变量始终会触发某些管理操作。包是普通的 icingaweb2 软件包,仓库是 icinga 发布的仓库。

icingaweb2_manage_package: yes
icingaweb2_manage_centos_scl: yes
icingaweb2_manage_repository: yes

如果需要管理 Director,可以使用以下变量。

icingaweb2_manage_director: yes

有关 Director 的更多信息,请参见下面的 director 部分。

Icinga Web 2 配置

resources.ini

Icinga Web 2 的资源在 icingaweb2_resources 字典中定义。键是资源的名称,后面是进入 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

所有 Icinga Web 2 配置文件都有各自的字典,用于创建每个部分和选项。

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

如果您希望自动配置角色,请使用此字典。当变量 icingaweb2_roles 未定义时,任务将被跳过。

icingaweb2_roles:
  administrators:
    users: icinga
    permissions: "*"
    groups: Administrators

监控模块

监控模块默认会安装。要为模块创建配置,请使用以下字典。

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

添加 Icinga Web 2 模块

要将特定模块添加到 Icinga Web 2,您可以配置此模块列表。 请确保监控模块也包含在此列表中。

列表中所有带有 git_url 选项的模块将通过 git 克隆到模块目录。

注意:确保在开始剧本之前系统上安装了 git

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

请确保 Director 的 git 仓库已安装或使用该功能 以添加 icingaweb2 模块。

要管理 Director,您可以使用变量 icingaweb2_manage_director 来启用包含。

要启用 systemd 服务,请使用变量 icingaweb2_manage_director_service

然后有一些变量用于配置 config.inikickstart.ini

config.ini

icingaweb2_director_resource:Icinga Web 2 Director 资源的名称(数据库)

kickstart.ini

icingaweb2_director_kickstart_endpoint:对于启动脚本,端点的名称(主机的通用名称)。如果此变量未定义,则 kickstart.ini 将不会创建。因此,启动脚本将不会运行。

icingaweb2_director_kickstart_host:可以是可解析的主机名或 IP 地址。 默认值:“localhost”

icingaweb2_director_kickstart_port:默认端口为 5665,除非另行指定。

icingaweb2_director_kickstart_username:Director API 用户名。默认值:“root”

icingaweb2_director_kickstart_password:Director API 用户密码。默认值:“root”

依赖关系


此模块没有依赖关系。

示例剧本


包括一个使用您角色的示例(例如,作为参数传入的变量)对用户来说总是很有用的:

- hosts: icingaweb2
  roles:
     - { role: mkayontour.icingaweb2 }

许可证


Apache-2.0

作者信息


Twitter: @mkayontour

关于项目

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

安装
ansible-galaxy install mkayontour.icingaweb2
许可证
apache-2.0
下载
88.3k
拥有者
Twitter: @mkayontour