install-mysql-bd
Install zabbix serveur machine virtuelle avec une base de donnée mysql.
Pour installer Zabbix sous une machine virtuelle Debian 12 avec une base de données MySQL hébergée sur un serveur de base de données externe, vous pouvez suivre les étapes ci-dessous. Nous allons utiliser un script Python pour automatiser la création de la machine virtuelle avec Vagrant, puis installer et configurer Zabbix.
Étape 1: Prérequis
- Vagrant et VMware doivent être installés sur votre machine.
- Un serveur MySQL externe doit être configuré et accessible depuis la machine virtuelle.
Étape 2: Créer un script Python
Voici un script Python qui :
-
Crée un fichier Vagrantfile pour une machine virtuelle Debian 12.
-
Provisionne la machine virtuelle pour installer Zabbix Server, Zabbix Frontend, et les dépendances nécessaires.
-
Configure Zabbix pour utiliser une base de données MySQL externe.
import os
import subprocess
def create_vagrantfile():
"""
Crée un fichier Vagrantfile pour une machine virtuelle Debian 12.
"""
vagrantfile_content = """
Vagrant.configure("2") do |config|
config.vm.box = "debian/bookworm64" # Utilisez la box Debian 12 (Bookworm)
config.vm.network "forwarded_port", guest: 80, host: 8080 # Redirection de port pour Zabbix Frontend
config.vm.network "forwarded_port", guest: 10051, host: 10051 # Redirection de port pour Zabbix Server
config.vm.provision "shell", inline: <<-SHELL
# Mettre à jour le système
apt-get update
apt-get upgrade -y
# Installer les dépendances pour Zabbix
apt-get install -y wget curl gnupg2
# Ajouter le dépôt Zabbix
wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb
dpkg -i zabbix-release_6.4-1+debian12_all.deb
apt-get update
# Installer Zabbix Server, Frontend et Agent
apt-get install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
# Configurer Zabbix pour utiliser une base de données MySQL externe
echo "Configuring Zabbix to use external MySQL database..."
DB_HOST="192.168.1.100" # Remplacez par l'adresse IP de votre serveur MySQL
DB_NAME="zabbix"
DB_USER="zabbix"
DB_PASSWORD="zabbix_password" # Remplacez par le mot de passe de l'utilisateur Zabbix
# Configurer le fichier de configuration de Zabbix Server
sed -i "s/^DBHost=.*/DBHost=${DB_HOST}/" /etc/zabbix/zabbix_server.conf
sed -i "s/^DBName=.*/DBName=${DB_NAME}/" /etc/zabbix/zabbix_server.conf
sed -i "s/^DBUser=.*/DBUser=${DB_USER}/" /etc/zabbix/zabbix_server.conf
sed -i "s/^DBPassword=.*/DBPassword=${DB_PASSWORD}/" /etc/zabbix/zabbix_server.conf
# Démarrer et activer les services Zabbix
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
echo "Zabbix installation and configuration completed!"
SHELL
end
"""
with open("Vagrantfile", "w") as file:
file.write(vagrantfile_content)
def start_vagrant():
"""
Démarre la machine virtuelle avec Vagrant.
"""
print("Démarrage de la machine virtuelle avec Vagrant...")
subprocess.run(["vagrant", "up"])
def main():
"""
Fonction principale pour créer et démarrer la machine virtuelle.
"""
print("Création du fichier Vagrantfile...")
create_vagrantfile()
print("Démarrage de la machine virtuelle...")
start_vagrant()
print("Machine virtuelle Debian 12 avec Zabbix prête !")
if __name__ == "__main__":
main()
Étape 3: Configurer la base de données MySQL externe
Sur le serveur MySQL :
- Créez une base de données pour Zabbix :
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
- Créez un utilisateur pour Zabbix :
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix_password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
FLUSH PRIVILEGES;
- Importez le schéma de la base de données Zabbix :
- Téléchargez le schéma depuis la machine virtuelle :
wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.0.tar.gz
tar -xvzf zabbix-6.4.0.tar.gz
- Importez le schéma :
mysql -h <DB_HOST> -u zabbix -p zabbix < zabbix-6.4.0/database/mysql/schema.sql
mysql -h <DB_HOST> -u zabbix -p zabbix < zabbix-6.4.0/database/mysql/images.sql
mysql -h <DB_HOST> -u zabbix -p zabbix < zabbix-6.4.0/database/mysql/data.sql
Étape 4: Exécuter le script
-
Sauvegardez le script Python dans un fichier, par exemple zabbix_vagrant.py.
-
Exécutez le script avec Python :
python3 zabbix_vagrant.py
Étape 5: Acc éder à Zabbix
- Une fois la machine virtuelle démarrée, accédez à l'interface web de Zabbix :
- Ouvrez un navigateur et allez à l'adresse
http://localhost:8080
.
- Suivez les étapes de l'installateur web de Zabbix :
- Sélectionnez la langue.
- Vérifiez les prérequis.
- Configurez la connexion à la base de données MySQL externe.
- Configurez les détails du serveur Zabbix.
Étape 6: (Optionnel) Arrêter ou détruire la machine virtuelle
- Arrêter la machine virtuelle :
vagrant halt
- Détruire la machine virtuelle :
vagrant destroy
Conclusion
Ce script Python automatise l'installation de Zabbix sur une machine virtuelle Debian 12 avec une base de données MySQL externe. Vous pouvez personnaliser le script pour ajouter des configurations supplémentaires ou installer d'autres composants.