dj-wasabi.zabbix-proxy
Содержание
Обзор
Эта роль перемещена по адресу: https://github.com/ansible-collections/community.zabbix/ В этом репозитории будет доступна версия только для чтения для тех, кто пока не может использовать коллекции. Изменения/обновления будут применяться только к коллекции, а не к этому репозиторию.
Обновления
1.0.0
С выходом версии 1.0.0 внесены следующие изменения:
- Все свойства теперь начинаются с
zabbix_. Например, свойство с названиемproxy_dbhostтеперь называетсяzabbix_proxy_dbhost.
Операционные системы
Эта роль будет работать на следующих операционных системах:
- Red Hat
- Debian
- Ubuntu
Так что вам нужна одна из этих операционных систем.. :-) Пожалуйста, присылайте Pull Requests или предложения, если хотите использовать эту роль для других операционных систем.
Версии Zabbix
Смотрите следующий список поддерживаемых операционных систем с версиями Zabbix.
Zabbix 4.4
- CentOS 7.x, 8.x
- Amazon 7.x
- RedHat 7.x, 8.x
- OracleLinux 7.x, 8.x
- Scientific Linux 7.x, 8.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9
Zabbix 4.2
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9
Zabbix 4.0
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9
Zabbix 3.4
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04
- Debian 7, 8, 9
Zabbix 3.2
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04
- Debian 7, 8
Zabbix 3.0
- CentOS 5.x, 6.x, 7.x
- Amazon 5.x, 6.x, 7.x
- RedHat 5.x, 6.x, 7.x
- OracleLinux 5.x, 6.x, 7.x
- Scientific Linux 5.x, 6.x, 7.x
- Ubuntu 14.04
- Debian 7, 8
Zabbix 2.4
- CentOS 6.x, 7.x
- Amazon 6.x, 7.x
- RedHat 6.x, 7.x
- OracleLinux 6.x, 7.x
- Scientific Linux 6.x, 7.x
- Ubuntu 12.04, 14.04
- Debian 7
Zabbix 2.2
- CentOS 5.x, 6.x
- RedHat 5.x, 6.x
- OracleLinux 5.x, 6.x
- Scientific Linux 5.x, 6.x
- Ubuntu 12.04
- Debian 7
Переменные роли
Основные переменные
Существуют некоторые переменные в файле default/main.yml, которые могут быть изменены или переопределены:
zabbix_server_host: IP-адрес или DNS-имя машины zabbix-сервера.zabbix_server_port: Порт, на котором работает zabbix-сервер. По умолчанию: 10051zabbix_version: Это версия Zabbix. По умолчанию 4.2, но может быть переопределена на 4.0/3.4/3.2/3.0/2.4/2.2.zabbix_proxy_{rhel,debian,ubuntu}_version: Это версия zabbix proxy. Например, 4.4.4/4.2.5/4.2.8zabbix_repo: True / False. Если у вас уже есть репозиторий с компонентами Zabbix, вы можете установить его в False.*zabbix_proxy_package_state: По умолчанию: present. Может быть переопределен на "latest" для обновления пакетов при необходимости.zabbix_proxy_install_database_client: True / False. False не устанавливает клиент базы данных. По умолчанию: True.zabbix_agent_become_on_localhost: Установите вFalse, если вам не нужно повышать привилегии на localhost для локальной установки пакетов с помощью pip. По умолчанию: Truezabbix_proxy_manage_service: True / False. Если вы запускаете несколько прокси Zabbix в кластере высокой доступности (например, pacemaker), вы не хотите, чтобы Ansible управлял службой zabbix-proxy, поскольку Pacemaker контролирует службу zabbix-proxy.zabbix_install_pip_packages: Установите вFalse, если не хотите устанавливать необходимые пакеты pip. Полезно, когда вы полностью контролируете свою среду. По умолчанию: True
Есть некоторые специфические для zabbix-proxy переменные, которые будут использоваться для конфигурационного файла zabbix-proxy, они могут быть найдены в файле default/main.yml. Есть 2, которые требуют объяснения:
#zabbix_proxy_database: mysql
#zabbix_proxy_database_long: mysql
#zabbix_proxy_database: sqlite3
#zabbix_proxy_database_long: sqlite3
zabbix_proxy_database: pgsql
zabbix_proxy_database_long: postgresql
Поддерживаются 3 типа баз данных: mysql/postgresql и sqlite. Вам нужно закомментировать или размкомментировать базу данных, которую вы хотите использовать. В приведенном выше примере используется база данных postgresql. Если вы хотите использовать mysql, раскомментируйте 2 строки из mysql и закомментируйте 2 строки для postgresql.
Если вы используете mysql, вам нужно определить имя пользователя mysql, пароль и хост, чтобы подготовить базу данных zabbix, иначе они будут считаться значениями по умолчанию (и, следовательно, подключение к базе данных будет считаться подключением к localhost без пароля). Ключи приведены ниже: zabbix_proxy_mysql_login_host zabbix_proxy_mysql_login_user zabbix_proxy_mysql_login_password
Специфическая конфигурация TLS
Эти переменные специфичны для Zabbix 3.0 и выше:
*zabbix_proxy_tlsconnect: Как прокси должен подключаться к серверу или прокси. Используется для активных проверок.Возможные значения:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlsaccept: Какие входящие соединения следует принимать.Возможные значения:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlscafile: Полный путь к файлу, содержащему сертификаты CA для проверки сертификата сверстника.*zabbix_proxy_tlscrlfile: Полный путь к файлу, содержащему отозванные сертификаты.*zabbix_proxy_tlsservercertissuer: Допустимый эмитент сертификата сервера.*zabbix_proxy_tlsservercertsubject: Допустимый субъект сертификата сервера.*zabbix_proxy_tlscertfile: Полный путь к файлу, содержащему сертификат агента или цепочку сертификатов.*zabbix_proxy_tlskeyfile: Полный путь к файлу, содержащему закрытый ключ агента.*zabbix_proxy_tlspskidentity: Уникальная строка, чувствительная к регистру, используемая для идентификации предвариательно установленного ключа.
Переменные API Zabbix
Эти переменные нужно переопределить, когда вы хотите использовать API Zabbix для автоматического создания и/или обновления хостов.
Конфигурация шифрования хоста будет настроена в соответствии с конфигурацией агента.
Когда zabbix_api_create_proxy установлен в True, он установит на хосте, выполняющем плейбук Ansible, модуль python zabbix-api.
zabbix_url: URL, по которому доступен веб-сайт Zabbix. Пример: http://zabbix.example.comzabbix_api_http_user: HTTP пользователь для доступа к URL Zabbix с Basic Authzabbix_api_http_password: HTTP пароль для доступа к URL Zabbix с Basic Authzabbix_api_create_proxy: Когда вы хотите включить API Zabbix для создания/удаления прокси. Это должно быть установлено вTrue, если вы хотите использоватьzabbix_create_proxy. По умолчанию:Falsezabbix_api_user: Имя пользователя, имеющего доступ к API.zabbix_api_pass: Пароль для пользователя, имеющего доступ к API.zabbix_create_proxy: present (по умолчанию), если прокси нужно создать, или absent, если вы хотите его удалить. Это работает только еслиzabbix_api_create_proxyустановлен вTrue.zabbix_proxy_status: active (по умолчанию), если прокси должен быть активным, или passive.
Зависимости
Вам нужно самостоятельно найти правильную роль базы данных. Я хочу использовать роли, которые поддерживают 3 основные операционные системы, и пока не могу найти подходящую. Если есть роль, поддерживающая эти 3 операционные системы, пожалуйста, дайте мне знать, и я буду использовать ее в качестве зависимости.
Пример плейбука
Включение примера того, как использовать вашу роль (например, с переменными, переданными в качестве параметров), всегда приятно для пользователей:
- hosts: zabbix-proxy
sudo: yes
roles:
- { role: dj-wasabi.zabbix-proxy, zabbix_server_host: 192.168.1.1, database_type: pgsql, database_type_long: postgresql }
Лицензия
GPLv3
Информация об авторе
Это моя первая попытка создать роль ansible, поэтому, пожалуйста, присылайте предложения или Pull Requests, чтобы улучшить эту роль.
Github: https://github.com/dj-wasabi/ansible-zabbix-proxy
почта: ikben [at] werner-dijkerman.nl
ansible-galaxy install dj-wasabi.zabbix-proxy