icingaweb2
ansible-icingaweb2
Роль Ansible для установки Icinga Web 2 и его полной настройки. Роль включает установку пакетов Icinga Web 2, настройку всех конфигурационных файлов и настройку модуля мониторинга.
Кроме того, роль предоставляет простой способ установки и активации модулей Icinga Web 2. Конфигурация этих модулей должна выполняться вручную или в отдельной роли.
Установка
ansible-galaxy install mkayontour.icingaweb2
Требования
Для этой роли нет специфических требований. Однако есть несколько моментов, которые стоит упомянуть.
Выберите веб-сервер самостоятельно, установив его перед установкой Icinga Web 2.
Кроме того, вам нужна роль, которая предоставляет работающую базу данных, и, пожалуйста, убедитесь, что схема импортирована сначала. Если вы планируете использовать аутентификацию с базой данных, если вы используете 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
Если необходимо управлять директором, вы можете использовать следующую переменную.
icingaweb2_manage_director: yes
Для получения дополнительной информации о директоре смотрите раздел 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
Директор
Пожалуйста, убедитесь, что репозиторий git для директора установлен или используйте функцию добавления модулей icingaweb2.
Для управления директором вы можете использовать переменную icingaweb2_manage_director
, чтобы активировать включение.
Чтобы активировать службу systemd, используйте переменную icingaweb2_manage_director_service
.
Затем есть несколько переменных для настройки config.ini и kickstart.ini.
config.ini
icingaweb2_director_resource
: Имя ресурса Icinga Web 2 Директора (БД)
kickstart.ini
icingaweb2_director_kickstart_endpoint:
Для скрипта начальной загрузки имя конечной точки (общее имя мастера). Если эта переменная не определена, kickstart.ini не будет создан и, следовательно, начальная загрузка не будет выполнена.
icingaweb2_director_kickstart_host:
может быть разрешимым именем хоста или IP-адресом.
По умолчанию: "localhost"
icingaweb2_director_kickstart_port:
Порт по умолчанию 5665, если не указан.
icingaweb2_director_kickstart_username:
Имя пользователя API Директора. По умолчанию: "root"
icingaweb2_director_kickstart_password:
Пароль 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/ansible-icingaweb2