
Imaxe.cloud n’a aucun partenariat ni accord avec Zabbix LLC. Lisez la section Relation avec Zabbix LLC.
Description #
Zabbix est une solution open source de supervision distribuée de niveau entreprise, qui permet de superviser tous les paramètres d’un réseau de serveurs, de machines virtuelles, d’applications et bien plus encore.
Notre AMI Zabbix offre la meilleure solution click & play pour commencer à utiliser Zabbix sur AWS, avec des options supplémentaires qui améliorent le produit d’origine, et le meilleur support.
Fonctionnalités #
Générales
Les principales caractéristiques de notre AMI Zabbix :
- Installée sur Ubuntu, toujours dans la dernière version stable possible.
- Dernière version stable du serveur Zabbix installée.
- Dernière version stable de l’interface web Zabbix installée et préconfigurée.
- Optimisée avec les versions les plus stables de nginx, PHP, MariaDB server et Zabbix.
- Toutes les langues de l’interface web installées et disponibles.
Spéciales
Nos AMIs ajoutent un support supplémentaire pour exploiter toute la puissance du cloud de la façon la plus rapide et la plus confortable :
- Configuration dédiée pour envoyer des notifications via AWS SNS.
- Configuration dédiée pour travailler avec les groupes d’Auto Scaling.
- Stacks CloudFormation pour créer toutes les ressources liées (SNS, SQS, IAM, etc.).
Versions disponibles #
Les versions de Zabbix que nous proposons, avec leurs principales caractéristiques :
Les versions précédentes de l’AMI Zabbix ont été bloquées par Zabbix LLC, qui ne semble vouloir aucune forme de concurrence. Le produit d’Imaxe.cloud offre des fonctionnalités uniques que Zabbix lui-même n’a pas ; nous considérons donc qu’il s’agit d’une erreur et nous travaillons à la résoudre.
| AMI | Zabbix | Support Zabbix | Support Imaxe | SNS | Auto Scaling | Ubuntu | PHP | MariaDB | Marketplace |
|---|---|---|---|---|---|---|---|---|---|
| Zabbix 7.0 v1.1 | 7.0 | ✓ | ✓ | ✓ | ✓ | 24.04 | 8.3 | 10.11 | Voir → |
| Zabbix 6.4 v2.0 | 6.4 | ✗ | ✓ | ✓ | ✓ | 22.04 | 8.1 | 10.11 | Indisponible |
| Zabbix 6.0 v1.1 | 6.0 | ✓ | ✓ | ✓ | ✓ | 20.04 | 7.4 | 10.11 | Indisponible |
| Zabbix 4.4 v1.2 | 4.4 | ✗ | ✓ | ✓ | ✗ | 18.04 | 7.2 | 10.5 | Indisponible |
| Zabbix 4.2 v8.0 | 4.2 | ✗ | ✓ | ✓ | ✗ | 18.04 | 7.0 | 10.5 | Indisponible |
Cycle de vie #
Zabbix applique une politique de mises à jour assez stricte : tous les quelques mois, la version stable du moment n’est plus supportée et il faut passer à la version majeure suivante — avec tout ce que cela implique — pour rester supporté.
Chez Imaxe, nous comprenons qu’il est parfois très difficile de tenir un cycle de vie aussi strict. Nous avons donc conçu une politique de cycle de vie pour nos AMIs qui, tout en restant autant que possible compatible avec celui de Zabbix, offre à nos utilisateurs le meilleur support existant.
Versions de Zabbix
Zabbix propose actuellement deux versions distinctes de son logiciel :
- Version Standard : inclut les derniers changements et fonctionnalités, mais sans support LTS.
- Version LTS : inclut les derniers changements et fonctionnalités au moment de sa sortie, et bénéficie du support LTS.
Support des versions Standard non LTS
Pour que les nouveaux clients puissent évaluer les avantages qu’ils retrouveront bientôt dans leurs versions LTS, nous maintenons toujours une AMI de la dernière version Standard opérationnelle, avec toutes les fonctionnalités supplémentaires actives.
Le numéro de version de l’AMI augmente au fil des nouvelles publications, et celui de Zabbix change lorsqu’il augmente lui aussi.
Support des versions LTS
Tant que c’est possible, nous maintenons les AMIs issues des versions LTS et les mettons à jour, tant au niveau du système d’exploitation que des fonctionnalités supplémentaires, tous les 3 mois.
Dès qu’il n’est plus viable, pour des raisons techniques ou de sécurité, de maintenir une AMI active, elle est désactivée et tous les utilisateurs reçoivent un avis d’AWS indiquant la version la mieux adaptée pour eux.
Nous accompagnons également la migration entre versions chaque fois que c’est possible.
Installation #
L’installation suit le processus normal de création d’une instance EC2. La taille recommandée est c5.large.
Le groupe de sécurité comprend normalement les règles suivantes :
| Type | Protocole | Plage de ports | Source |
|---|---|---|---|
| (*) SSH | TCP | 22 | 0.0.0.0/0 |
| (*) HTTP | HTTP | 80 | 0.0.0.0/0 |
| (*) Règle TCP personnalisée | TCP | 10050–10052 | 0.0.0.0/0 |
| HTTPS | HTTPS | 443 | 0.0.0.0/0 |
Les règles marquées (*) sont indispensables, que ce soit pour accéder à l’interface web ou pour le fonctionnement normal du serveur. Même si l’exemple utilise 0.0.0.0/0, nous recommandons de restreindre l’accès à vos propres réseaux ou à un hôte bastion.
Une fois l’instance en fonctionnement, on peut se connecter avec :
- SSH : avec le
.pemsélectionné au lancement de l’instance, et l’utilisateurubuntu. - HTTP : à l’adresse
http://zabbix.instance.ip/, avec l’utilisateurAdminet, comme mot de passe, l’ID de l’instance que l’on vient de créer.
Configuration #
Les étapes décrites ici ont été réalisées avec l’utilisateur Admin, qui est l’utilisateur par défaut.
La première fois que vous vous connectez à Zabbix, plusieurs tâches permettent de personnaliser votre expérience et de commencer à recevoir des notifications. Cliquez sur User settings dans le menu de gauche, puis sur Profile.
Ajouter un média à votre utilisateur
Avant de recevoir des notifications, vous devez ajouter une adresse e-mail (ou toute autre méthode de votre choix) à votre utilisateur. La page de profil comporte un onglet Media ; cliquez-y sur le lien Add, qui ouvre une fenêtre de configuration. N’oubliez pas ensuite de cliquer sur Update pour enregistrer les changements.
Changer le mot de passe de l'utilisateur Admin
Par défaut, l’AMI Zabbix utilise l’ID de l’instance comme mot de passe. C’est une manière sûre de protéger l’accès, mais vous préférerez sans doute un mot de passe plus facile à retenir ou conforme à votre politique de sécurité.
Depuis la page Profile, onglet User, vous pouvez changer le mot de passe de l’utilisateur Admin en cliquant sur Change password, en saisissant deux fois le nouveau mot de passe et en cliquant sur Update.
Changer votre langue
Depuis la page de profil, onglet User, vous pouvez choisir la langue de l’interface via le sélecteur Language. Le changement prend effet une fois la nouvelle langue choisie, enregistrée avec Update, et après une nouvelle connexion.
Prise en charge de l'Auto Scaling # expert
Comment l'Auto Scaling d'AWS fonctionne-t-il avec Zabbix ?
Pour gérer l’Auto Scaling depuis Zabbix, trois points sont à traiter :
- Ajouter une nouvelle instance dans Zabbix quand elle apparaît. Cela se fait avec l’enregistrement automatique des agents Zabbix actifs (6.4, 6.0, 4.0). Ainsi, dès qu’une nouvelle instance apparaît, Zabbix l’ajoute automatiquement comme nouvel hôte.
- Stocker l’ID de l’instance dans l’inventaire Zabbix. Quand l’instance disparaît (scale in), nous recevons un message avec son ID : il faut donc l’avoir dans l’inventaire de l’hôte pour le retrouver et le supprimer.
- Recevoir les messages de scaling d’AWS. Lorsqu’AWS produit un événement de scaling, il publie un message SNS sur un topic que vous avez défini. En connectant ce topic à une file SQS, nous pouvons lire les messages depuis Zabbix et supprimer les instances qui quittent les groupes de scaling.

