Mettre en place un serveur Zabbix avec EasyPanel
Ce guide décrit les étapes pour déployer un serveur Zabbix complet à l'aide de Docker Compose et EasyPanel et utiliser swarm.
1.Prérequis
- Avant de commencer, vous devez récupérer le numéro GID (Group ID) du groupe
dockersur votre serveur hôte Linux. - Nom du projet : Ce guide utilisera le nom de projet
prdzabbix. - Trouver le GID : Exécutez la commande suivante sur votre serveur Linux pour trouver le GID :
grep docker /etc/group
Notez le numéro GID (par exemple, 988). Vous devrez le saisir dans le fichier docker-compose.yml plus tard.
2. Installation sur EasyPanel
-
Créez votre projet dans EasyPanel (par exemple,
prdzabbix). - À l'intérieur de votre projet, créez un nouveau service.
- Dans les options de service, choisissez Compose.
- Collez le contenu du fichier
docker-compose.yml(fourni à la section 3) dans l'éditeur de source.
3. Contenu du docker-compose.yml
services:
postgres:
image: postgres:16
volumes:
# Volume nommé
- vol-db:/var/lib/postgresql/data
environment:
POSTGRES_DB: zabbix
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: Y4pR9nTz2wVxF7sQmK8j
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "zabbix", "-U", "zabbix" ]
interval: 10s
timeout: 5s
retries: 3
start_period: 60s
restart: unless-stopped
deploy:
replicas: 1
zabbix-server:
image: zabbix/zabbix-server-pgsql:latest
environment:
DB_SERVER_HOST: postgres
DB_SERVER_PORT: 5432
POSTGRES_DB: zabbix
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: Y4pR9nTz2wVxF7sQmK8j
ZBX_NODEADDRESS: zabbix-server
ZBX_NODEADDRESSPORT: 10051
volumes:
# Volume nommé
- vol-server-data:/var/lib/zabbix
healthcheck:
test: grep -qr "zabbix_server" /proc/*/status || exit 1
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
restart: unless-stopped
stop_grace_period: 30s
depends_on:
- postgres
dashboard:
image: zabbix/zabbix-web-nginx-pgsql
volumes:
# Volume nommé
- vol-web-data:/etc/zabbix/web
environment:
DB_SERVER_HOST: postgres
DB_SERVER_PORT: 5432
POSTGRES_DB: zabbix
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: Y4pR9nTz2wVxF7sQmK8j
ZBX_SERVER_HOST: zabbix-server
ZBX_NODEADDRESS: zabbix-server
ZBX_NODEADDRESSPORT: 10051
PHP_TZ: "America/Montreal"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
restart: unless-stopped
depends_on:
- postgres
- zabbix-server
agent:
image: zabbix/zabbix-agent2:alpine-6.4-latest
privileged: true
cap_add:
- ALL
group_add:
- "988" # <--- METTEZ VOTRE NUMÉRO GID TROUVÉ À L'ÉTAPE 1
environment:
ZBX_HOSTNAME: GST-CAM-NOD-01
ZBX_SERVER_HOST: zabbix-server
ZBX_NODEADDRESS: zabbix-server
ZBX_NODEADDRESSPORT: 10051
ZBX_ENABLEMODULES: docker
ZBX_PLUGIN_DOCKER_SOCKET: /var/run/docker.sock
restart: unless-stopped
deploy:
mode: global
volumes:
# Volume nommé
- vol-agent-data:/var/lib/zabbix/agent
# volume
- /:/rootfs:ro
- /var/run:/var/run
depends_on:
- postgres
- zabbix-server
# Force tous les services à utiliser le réseau du projet
networks:
default:
name: easypanel-prdzabbix # <--- mettre le nom de votre projet easypanel-monprojet
external: true
# Déclare les volumes nommés. Docker s'occupe de les créer.
volumes:
vol-db:
vol-server-data:
vol-web-data:
vol-agent-data:
4. Déploiement et correction
-
Après avoir collé le code YAML, cliquez sur Sauvegarder puis sur Déployer.
- Une erreur va se produire lors du premier déploiement. C'est normal.
- Vous devez créer les 4 dossiers qui correspondent aux 4 services. Connectez-vous à votre serveur et exécutez les commandes suivantes (en ajustant le chemin si votre nom de projet est différent) :
cd /etc/easypanel/projects/prdzabbix
mkdir web server agent db
Retournez dans EasyPanel et refaites un déploiement. Les erreurs devraient maintenant avoir disparu.
5. Configuration du domaine
La dernière étape consiste à configurer le domaine pour qu'il pointe vers le tableau de bord Zabbix.
- Dans votre projet EasyPanel, allez à la section Domaines.
- Cliquez sur le domaine que vous souhaitez configurer (par exemple,
prdzabbix...easypanel...). - Modifiez les informations de destination :
- Port :
8080 Compose Service : dashboard
Enregistrez les modifications.
Votre serveur Zabbix est maintenant déployé et accessible.
Laissez vos commentaires.
Leave your comments.
No comments to display
No comments to display