Role ansible pour déploiement cluster Zabbix
Go to file
stef 28799357f3 Almalinux validé 2026-02-18 21:25:00 +00:00
defaults Ajout Alma en cours 2026-02-17 23:01:51 +00:00
files Almalinux validé 2026-02-18 21:25:00 +00:00
handlers Almalinux validé 2026-02-18 21:25:00 +00:00
meta first commit 2026-02-16 18:16:07 +00:00
tasks Almalinux validé 2026-02-18 21:25:00 +00:00
templates Debut de separation par distribution + ajout keepalived 2026-02-16 22:20:56 +00:00
tests first commit 2026-02-16 18:16:07 +00:00
vars Almalinux validé 2026-02-18 21:25:00 +00:00
.gitignore Almalinux validé 2026-02-18 21:25:00 +00:00
README.md Almalinux validé 2026-02-18 21:25:00 +00:00

README.md

Zabbix

Deploiement d'une infrascutrure ZAbbix complete Deux serveur zabbix

  • HA
  • Keealived pour nginx
  • Certiticats TLS

Distribution prise en charges:

  • Debian13
  • Almalinux

Pour Ajouter une distribution RHEL like Ajouter un block dans tasks/main.yml

Similaire à ceci ( voir https://www.zabbix.com/download pour le path associé a votre distribution):

- name: Prepare <Votre distribution>
  when: ansible_distribution == "AlmaLinux"  <= Nom de votre distriution 
  block:
    - name: add gpg
      ansible.builtin.dnf:
        name: gnupg2
        state: present
    - name: Copie GPG key
      ansible.builtin.copy:
        src: RPM-GPG-KEY-ZABBIX-B5333005
        dest: /tmp/RPM-GPG-KEY-ZABBIX-B5333005
    - name: Import a key
      ansible.builtin.rpm_key:
        state: present
        key: /tmp/RPM-GPG-KEY-ZABBIX-B5333005
    - name: Add Package
      ansible.builtin.dnf:
        name: "https://repo.zabbix.com/zabbix/{{ zabbix_version }}/release/<Votre distribution>/{{ ansible_distribution_major_version }}/noarch/zabbix-release-latest-{{ zabbix_version }}.el{{ ansible_distribution_major_version }}.noarch.rpm"
        state: present

Requirements

Nécéssite les fichiers de certificats suivants:

  • zabbix_ca.cert
  • zabbix_server.cert
  • zabbix_server.key
  • zabbix_agent.cert
  • zabbix_agent.key
  • zabbix_proxy.cert
  • zabbix_proxy.key

Ces fichiers sont a déposer dans /files

Note: vous pouvez changer le nom des fichiers en ce cas modifier les variables suivante dans default/main.yml

zabbix_ca: zabbix_ca
zabbix_server: zabbix_server
zabbix_proxy: zabbix_proxy
zabbix_agent: zabbix_agent

Variables


Role Variables

Variable definies dans default/main.yml

defaults file for zabbix

Variable Role Remarques
zabbix_version Version de zabbix Ne fonctionnent actuellement pour les Debian
roles_cibles utlisés pour générer les Variable Server et ActiveServer Exemple:['srv', 'proxy']
db_name Nom de la base de postgres des serveurs
db_user Nom de l'utilisateur de la base postgres serveurs
db_passwd Mot de passe l'utilisateur de la base postgres serveurs
proxy_db_name Nom de la base des proxys
proxy_db_user Nom de l'utilisateur de la base des proxys
proxy_db_passwd Mot de passe de l'utilisateur de la base des proxys
zabbix_ca Nom du fichier de CA
zabbix_server Nom du fichier de certificat utilisés par les serveurs
zabbix_proxy Nom du fichier de certificat utilisés par les proxy
zabbix_agent Nom du fichier de certificat utilisés par les agents

Group Variables

Variable Role Remarques
db_host adatabase.bv.stef.lan
db_port 5432 Non utilisé pour le moment
postgresql_version Exemple 17, uniquement implementé dans débian
zabbix_crypt Type de chiffrement utilisé tls ou psk pour le moment seul tls est totalement implementé
zabbix_cert_ca_name zabbix_ca
zabbix_cert_server_name zabbix_server
zabbix_cert_agent_name zabbix_agent
TLSServerCertSubject DN des serveurs zabbix exemple: "CN=zabbix_server,C=FR"
TLSServerCertIssuer DN du CA zabbix exemple: "CN=zabbix_ca,C=FR"
ZabbixHA Activation du HA ou non true ou false
vip_address Vip keealived des nginx exemple 192.168.200.75
vip_fqdn FQDN de la Vip keealived des nginx exemple: zabbix.mondomain.com
ActiveVault Active ou non le vault true ou false
Vault Modele du vault HashiCorp actuellement uniquement implémenté
VaultToken Token d'acces au vault
VaultURL Url du vault exemple: https://vault.mondomain.com
VaultPrefix Path des secret zabbix exemple: /v1/secret/data/zabbix/
VaultDBPath nom du secret des credential d'acces DB exemple: /database

Hosts Variables

L'host master keepalived doit contenir:

keepalived:
  state: MASTER
  priority: 244

L'host backup keepalived doit contenir:

keepalived:
  state: BACKUP
  priority: 243

Dependencies

None

Exemple Inventory

zabbix_instance01:
  hosts:
    server01.mondomain.com:
      role: srv
    server02.mondomain.com:
      role: srv
    database.mondomain.com:
      role: db
    front.mondomain.com:
      role: front
    proxy01.mondomain.com:
      role: proxy
    proxy02.mondomain.com:
      role: proxy

Example Playbook

License

BSD

Author Information

An optional section for the role authors to include contact information, or a website (HTML is not allowed).