dj-wasabi.zabbix-agent

Table des Matières

Introduction

Ce rôle a été migré vers : https://github.com/ansible-collections/community.zabbix/ Dans ce dépôt, une version en lecture seule est/sera disponible pour ceux qui ne peuvent pas (encore) utiliser les collections. Les changements/mises à jour ne seront appliqués qu'à la collection et non à ce dépôt.

Exigences

Systèmes d'exploitation

Ce rôle fonctionnera sur les systèmes d'exploitation suivants :

  • Red Hat
  • Fedora
  • Debian
  • Ubuntu
  • opensuse
  • Windows (meilleur effort)
  • macOS

Vous aurez donc besoin de l'un de ces systèmes d'exploitation.. :-) Veuillez envoyer des Pull Requests ou des suggestions si vous souhaitez utiliser ce rôle pour d'autres systèmes d'exploitation.

Accès au système local

Pour installer le rôle avec succès, il nécessite python-netaddr sur le contrôleur pour gérer les adresses IP. Cela nécessite que la bibliothèque soit disponible sur votre machine locale (ou que pip soit installé pour pouvoir l'exécuter). Cela implique probablement que l'exécution du rôle nécessitera un accès sudo à votre machine locale et donc vous pourriez avoir besoin du drapeau -K pour pouvoir entrer votre mot de passe local si vous ne travaillez pas sous root.

Versions de Zabbix

Voir la liste suivante des systèmes d'exploitation pris en charge avec les versions de Zabbix :

Zabbix 4.4

  • CentOS 7.x, 8.x
  • Amazon 7.x
  • RedHat 7.x, 8.x
  • Fedora 27, 29
  • OracleLinux 7.x, 8.x
  • Scientific Linux 7.x, 8.x
  • Ubuntu 14.04, 16.04, 18.04
  • Debian 8, 9, 10
  • macOS 10.14, 10.15

Zabbix 4.2

  • CentOS 7.x
  • Amazon 7.x
  • RedHat 7.x
  • Fedora 27, 29
  • OracleLinux 7.x
  • Scientific Linux 7.x
  • Ubuntu 14.04, 16.04, 18.04
  • Debian 8, 9, 10
  • macOS 10.14, 10.15

Zabbix 4.0

  • CentOS 7.x
  • Amazon 7.x
  • RedHat 7.x
  • Fedora 27, 29
  • OracleLinux 7.x
  • Scientific Linux 7.x
  • Ubuntu 14.04, 16.04, 18.04
  • Debian 8, 9, 10
  • macOS 10.14, 10.15

Zabbix 3.4

  • CentOS 7.x
  • Amazon 7.x
  • RedHat 7.x
  • Fedora 27, 29
  • OracleLinux 7.x
  • Scientific Linux 7.x
  • Ubuntu 14.04, 16.04, 18.04
  • Debian 7, 8, 9

Zabbix 3.2

  • CentOS 7.x
  • Amazon 7.x
  • RedHat 7.x
  • Fedora 27, 29
  • 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
  • xenserver 6

Prise en main

Installation

Installer ce rôle est très simple : ansible-galaxy install dj-wasabi.zabbix-agent

Cela installera le rôle zabbix-agent dans votre répertoire roles.

Configuration minimale

Pour faire fonctionner l'agent Zabbix, vous devez définir les propriétés suivantes avant d'exécuter le rôle :

  • zabbix_agent_version
  • zabbix_agent_server
  • zabbix_agent_serveractive (lorsque vous utilisez des vérifications actives)

La variable zabbix_agent_version est optionnelle. La version majeure.minor la plus récente de Zabbix sera installée sur l'hôte(s). Si vous souhaitez utiliser une version antérieure, veuillez le préciser dans le format majeur.minor. Exemple : zabbix_agent_version: 4.0, zabbix_agent_version: 3.4 ou zabbix_agent_version: 2.2.

Le zabbix_agent_server (et zabbix_agent_serveractive) doit contenir l'IP ou le fqdn de l'hôte exécutant le serveur Zabbix.

Problèmes

En raison d'une question discutée sur #291, la version 2.9.{0,1,2} d'Ansible ne fonctionne pas correctement sur les cibles liées à Windows.

Variables de rôle

Variables principales

Il existe certaines variables dans default/main.yml qui peuvent (ou doivent) être remplacées :

  • zabbix_agent_server : L'adresse IP du serveur zabbix ou du proxy zabbix.

  • zabbix_agent_serveractive : L'adresse IP du serveur zabbix ou du proxy zabbix pour des vérifications actives.

  • zabbix_agent_version : C'est la version de zabbix. Par défaut, c'est 4.4, mais peut être remplacée par l'une des versions mentionnées dans Versions de Zabbix. Auparavant, la variable zabbix_version était utilisée directement mais cela pouvait causer certaines incommodités. Cette variable est maintenue par rétrocompatibilité.

  • zabbix_repo : Par défaut : zabbix

    • epel installe l'agent depuis le dépôt EPEL
    • zabbix (par défaut) installe l'agent depuis le dépôt Zabbix
    • other installe l'agent depuis un dépôt préexistant ou autre
  • zabbix_agent_listeninterface : Interface sur laquelle l'agent zabbix écoute. Laissez vide pour toutes.

  • zabbix_agent_package : Le nom du paquet zabbix-agent. Par défaut : zabbix-agent. En cas d'EPEL, il est automatiquement renommé.

  • zabbix_sender_package : Le nom du paquet zabbix-sender. Par défaut : zabbix-sender. En cas d'EPEL, il est automatiquement renommé.

  • zabbix_get_package : Le nom du paquet zabbix-get. Par défaut : zabbix-get. En cas d'EPEL, il est automatiquement renommé.

  • zabbix_agent_package_state : Si l'agent Zabbix doit être présent ou à jour.

  • zabbix_agent_interfaces : Une liste qui configure les interfaces que vous pouvez utiliser lors de la configuration via l'API.

  • zabbix_selinux : Active une politique SELinux pour que l'agent puisse s'exécuter. Par défaut : Faux.

  • zabbix_agent_userparameters : Liste des noms et scripts de userparameters (le cas échéant). Une description détaillée est donnée dans la section Déploiement des Userparameters. Par défaut : [] (liste vide).

    • name : Nom du userparameter (devrait être le même que le nom du fichier de modèle userparameter)
    • scripts_dir : Nom du répertoire des scripts personnalisés nécessaires pour les userparameters
  • zabbix_agent_userparameters_templates_src : indique le chemin relatif (depuis templates/) où les modèles de userparameter sont recherchés.

  • zabbix_agent_userparameters_scripts_src : indique le chemin relatif (depuis files/) où les scripts de userparameter sont recherchés.

  • zabbix_agent_allowroot : Autorise l'exécution de l'agent en tant que 'root'. 0 - ne pas autoriser, 1 - autoriser.

  • zabbix_agent_runas_user : Réduit les privilèges à un utilisateur spécifique existant sur le système. N'a d'effet que si exécuté en tant que 'root' et que AllowRoot est désactivé.

  • zabbix_agent_become_on_localhost : Définit sur Faux si vous n'avez pas besoin d'éléver les privilèges sur localhost pour installer des paquets localement avec pip. Par défaut : Vrai.

  • zabbix_install_pip_packages : Définit sur Faux si vous ne souhaitez pas installer les paquets pip requis. Utile lorsque vous contrôlez complètement votre environnement. Par défaut : Vrai.

  • zabbix_agent_apt_priority : Ajoute un poids (Pin-Priority) pour le dépôt APT.

Configuration spécifique à TLS

Ces variables sont spécifiques à Zabbix 3.0 et supérieur :

  • zabbix_agent_tlsconnect : Comment l'agent doit se connecter au serveur ou au proxy. Utilisé pour des vérifications actives.

    Valeurs possibles :

    • non chiffré
    • psk
    • cert
  • zabbix_agent_tlsaccept : Quelles connexions entrantes accepter.

    Valeurs possibles :

    • non chiffré
    • psk
    • cert
  • zabbix_agent_tlscafile : Chemin complet vers un fichier contenant les certificats CA (top-level) pour la vérification des certificats des pairs.

  • zabbix_agent_tlscrlfile : Chemin complet vers un fichier contenant des certificats révoqués.

  • zabbix_agent_tlsservercertissuer : Émetteur de certificat de serveur autorisé.

  • zabbix_agent_tlsservercertsubject : Sujet de certificat de serveur autorisé.

  • zabbix_agent_tlscertfile : Chemin complet vers un fichier contenant le certificat de l'agent ou la chaîne de certificats.

  • zabbix_agent_tlskeyfile : Chemin complet vers un fichier contenant la clé privée de l'agent.

  • zabbix_agent_tlspskidentity : Chaîne unique, sensible à la casse, utilisée pour identifier la clé pré-partagée.

  • zabbix_agent_tlspskidentity_file : Chemin complet vers un fichier contenant l'identité de la clé pré-partagée.

  • zabbix_agent_tlspskfile : Chemin complet vers un fichier contenant la clé pré-partagée.

  • zabbix_agent_tlspsk_secret : La clé secrète pré-partagée qui doit être placée dans le fichier configuré avec agent_tlspskfile.

  • zabbix_agent_tlspsk_auto : Active la génération et le stockage automatiques de clés et d'identités pré-partagées individuelles sur les clients.

Variables API Zabbix

Ces variables doivent être remplacées lorsque vous souhaitez utiliser l'API zabbix pour créer ou mettre à jour automatiquement des hôtes.

La configuration de chiffrement de l'hôte sera définie pour correspondre à la configuration de l'agent.

Lorsque zabbix_api_create_hostgroup ou zabbix_api_create_hosts est défini sur Vrai, le module python zabbix-api sera installé sur l'hôte exécutant le playbook Ansible.

  • zabbix_url : L'URL sur laquelle la page web Zabbix est disponible. Exemple : http://zabbix.example.com

  • zabbix_api_http_user : L'utilisateur http pour accéder à l'url Zabbix avec une authentification de base

  • zabbix_api_http_password : Le mot de passe http pour accéder à l'url Zabbix avec une authentification de base

  • zabbix_api_create_hosts : Lorsque vous souhaitez activer l'API Zabbix pour créer/supprimer l'hôte. Cela doit être défini sur Vrai si vous souhaitez utiliser zabbix_create_host. Par défaut : Faux.

  • zabbix_api_create_hostgroup : Lorsque vous souhaitez activer l'API Zabbix pour créer/supprimer les groupes d'hôtes. Cela doit être défini sur Vrai si vous souhaitez utiliser zabbix_create_hostgroup. Par défaut : Faux.

  • zabbix_api_user : Nom d'utilisateur de l'utilisateur ayant accès à l'API.

  • zabbix_api_pass : Mot de passe de l'utilisateur ayant accès à l'API.

  • zabbix_create_hostgroup : présent (par défaut) si le groupe d'hôtes doit être créé ou absent si vous souhaitez le supprimer. Cela ne fonctionne que lorsque zabbix_api_create_hostgroup est défini sur Vrai.

  • zabbix_host_status : enabled (par défaut) lorsque l'hôte est surveillé, disabled lorsque l'hôte est désactivé pour la surveillance.

  • zabbix_create_host : présent (par défaut) si l'hôte doit être créé ou absent si vous souhaitez le supprimer. Cela ne fonctionne que lorsque zabbix_api_create_hosts est défini sur Vrai.

  • zabbix_update_host : yes (par défaut) si l'hôte doit être mis à jour s'il existe déjà. Cela ne fonctionne que lorsque zabbix_api_create_hosts est défini sur Vrai.

  • zabbix_useuip : 1 si la connexion à l'agent zabbix est effectuée via l'ip, 0 pour fqdn.

  • zabbix_host_groups : Une liste de groupes d'hôtes auxquels cet hôte appartient.

  • zabbix_link_templates : Une liste de modèles qui doivent être liés à cet hôte. Les modèles doivent exister.

  • zabbix_macros : Une liste avec macro_key et macro_value pour créer des macro d'hôte.

  • zabbix_inventory_mode : Configure le mode d'inventaire de Zabbix. Nécessaire pour construire les données d'inventaire, manuellement lors de la configuration d'un hôte ou automatiquement en utilisant certaines options de population automatique. Cela doit être défini sur automatique si vous voulez constituer automatiquement des données d'inventaire.

  • zabbix_visible_hostname : Configure le nom visible de Zabbix dans l'interface web de Zabbix pour le nœud.

  • zabbix_validate_certs : oui (par défaut) si nous devons valider les certificats tls de l'API. Utilisez non en cas d'utilisation de certificats auto-signés.

Variables Windows

REMARQUE

Supporter Windows est un meilleur effort (je n'ai pas la possibilité de tester/vérifier des changements sur le nombre varié d'instances Windows disponibles). Les PR spécifiques à Windows seront presque immédiatement fusionnées, à moins que quelqu'un ne puisse fournir un mécanisme de test Windows via Travis pour les Pull Requests.

  • zabbix_version_long : La version longue (majeure.mineure.patch) de l'agent Zabbix. Cela sera utilisé pour générer le lien zabbix_win_download_link et pour la mise à jour de l'agent Zabbix si zabbix_agent_package_state: latest.

  • zabbix_win_download_link : L'url de téléchargement du fichier win.zip.

  • zabbix_win_install_dir : Le répertoire où Zabbix doit être installé.

  • zabbix_agent_win_logfile : Le chemin complet vers le fichier de journal de l'agent Zabbix.

  • zabbix_agent_win_include : Le répertoire dans lequel les fichiers de configuration spécifiques à Zabbix sont stockés.

  • zabbix_agent_win_svc_recovery : Active les paramètres de récupération automatique du service de l'agent Zabbix.

Variables macOS

  • zabbix_version_long : La version longue (majeure.mineure.patch) de l'agent Zabbix. Cela sera utilisé pour générer le lien zabbix_mac_download_link.

  • zabbix_mac_download_link : L'url de téléchargement du fichier pkg.

Variables Docker

Lorsque vous ne souhaitez pas installer l'agent Zabbix sur l'hôte, mais souhaitez l'exécuter dans un conteneur, ces propriétés sont utiles. Lorsque zabbix_agent_docker est défini sur Vrai, une image Docker sera téléchargée et un conteneur sera démarré. Aucune autre installation ne sera effectuée sur l'hôte, à l'exception du fichier PSK et du "Répertoire d'inclusion Zabbix".

Les répertoires suivants sont montés dans le conteneur :

  - /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
  - /:/hostfs:ro
  - /etc:/hostfs/etc:ro
  - /proc:/hostfs/proc:ro
  - /sys:/hostfs/sys:ro
  - /var/run:/var/run

Gardez à l'esprit que l'utilisation de l'agent Zabbix dans un conteneur nécessite des modifications au modèle Zabbix pour Linux, car /proc, /sys et /etc sont montés dans un répertoire /hostfs.

  • zabbix_agent_docker : Lorsqu'il est défini sur Vrai, il installera un conteneur Docker sur l'hôte cible au lieu de l'installation sur la cible. Par défaut : Faux.

  • zabbix_agent_docker_state : Par défaut : démarré.

  • zabbix_agent_docker_name : Le nom du conteneur. Par défaut : zabbix-agent.

  • zabbix_agent_docker_image : Le nom de l'image Docker. Par défaut : zabbix/zabbix-agent.

  • zabbix_agent_docker_image_tag : Le tag de l'image Docker.

  • zabbix_agent_docker_user_gid : L'identifiant de groupe de l'utilisateur zabbix dans le conteneur.

  • zabbix_agent_docker_user_uid : L'identifiant utilisateur de l'utilisateur zabbix dans le conteneur.

  • zabbix_agent_docker_network_mode : Le nom du réseau (Docker) qui doit être utilisé pour le conteneur. Par défaut host.

  • zabbix_agent_docker_restart_policy : La politique de redémarrage du conteneur. Par défaut : unless-stopped.

  • zabbix_agent_docker_privileged : Lorsqu'il est défini sur Vrai, le conteneur s'exécute en mode privilégié.

  • zabbix_agent_docker_ports : Une liste avec des valeurs <PORT>:<PORT> pour ouvrir des ports vers le conteneur.

  • zabbix_agent_docker_security_opts : Une liste avec les options de sécurité disponibles.

  • zabbix_agent_docker_volumes : Une liste avec tous les répertoires qui doivent être disponibles dans le conteneur.

  • zabbix_agent_docker_env : Un dictionnaire avec toutes les variables d'environnement qui doivent être définies pour le conteneur.

Autres variables

  • zabbix_agent_firewall_enable : Si IPtables doit être mis à jour en ouvrant un port TCP pour le port configuré dans zabbix_agent_listenport.

  • zabbix_agent_firewall_source : Lorsqu'il est fourni, IPtables sera configuré pour n'autoriser que le trafic provenant de cette adresse/range IP.

  • zabbix_agent_firewalld_enable : Si firewalld doit être mis à jour en ouvrant un port TCP pour le port configuré dans zabbix_agent_listenport et zabbix_agent_jmx_listenport si défini.

  • zabbix_agent_firewalld_source : Lorsqu'il est fourni, firewalld sera configuré pour n'autoriser le trafic que pour l'IP configurée dans zabbix_agent_server.

  • zabbix_agent_firewalld_zone : Lorsqu'il est fourni, la règle firewalld sera attachée à cette zone (uniquement si zabbix_agent_firewalld_enable est défini sur vrai). Le comportement par défaut est d'utiliser la zone par défaut définie par la configuration firewalld de l'hôte distant.

  • zabbix_agent_firewall_action : Quand insérer la règle ou ajouter à IPTables. Par défaut : insérer.

  • zabbix_agent_firewall_chain : Quelle chaîne ajouter la règle à IPTables. Par défaut INPUT.

  • zabbix_agent_description : Description de l'hôte dans Zabbix.

  • zabbix_agent_inventory_zabbix : Ajoute des faits pour un inventaire zabbix.

Variables IPMI

  • zabbix_agent_ipmi_authtype : Algorithme d'authentification IPMI. Les valeurs possibles sont 1 (callback), 2 (user), 3 (operator), 4 (admin), 5 (OEM), avec 2 étant la valeur par défaut de l'API.

  • zabbix_agent_ipmi_password : Mot de passe IPMI.

  • zabbix_agent_ipmi_privilege : Niveau de privilège IPMI. Valeurs possibles : 1 (callback), 2 (user), 3 (operator), 4 (admin), 5 (OEM), avec 2 étant la valeur par défaut de l'API.

  • zabbix_agent_ipmi_username : Nom d'utilisateur IPMI.

proxy

Lorsque l'hôte cible n'a pas accès à Internet, mais que vous disposez d'un proxy, les propriétés suivantes doivent être définies pour télécharger les paquets via le proxy :

  • zabbix_http_proxy
  • zabbix_https_proxy

Dépendances

Il n'y a pas de dépendances sur d'autres rôles.

Exemple de Playbook

interfaces_agent

Cela va configurer l'interface de l'agent Zabbix sur l'hôte.

zabbix_agent_interfaces:
  - type: 1
    main: 1
    useip: "{{ zabbix_useuip }}"
    ip: "{{ zabbix_agent_ip }}"
    dns: "{{ ansible_fqdn }}"
    port: "{{ zabbix_agent_listenport }}"

Autres interfaces

Vous pouvez également configurer les zabbix_agent_interfaces pour ajouter/configurer des interfaces snmp, jmx et ipmi.

Vous devrez utiliser l'un des numéros de type suivants lors de la configuration :

Type d'interface Nr
Agent Zabbix 1
snmp 2
ipmi 3
jmx 4

Configurer une interface snmp ressemblera à cela :

zabbix_agent_interfaces:
  - type: 2
    main: 1
    useip: "{{ zabbix_useuip }}"
    ip: "{{ agent_ip }}"
    dns: "{{ ansible_fqdn }}"
    port: "{{ agent_listenport }}"

Variables dans la configuration de rôle

Inclure un exemple de la façon d'utiliser votre rôle (par exemple, avec des variables passées en tant que paramètres) est toujours agréable pour les utilisateurs aussi :

- hosts: all
  roles:
     - role: dj-wasabi.zabbix-agent
       zabbix_agent_server: 192.168.33.30
       zabbix_agent_serveractive: 192.168.33.30
       zabbix_url: http://zabbix.example.com
       zabbix_api_use: true # utiliser zabbix_api_create_hosts et/ou zabbix_api_create_hostgroup depuis 0.8.0
       zabbix_api_user: Admin
       zabbix_api_pass: zabbix
       zabbix_create_host: présent
       zabbix_host_groups:
         - Serveurs Linux
       zabbix_link_templates:
         - Modèle OS Linux
         - Modèle d'application Apache
       zabbix_macros:
         - macro_key: apache_type
           macro_value: reverse_proxy

Combinaison de group_vars et playbook

Vous pouvez également utiliser les fichiers group_vars ou host_vars pour définir les variables nécessaires pour ce rôle. Fichier à modifier : group_vars/all ou host_vars/<zabbix_server> (où est le nom d'hôte de la machine exécutant le serveur Zabbix)

    zabbix_agent_server: 192.168.33.30
    zabbix_agent_serveractive: 192.168.33.30
    zabbix_url: http://zabbix.example.com
    zabbix_api_use: true # utiliser zabbix_api_create_hosts et/ou zabbix_api_create_hostgroup depuis 0.8.0
    zabbix_api_user: Admin
    zabbix_api_pass: zabbix
    zabbix_create_host: présent
    zabbix_host_groups:
      - Serveurs Linux
    zabbix_link_templates:
      - Modèle OS Linux
      - Modèle d'application Apache
    zabbix_macros:
      - macro_key: apache_type
        macro_value: reverse_proxy

et dans le playbook, spécifier uniquement :

- hosts: all
  roles:
     - role: dj-wasabi.zabbix-agent

Exemple pour la communication chiffrée par PSK TLS

Variables par exemple dans le playbook ou dans host_vars/myhost :

zabbix_agent_tlsaccept: psk
zabbix_agent_tlsconnect: psk
zabbix_agent_tlspskidentity: "myhost PSK"
zabbix_agent_tlspsk_secret: b7e3d380b9d400676d47198ecf3592ccd4795a59668aa2ade29f0003abbbd40d
zabbix_agent_tlspskfile: /etc/zabbix/zabbix_agent_pskfile.psk

Molecule

Ce rôle est configuré pour être testé avec Molecule. Vous pouvez trouver sur cette page plus d'informations concernant Molecule : https://werner-dijkerman.nl/2016/07/10/testing-ansible-roles-with-molecule-testinfra-and-docker/

Avec chaque Pull Request, Molecule sera exécuté via travis.ci. Les Pull Requests ne seront fusionnées que lorsque ces tests seront réussis.

Il y a 2 scénarios qui sont exécutés avec Travis.

défaut

Avec le premier scénario, Molecule démarrera 5 conteneurs Docker avec les systèmes d'exploitation suivants :

  • Debian 8
  • CentOS 7
  • Ubuntu 16.04
  • Ubuntu 18.04
  • Mint

Ce scénario effectuera une installation/configuration de base, sans enregistrer l'hôte via l'API Zabbix auprès du serveur.

avec-serveur

Le 2ème scénario démarrera 4 conteneurs Docker avec les systèmes d'exploitation suivants :

  • CentOS 7 (serveur Zabbix)
  • Debian 8
  • CentOS 7
  • Ubuntu 18.04

Tout d'abord, un serveur Zabbix sera installé sur un conteneur. Cette installation utilise d'autres rôles dj-wasabi pour installer/configurer un serveur Zabbix. Une fois cette instance en cours d'exécution, les 3 autres agents sont installés.

Chaque hôte s'enregistrera sur le serveur Zabbix et le statut devrait être 0 (ce qui signifie que le serveur Zabbix et l'agent Zabbix sont connectés).

L'agent Ubuntu s'enregistrera via un PSK, de sorte que la communication entre le serveur Zabbix et l'agent Zabbix soit chiffrée avec une clé pré-partagée.

avant-dernière-version

Le 3ème et dernier scénario est le avant-dernière-version. C'est le même scénario que le défaut, mais utilise la version précédente de Zabbix.

Déploiement des Userparameters

Les étapes suivantes sont nécessaires pour installer des userparameters et/ou des scripts personnalisés :

  • Mettez le fichier userparameter souhaité dans le répertoire templates/userparameters et nommez-le <userparameter_name>.j2. Par exemple : templates/userparameters/mysql.j2. Vous pouvez changer le répertoire par défaut en un répertoire personnalisé en modifiant la variable zabbix_agent_userparameters_templates_src.
  • Mettez le répertoire des scripts (le cas échéant) dans le répertoire files/scripts. Par exemple : files/scripts/mysql. Vous pouvez changer le répertoire par défaut en un répertoire personnalisé en modifiant la variable zabbix_agent_userparameters_scripts_src.
  • Ajoutez la variable zabbix_agent_userparameters au playbook en tant que liste de dictionnaires et définissez le nom du userparameter et le nom du répertoire des scripts (s'il n'y a pas de scripts, ne spécifiez pas la variable scripts_dir).

Exemple :

- hosts: mysql_servers
  tasks:
    - include_role:
        name: dj-wasabi.zabbix-agent
      vars:
        zabbix_agent_server: zabbix.mydomain.com
        zabbix_agent_userparameters:
          - name: mysql
            scripts_dir: mysql
          - name: galera

Exemple du fichier "templates/userparameters/mysql.j2" :

UserParameter=mysql.ping_to,mysqladmin -uroot ping | grep -c alive

Licence

MIT

Informations sur l'auteur

Veuillez envoyer des suggestions ou des Pull Requests pour améliorer ce rôle. Faites-moi également savoir si vous rencontrez des problèmes lors de l'installation ou de l'utilisation de ce rôle.

Github : https://github.com/dj-wasabi/ansible-zabbix-agent

mail : ikben [ at ] werner-dijkerman . nl

À propos du projet

Installing and maintaining zabbix-agent for RedHat/Debian/Ubuntu/Windows/Suse.

Installer
ansible-galaxy install dj-wasabi.zabbix-agent
Licence
mit
Téléchargements
4.2M
Propriétaire
DevOps Engineer, Technical reviewer Packt Pub / Manning / BPB Online / O'Reilly Media