dj-wasabi.zabbix-proxy

Tabla de Contenidos

Estado de Build

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 llamada proxy_dbhost ahora se llama zabbix_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: 10051

  • zabbix_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.8

  • zabbix_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 en Falso si no necesitas elevar privilegios en localhost para instalar paquetes localmente con pip. Por defecto: Verdadero

  • zabbix_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 en Falso 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.com

  • zabbix_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 en Verdadero si deseas utilizar zabbix_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 cuando zabbix_api_create_proxy se establece en Verdadero.

  • 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

Acerca del proyecto

Installing and maintaining zabbix-proxy for RedHat/Debian/Ubuntu.

Instalar
ansible-galaxy install dj-wasabi.zabbix-proxy
Licencia
mit
Descargas
70.9k
Propietario
DevOps Engineer, Technical reviewer Packt Pub / Manning / BPB Online / O'Reilly Media