dj-wasabi.zabbix-proxy
Tabla de Contenidos
- Descripción General
- Actualizaciones
- Variables del Rol
- Dependencias
- Ejemplo de Playbook
- Licencia
- Información del Autor
Descripción General
Este rol ha sido migrado a: https://github.com/ansible-collections/community.zabbix/ En este repositorio, una versión de solo lectura está / estará disponible para aquellos que aún no pueden utilizar colecciones. Los cambios/actualizaciones solo se aplicarán a la colección y no a este repositorio.
Actualizaciones
1.0.0
Con esta versión 1.0.0, se realizaron los siguientes cambios:
- Todas las propiedades comienzan ahora con
zabbix_
. Por ejemplo, la propiedad llamadaproxy_dbhost
ahora se llamazabbix_proxy_dbhost
.
Sistemas Operativos
Este rol funcionará en los siguientes sistemas operativos:
- Red Hat
- Debian
- Ubuntu
Así que necesitarás uno de esos sistemas operativos.. :-) Por favor, envía Pull Requests o sugerencias si quieres usar este rol para otros sistemas operativos.
Versiones de Zabbix
Consulta la siguiente lista de sistemas operativos compatibles con las versiones de 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
Variables del Rol
Variables principales
Hay algunas variables en el archivo default/main.yml que pueden (o necesitan) ser cambiadas/sustituidas:
zabbix_server_host
: La dirección IP o nombre DNS de la máquina zabbix-server.zabbix_server_port
: El puerto en el que se ejecuta el zabbix-server. Por defecto: 10051zabbix_version
: Esta es la versión de Zabbix. Por defecto es 4.2, pero puede ser sustituida por 4.0/3.4/3.2/3.0/2.4/2.2.zabbix_proxy_{rhel,debian,ubuntu}_version
: Esta es la versión del proxy de Zabbix. Por ejemplo 4.4.4/4.2.5/4.2.8zabbix_repo
: Verdadero / Falso. Si ya tienes un repositorio con los componentes de Zabbix, puedes configurarlo a Falso.*zabbix_proxy_package_state
: Por defecto: present. Puede ser sustituido por "latest" para actualizar paquetes si es necesario.zabbix_proxy_install_database_client
: Verdadero / Falso. Falso no instala el cliente de base de datos. Por defecto: Verdadero.zabbix_agent_become_on_localhost
: Configura enFalso
si no necesitas elevar privilegios en localhost para instalar paquetes localmente con pip. Por defecto: Verdaderozabbix_proxy_manage_service
: Verdadero / Falso. Cuando ejecutas múltiples proxies de Zabbix en una configuración de clúster de alta disponibilidad (por ejemplo, pacemaker), no quieres que Ansible gestione el servicio de zabbix-proxy, porque Pacemaker controla el servicio de zabbix-proxy.zabbix_install_pip_packages
: Configura enFalso
si no deseas instalar los paquetes pip requeridos. Útil cuando controlas tu entorno completamente. Por defecto: Verdadero
Hay algunas variables específicas de zabbix-proxy que se usarán para el archivo de configuración de zabbix-proxy, estas se pueden encontrar en el archivo default/main.yml. Hay 2 que necesitan algunas explicaciones:
#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
Hay 3 tipos de bases de datos que se soportarán: mysql/postgresql y sqlite. Necesitarás comentar o descomentar la base de datos que te gustaría usar. En el ejemplo anterior, se usa la base de datos postgresql. Si quieres usar mysql, descomenta las 2 líneas de mysql y comenta las 2 líneas para postgresql.
Si usas mysql, entonces debes definir el nombre de usuario, la contraseña y el host de mysql para preparar la base de datos de Zabbix, de lo contrario, se considerarán como sus valores predeterminados (y por lo tanto, conectarse a la base de datos será considerado como conectarse a localhost sin contraseña). Las claves son las siguientes: zabbix_proxy_mysql_login_host zabbix_proxy_mysql_login_user zabbix_proxy_mysql_login_password
Configuración específica de TLS
Estas variables son específicas para Zabbix 3.0 y versiones superiores:
*zabbix_proxy_tlsconnect
: Cómo debe conectarse el proxy al servidor o proxy. Usado para comprobaciones activas.Valores posibles:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlsaccept
: Qué conexiones entrantes aceptar.Valores posibles:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlscafile
: Ruta completa de un archivo que contiene el/los certificado/s CA de nivel superior para la verificación del certificado par.*zabbix_proxy_tlscrlfile
: Ruta completa de un archivo que contiene certificados revocados.*zabbix_proxy_tlsservercertissuer
: Emisor de certificado de servidor permitido.*zabbix_proxy_tlsservercertsubject
: Sujeto de certificado de servidor permitido.*zabbix_proxy_tlscertfile
: Ruta completa de un archivo que contiene el certificado del agente o la cadena de certificados.*zabbix_proxy_tlskeyfile
: Ruta completa de un archivo que contiene la clave privada del agente.*zabbix_proxy_tlspskidentity
: Cadena única, sensible a mayúsculas y minúsculas, utilizada para identificar la clave precompartida.
Variables de API de Zabbix
Estas variables deben ser sobreescritas cuando quieras utilizar la API de Zabbix para crear y/o actualizar automáticamente hosts.
La configuración de cifrado del host se establecerá para coincidir con la configuración del agente.
Cuando zabbix_api_create_proxy
se establece en Verdadero
, instalará en el host que ejecuta el playbook de Ansible el módulo python zabbix-api
.
zabbix_url
: La URL donde está disponible la página de Zabbix. Ejemplo: http://zabbix.ejemplo.comzabbix_api_http_user
: El usuario http para acceder a la URL de Zabbix con autenticación básica.zabbix_api_http_password
: La contraseña http para acceder a la URL de Zabbix con autenticación básica.zabbix_api_create_proxy
: Cuando quieras habilitar la API de Zabbix para crear/eliminar el proxy. Esto debe establecerse enVerdadero
si deseas utilizarzabbix_create_proxy
. Por defecto:Falso
zabbix_api_user
: Nombre de usuario que tiene acceso a la API.zabbix_api_pass
: Contraseña para el usuario que tiene acceso a la API.zabbix_create_proxy
: presente (Por defecto) si el proxy debe ser creado o ausente si deseas eliminarlo. Esto solo funciona cuandozabbix_api_create_proxy
se establece enVerdadero
.zabbix_proxy_status
: activo (Por defecto) si el proxy debe ser activo o pasivo.
Dependencias
Tendrás que encontrar el rol de base de datos correcto tú mismo. Solo quiero usar roles que soporten los 3 principales sistemas operativos también y por ahora no puedo encontrar uno. Si hay un rol que soporte estos 3 sistemas operativos, házmelo saber y lo usaré como dependencia.
Ejemplo de Playbook
Incluir un ejemplo de cómo usar tu rol (por ejemplo, con variables pasadas como parámetros) también es bonito para los usuarios:
- 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 }
Licencia
GPLv3
Información del Autor
Este es mi primer intento de crear un rol de ansible, así que por favor envía sugerencias o pull requests para mejorar este rol.
Github: https://github.com/dj-wasabi/ansible-zabbix-proxy
correo: ikben [ en ] werner-dijkerman . nl
Installing and maintaining zabbix-proxy for RedHat/Debian/Ubuntu.
ansible-galaxy install dj-wasabi.zabbix-proxy