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.ini 和 kickstart.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