dj-wasabi.zabbix-agent
Table des Matières
- Aperçu
- Exigences
- Prise en main
- Variables de rôle
- Dépendances
- Exemple de Playbook
- Molecule
- Déploiement des Userparameters
- Licence
- Informations sur l'auteur
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 variablezabbix_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 (depuistemplates/
) où les modèles de userparameter sont recherchés.zabbix_agent_userparameters_scripts_src
: indique le chemin relatif (depuisfiles/
) 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 surFaux
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 surFaux
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é avecagent_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.comzabbix_api_http_user
: L'utilisateur http pour accéder à l'url Zabbix avec une authentification de basezabbix_api_http_password
: Le mot de passe http pour accéder à l'url Zabbix avec une authentification de basezabbix_api_create_hosts
: Lorsque vous souhaitez activer l'API Zabbix pour créer/supprimer l'hôte. Cela doit être défini surVrai
si vous souhaitez utiliserzabbix_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 surVrai
si vous souhaitez utiliserzabbix_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 lorsquezabbix_api_create_hostgroup
est défini surVrai
.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 lorsquezabbix_api_create_hosts
est défini surVrai
.zabbix_update_host
: yes (par défaut) si l'hôte doit être mis à jour s'il existe déjà. Cela ne fonctionne que lorsquezabbix_api_create_hosts
est défini surVrai
.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 surautomatique
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. Utiliseznon
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 lienzabbix_win_download_link
et pour la mise à jour de l'agent Zabbix sizabbix_agent_package_state: latest
.zabbix_win_download_link
: L'url de téléchargement du fichierwin.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 lienzabbix_mac_download_link
.zabbix_mac_download_link
: L'url de téléchargement du fichierpkg
.
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 surVrai
, 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éfauthost
.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 surVrai
, 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é danszabbix_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é danszabbix_agent_listenport
etzabbix_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 danszabbix_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
: Quandinsérer
la règle ouajouter
à IPTables. Par défaut :insérer
.zabbix_agent_firewall_chain
: Quellechaîne
ajouter la règle à IPTables. Par défautINPUT
.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ù
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 variablezabbix_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 variablezabbix_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 variablescripts_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
Installing and maintaining zabbix-agent for RedHat/Debian/Ubuntu/Windows/Suse.
ansible-galaxy install dj-wasabi.zabbix-agent