Configurer le client
Deux étapes sont nécessaires pour préparer vos clients à l’Auto Scaling dans Zabbix : configurer l’agent Zabbix et ajouter un fichier avec un paramètre utilisateur pour l’élément instance_id.
Configuration de l'agent Zabbix
Outre les autres changements dont vous pourriez avoir besoin, six points doivent être modifiés dans le fichier de configuration local de l’agent Zabbix, normalement /etc/zabbix/zabbix_agentd.conf :
- Commenter l’option
Server. - Ajouter
ServerActive=YOUR__ZABBIX__IP__ADDRESSpour configurer le serveur actif. - Commenter l’option
Hostname. - Mettre l’option
StartAgentsà0. - Mettre l’option
HostnameItemàsystem.hostname. - Mettre l’option
HostMetadataItemàsystem.uname.
Cette configuration place le client Zabbix en mode actif (le client envoie l’information au serveur et ne reçoit pas de contrôles de sa part). Elle fait aussi utiliser le nom de la machine comme nom d’hôte, ce qui évite de le changer à chaque démarrage d’un nouveau serveur. Enfin, elle fait envoyer à Zabbix la sortie de uname comme métadonnées : les instances AWS utilisant un noyau particulier, la valeur aws y apparaît et sert à enregistrer le serveur.
Paramètre instance_id
Par défaut, quand un nouveau serveur issu d’un Auto Scaling apparaît dans Zabbix, il est lié à un modèle spécial appelé AWS EC2 Template, qui contient un élément instance_id associé au champ alias de l’inventaire. Pour l’alimenter, ajoutez un paramètre utilisateur à votre client Zabbix en créant le fichier :
UserParameter=aws.ec2.instance_id,curl -s http://169.254.169.254/latest/meta-data/instance-idConfigurer le serveur
Une fois les clients configurés, l’étape suivante consiste à configurer le serveur pour supprimer les instances retirées. La voie la plus rapide et la plus simple comporte deux étapes : envoyer les messages de scaling vers une file SQS et configurer le serveur pour la lire.
Envoyer les messages de scaling vers une file SQS
Nous voulons que les notifications envoyées par le service d’Auto Scaling soient stockées dans une file SQS, pour la durabilité et la montée en charge. Comme l’Auto Scaling AWS publie les notifications sur un topic SNS, il faut :
- Créer un topic SNS.
- Créer une file SQS.
- Configurer SNS pour livrer les messages à SQS.
- Créer un utilisateur IAM capable de lire les messages.
Cette configuration étant fastidieuse, vous pouvez utiliser notre stack CloudFormation pour créer tous les éléments dans la région de votre choix. Après le déploiement, l’onglet Outputs fournit quatre valeurs à noter :
SNSTopicARN: l’ARN du topic SNS créé.SQSQueueURL: l’URL de la file SQS.SQSReadIAMUserAccessKeyetSQSReadIAMUserSecretKey: la clé et le secret de l’utilisateur IAM.
Ces valeurs servent à la configuration. Modifiez le fichier /etc/zabbix/zabbix_ami.yml, dans le bloc semblable à :
sqs:
delay_seconds: 60
default_region: us-east-1
queues:
- url:
access_key_id:
secret_access_key:
region:Pour chaque file SQS recevant des notifications de scaling, ajoutez une entrée de tableau semblable à l’existante, avec les valeurs fournies par CloudFormation. Plus d’informations sur ce fichier dans la section fichiers importants.
Notifications SNS #
Cette installation de Zabbix est déjà prête à envoyer via AWS SNS. Cette configuration évite les problèmes d’envoi d’e-mails depuis AWS et fournit un système de notification avancé et sûr.
Configurer l'envoi d'alertes avec SNS
Vous pouvez configurer jusqu’à 6 topics SNS différents, pour distinguer selon l’importance de l’envoi :
| Sévérité Zabbix | Clé dans zabbix_ami.yml |
|---|---|
| Not classified | not_classified |
| Information | information |
| Warning | warning |
| Average | average |
| High | high |
| Disaster | disaster |
Pour que Zabbix envoie les notifications, il faut créer ces topics et un utilisateur IAM capable de s’y connecter et d’y publier des messages.
Créer les topics SNS et l'utilisateur IAM
C’est bien plus simple avec notre stack CloudFormation pour topics SNS et utilisateur IAM, déjà prête à tout créer. Après le déploiement, l’onglet Outputs fournit les valeurs à noter :
SNSNotClassified,SNSInformation,SNSWarning,SNSAverage,SNSHigh,SNSDisaster: le topic SNS de chaque sévérité.ZabbixSendingUserAccessKeyIdetZabbixSendingUserSecretAccessKey: la clé et le secret de l’utilisateur IAM.
Une ou plusieurs de ces valeurs peuvent manquer, selon les options choisies au déploiement de la stack.
Configurer /etc/zabbix/zabbix_ami.yml
Le fichier /etc/zabbix/zabbix_ami.yml contient une section dédiée aux options SNS :
sns:
aws:
access_key_id:
secret_access_key:
region:
topics:
not_classified: arn:aws:sns:eu-west-1:000000000000:sample-sns
information: arn:aws:sns:eu-west-1:000000000000:sample-sns
warning: arn:aws:sns:eu-west-1:000000000000:sample-sns
average: arn:aws:sns:eu-west-1:000000000000:sample-sns
high: arn:aws:sns:eu-west-1:000000000000:sample-sns
disaster: arn:aws:sns:eu-west-1:000000000000:sample-snsRenseignez les topics SNS voulus (vous pouvez réutiliser le même topic plusieurs fois si vous le souhaitez) ainsi que la clé, le secret et la région. C’est tout !
Configurer l'utilisateur Zabbix
Dernière étape : dire à Zabbix d’envoyer les notifications via SNS.
- Se connecter à l’interface Zabbix avec votre utilisateur.
- Aller dans User settings → Profile.
- Ouvrir l’onglet Media.
- Ajouter un nouveau média de type AWS SNS, le marquer Enabled et remplir les autres champs à votre convenance (le champ Send to n’est pas utilisé actuellement).
- Cliquer sur Add pour ajouter le média, puis sur Update pour enregistrer.
CloudFormation #
Créer toutes les ressources AWS nécessaires étant fastidieux, vous pouvez télécharger ici différentes stacks AWS CloudFormation pour vous simplifier le travail.
SNS Topic + SQS Queue + IAM User
Crée un topic SNS auquel rattacher vos groupes de scaling, une file SQS qui reçoit ses notifications et un utilisateur IAM capable de lire et supprimer les messages de la file.
SNS Topics + IAM User
Crée jusqu’à 5 topics SNS pour que Zabbix y publie ses notifications, et un utilisateur IAM capable de les publier.
Fichiers importants # expert
L’AMI Zabbix contient un certain nombre de fichiers particuliers à connaître.
/etc/zabbix/zabbix_ami.yml
C’est le plus important, car il pilote la configuration des fonctionnalités spéciales, comme les contrôles de scaling ou les notifications SNS. Un exemple (avec de fausses données) :
zabbix:
api:
user: autoscaler_api_user
password: i-073672daf01037aea94
sns:
aws:
access_key_id: AKK4L6A3OXZZ5HE2POQRU7V
secret_access_key: cICycAg26hSDpsJwbhZjbaaYlt4Tz3n1xqE7Oxp6X2Hf
region: us-east-1
topics:
not_classified: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
information: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
warning: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
average: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
high: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
disaster: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
sqs:
delay_seconds: 60
default_region: us-east-1
queues:
- url: https://sqs.us-east-1.amazonaws.com/000000000/zabbix-pro-sqs-queue
access_key_id: AKIA3OXZZ5HEWUR5A16CNWH
secret_access_key: 8ttYO3Ba9K6p0C+aj3fH5cDt2eRLHmlkHbMtlrpv18S7KRbC
region: us-east-1Ce fichier comporte actuellement trois sections distinctes :
zabbix: comme nous devons dialoguer avec le serveur Zabbix pour supprimer les hôtes obsolètes, il nous faut un accès API. Nous créons un utilisateur dédié, dont les identifiants figurent ici.sns: la configuration nécessaire à l’envoi d’alarmes via SNS. On y renseigne les identifiants de l’utilisateur IAM et les topics SNS utilisés.sqs: la configuration qui pilote les messages de scaling AWS. On y définit la fréquence d’interrogation de la file (delay_seconds) et les différentes files à consulter.
Il contient des identifiants IAM en clair. Restreignez ses permissions et faites tourner les clés régulièrement.
/var/log/zabbix-sqs-reader/zabbix-sqs-reader.log
Ce fichier consigne les différents événements d’Auto Scaling lus depuis SQS.
Avant toute configuration, vous verrez le message Ops! It looks like the file /etc/zabbix/zabbix_ami.yml hasn't been configured yet. We better sleep for 5 minutes. — c’est normal, et il disparaît une fois zabbix_ami.yml configuré.
Mises à jour de l'AMI # expert
Lisez toute la section avant d’agir, et faites une sauvegarde complète de vos données.
Zabbix publiant régulièrement de nouvelles versions avec de nouvelles fonctionnalités, la meilleure option est de mettre à jour votre AMI de temps en temps. Malheureusement, ces mêmes nouveautés impliquent des changements en base de données et internes qui peuvent poser problème lors de la mise à jour d’une installation existante.
Notre AMI Zabbix est le meilleur moyen d’éviter ces problèmes, car nous proposons un chemin entre versions majeures plus rapide, plus simple et plus sûr que l’habituel.
La mise à jour en bref
Le processus de mise à jour de notre AMI est plutôt simple :
- Faire un dump de votre base de données actuelle.
- Lancer une nouvelle AMI dans la dernière version stable.
- Téléverser le dump vers la nouvelle instance.
- Exécuter notre script de migration.
Ainsi, vous conservez en parallèle la version actuelle et la nouvelle, et vous pouvez tester autant que nécessaire avant de déplacer les EIP associées à cette instance, ou de migrer les clients progressivement.
Dans ce tutoriel, source désigne votre serveur Zabbix actuel et cible le nouveau serveur.
Processus de mise à jour
Étape 1 : sauvegarder le serveur source
La première étape consiste à créer une image du serveur source, pour éviter toute perte accidentelle de données. Vous pouvez suivre le manuel AWS pour créer une AMI.
Étape 2 : dump de la base et version de Zabbix
On se connecte en SSH à l’instance et on passe root :
sudo /bin/su -Puis on exporte la base de données dans un fichier :
mysqldump zabbix > zabbix_origin_database.sqlEnfin, on télécharge ce fichier sur sa machine pour le téléverser ensuite sur le nouveau serveur. Notez également la version de Zabbix en cours : elle est visible dans l’interface web, et ressemble à 4.0, 4.2, 4.4 ou 5.4.
Étape 3 : lancer une nouvelle instance Zabbix
L’étape suivante consiste à créer une nouvelle instance Zabbix, avec la dernière version stable de l’AMI disponible sur notre profil vendeur AWS Marketplace. Il faut au minimum la version 6.0 de notre AMI Zabbix.
Cette nouvelle instance sera le serveur cible où nous déplacerons les données, et elle embarque déjà la dernière version installée et à jour. Une fois démarrée, copiez-y le dump de la base du serveur source.
Étape 4 : mettre à jour la base de données
Pour importer votre base actuelle, la migrer vers la nouvelle version et ajouter les configurations nécessaires, utilisez le script /opt/tools/bin/zabbix-ami-upgrade.sh, à exécuter en tant qu’utilisateur ubuntu en lui indiquant la version d’origine de Zabbix et le fichier de dump. Par exemple, depuis Zabbix 4.0 :
/opt/tools/bin/zabbix-ami-upgrade.sh 4.0 zabbix_origin_database.sqlLe processus indique chaque étape effectuée et, une fois terminé, vous pouvez travailler avec votre nouveau serveur Zabbix.
Étape 5 : accéder à l'interface web
Une fois la migration terminée, vous pouvez ouvrir l’interface web et vérifier l’état général du serveur. Attention : il faut utiliser les mêmes utilisateurs et mots de passe que sur le serveur précédent.
Étape 6 : migrer les configurations spéciales et pointer les clients
Une fois la base opérationnelle, tenez compte des autres configurations éventuellement installées sur le serveur, par exemple :
- Scripts de supervision.
- Paquets système supplémentaires.
- Certificats SSL installés.
Il faudra également déplacer l’EIP associée à cette instance, afin que les clients n’aient rien à changer.
Si vous n’utilisez pas d’EIP, c’est le bon moment pour commencer : sinon il faudra changer l’IP du nouveau serveur sur tous les clients.
Support #
L’utilisation de cette AMI Zabbix inclut le support pour :
- L’installation de l’AMI.
- La configuration initiale.
- Les configurations supplémentaires liées à l’AMI (par exemple l’usage de Let’s Encrypt).
- La configuration de Zabbix liée à l’AMI.
- L’envoi de notifications Zabbix avec SNS.
- La prise en charge de l’Auto Scaling dans Zabbix.
- Nos stacks CloudFormation.
- Le support général de Zabbix.
- Les mises à jour, montées de version et migrations de l’AMI.
Journal des modifications #
Historique de l’AMI. Les dates correspondent à la publication de chaque version sur AWS Marketplace.
Zabbix 7.0 · version 1.1
Publication de la version 1.1 de notre AMI Zabbix 7.0, avec Zabbix installé et configuré, prise en charge de l’Auto Scaling et notifications SNS.
Zabbix 6.4 · version 1.0
Publication de la version 1.0 de notre AMI Zabbix 6.4, avec Zabbix installé et configuré, prise en charge de l’Auto Scaling et notifications SNS.
Zabbix 6.0 · version 1.0
Publication de la version 1.0 de notre AMI Zabbix 6.0 LTS, avec Zabbix installé et configuré, prise en charge de l’Auto Scaling et notifications SNS.
Zabbix 5.4 · version 1.0
Publication de la version 1.0 de notre AMI Zabbix 5.4, avec Zabbix installé et configuré, prise en charge de l’Auto Scaling et notifications SNS.
Relation avec Zabbix LLC #
Imaxe.cloud n’a et n’a jamais eu aucun accord avec Zabbix LLC, l’entreprise qui maintient Zabbix.
Les informations et le support proposés ici le sont de manière non officielle, autour du logiciel libre Zabbix et des options supplémentaires que nous construisons dessus.
Besoin d'aide avec cette AMI ?
C'est la même équipe qui construit l'image qui vous répond — de vrais ingénieurs, sans bots ni premier niveau.