4.5 KiB
4.5 KiB
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).