dj-wasabi.zabbix-proxy
Table des matières
- Aperçu
- Mises à jour
- Variables de rôle
- Dépendances
- Exemple de Playbook
- Licence
- Informations sur l'auteur
Aperçu
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 seront uniquement appliqués à la collection et non dans ce dépôt.
Mises à jour
1.0.0
Avec cette version 1.0.0, les changements suivants ont été effectués :
- Toutes les propriétés commencent par
zabbix_
maintenant. Par exemple, la propriété nomméeproxy_dbhost
est maintenantzabbix_proxy_dbhost
.
Systèmes d'exploitation
Ce rôle fonctionnera sur les systèmes d'exploitation suivants :
- Red Hat
- Debian
- Ubuntu
Donc, vous aurez besoin de l'un de ces systèmes d'exploitation.. :-) Veuillez envoyer des demandes de tirage ou des suggestions si vous souhaitez utiliser ce rôle pour d'autres systèmes d'exploitation.
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
- 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 de rôle
Variables principales
Il existe certaines variables dans le fichier default/main.yml qui peuvent (ou doivent) être changées / remplacées :
zabbix_server_host
: L'IP ou le nom DNS de la machine zabbix-server.zabbix_server_port
: Le port sur lequel le zabbix-server fonctionne. Par défaut : 10051zabbix_version
: C'est la version de zabbix. Par défaut, c'est 4.2, mais elle peut être remplacée par 4.0/3.4/3.2/3.0/2.4/2.2.zabbix_proxy_{rhel,debian,ubuntu}_version
: C'est la version du proxy Zabbix. Par exemple, 4.4.4/4.2.5/4.2.8zabbix_repo
: Vrai / Faux. Si vous avez déjà un dépôt avec les composants Zabbix, vous pouvez le régler sur Faux.*zabbix_proxy_package_state
: Par défaut : présent. Peut être remplacé par "dernier" pour mettre à jour les paquets si nécessaire.zabbix_proxy_install_database_client
: Vrai / Faux. Faux n'installe pas le client de base de données. Par défaut : Vrai.zabbix_agent_become_on_localhost
: Réglez surFaux
si vous n'avez pas besoin d'élever les privilèges sur localhost pour installer des paquets localement avec pip. Par défaut : Vrai.zabbix_proxy_manage_service
: Vrai / Faux. Lorsque vous exécutez plusieurs proxies Zabbix dans une configuration de cluster hautement disponible (par exemple, pacemaker), vous ne voulez pas qu'Ansible gère le service zabbix-proxy, car Pacemaker contrôle le service zabbix-proxy.zabbix_install_pip_packages
: Réglez surFaux
si vous ne souhaitez pas installer les paquets pip requis. Utile lorsque vous contrôlez complètement votre environnement. Par défaut : Vrai.
Il y a certaines variables spécifiques au proxy Zabbix qui seront utilisées pour le fichier de configuration du proxy Zabbix, celles-ci se trouvent dans le fichier default/main.yml. Deux d'entre elles nécessitent une explication :
#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
Il y a 3 types de bases de données qui seront pris en charge : mysql/postgresql et sqlite. Vous devez commenter ou décommenter la base de données que vous souhaitez utiliser. Dans l'exemple ci-dessus, la base de données postgresql est utilisée. Si vous souhaitez utiliser mysql, décommentez les 2 lignes de mysql et commentez les 2 lignes pour postgresql.
Si vous utilisez mysql, vous devez définir le nom d'utilisateur, le mot de passe et l'hôte mysql pour préparer la base de données zabbix, sinon, ils seront considérés comme leurs valeurs par défaut (et donc, se connecter à la base de données sera considéré comme se connecter à localhost sans mot de passe). Les clés sont les suivantes : zabbix_proxy_mysql_login_host zabbix_proxy_mysql_login_user zabbix_proxy_mysql_login_password
Configuration TLS spécifique
Ces variables sont spécifiques pour Zabbix 3.0 et supérieur :
*zabbix_proxy_tlsconnect
: Comment le proxy doit se connecter au serveur ou au proxy. Utilisé pour les vérifications actives.Valeurs possibles :
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlsaccept
: Quelles connexions entrantes accepter.Valeurs possibles :
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlscafile
: Chemin d'accès complet d'un fichier contenant les certificats CA de niveau supérieur pour la vérification des certificats des pairs.*zabbix_proxy_tlscrlfile
: Chemin d'accès complet d'un fichier contenant les certificats révoqués.*zabbix_proxy_tlsservercertissuer
: Émetteur de certificat de serveur autorisé.*zabbix_proxy_tlsservercertsubject
: Sujet de certificat de serveur autorisé.*zabbix_proxy_tlscertfile
: Chemin d'accès complet d'un fichier contenant le certificat de l'agent ou la chaîne de certificats.*zabbix_proxy_tlskeyfile
: Chemin d'accès complet d'un fichier contenant la clé privée de l'agent.*zabbix_proxy_tlspskidentity
: Chaîne unique, sensible à la casse, utilisée pour identifier la clé pré-partagée.
Variables de l'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 l'encryption des hôtes sera définie pour correspondre à la configuration de l'agent.
Lorsque zabbix_api_create_proxy
est défini sur Vrai
, il installera sur l'hôte exécutant le Playbook Ansible le module python zabbix-api
.
zabbix_url
: L'URL sur laquelle la page Zabbix est disponible. Exemple : http://zabbix.example.comzabbix_api_http_user
: L'utilisateur http pour accéder à l'URL de Zabbix avec l'authentification de basezabbix_api_http_password
: Le mot de passe http pour accéder à l'URL de Zabbix avec l'authentification de basezabbix_api_create_proxy
: Lorsque vous souhaitez activer l'API Zabbix pour créer / supprimer le proxy. Cela doit être défini surVrai
si vous souhaitez utiliserzabbix_create_proxy
. Par défaut :Faux
zabbix_api_user
: Nom d'utilisateur ayant accès à l'API.zabbix_api_pass
: Mot de passe pour l'utilisateur ayant accès à l'API.zabbix_create_proxy
: présent (par défaut) si le proxy doit être créé ou absent si vous souhaitez le supprimer. Cela ne fonctionne que sizabbix_api_create_proxy
est défini surVrai
.zabbix_proxy_status
: actif (par défaut) si le proxy doit être actif ou passif.
Dépendances
Vous devrez trouver le rôle de base de données correct par vous-même. Je ne veux utiliser que des rôles qui prennent en charge les 3 principaux systèmes d'exploitation aussi et pour l'instant je ne peux pas en trouver un. Si un rôle prend en charge ces 3 systèmes d'exploitation, veuillez m'en informer et je l'utiliserai comme dépendance.
Exemple de Playbook
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 :
- hôtes : zabbix-proxy
sudo : oui
rôles :
- { rôle : dj-wasabi.zabbix-proxy, zabbix_server_host : 192.168.1.1, database_type : pgsql, database_type_long : postgresql }
Licence
GPLv3
Informations sur l'auteur
C'est ma première tentative de créer un rôle Ansible, donc veuillez envoyer des suggestions ou des demandes de tirage pour améliorer ce rôle.
Github : https://github.com/dj-wasabi/ansible-zabbix-proxy
mail : ikben [at] werner-dijkerman . nl
Installing and maintaining zabbix-proxy for RedHat/Debian/Ubuntu.
ansible-galaxy install dj-wasabi.zabbix-proxy