icingaweb2

Статус сборки статус volkswagen Оценка качества Ansible

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
Лицензия
apache-2.0
Загрузки
88245
Владелец
Twitter: @mkayontour