Zabbix/fr
zabbix logo | |
Maintainer | Daniel |
---|---|
Url | https://www.zabbix.com/fr/ |
Category | |
Tags | monotoring |
Mainteneur
Daniel B. de Firewall Services
Versions
Voici des informations sur la dernière version de chaque composant :
Nom de la version | Date de la version | Fin du support complet* | Fin du support limité** | SME9 | SME10 |
---|---|---|---|---|---|
Zabbix 6.2 | 5juill. 2022 | 31 janv. 2023 | 28 fév. 2023 | X | X |
Zabbix 6.0 LTS | 8 fév. 2022 | 28 fév. 2025 | 28 fév. 2027 | X | X |
Zabbix 5.0 LTS | 12 mai 2020 | 31 mai 2023 | 31 mai 2025 | X | oui |
4.4 (EOL) | oui | oui | |||
Zabbix 4.0 LTS | 1er octobre 2018 | 31 octobre 2021 | 31 octobre 2023 | oui | X |
Description
Zabbix offre fonctionnalités de surveillance avancées, d'alertes et de visualisation de performances qui font défaut aujourd'hui dans d'autres systèmes de surveillance, même avec quelques-uns des meilleurs logiciels commerciaux :
Fonctions
Voici quelques-unes des fonctionnalités offertes par Zabbix :
- Surveillance distribuée
- Configuration centralisée
- Accès centralisé à toutes les données
- Jusqu'à 1000 nœuds
- Nombre illimité de proxys
- Scalability
- Testé avec 1 000 éléments surveillés : réseau et serveurs
- Testé avec 100 000 vérifications de disponibilité et de performance
- Traitement de centaines de vérifications de disponibilité et performance par seconde
- Surveillance en temps réel
- Surveillance des performances
- Surveillance de la disponibilité
- Surveillance de l'intégrité
- Conditions de notification flexibles
- Alertes des utilisateurs (courriel, SMS, Jabber)
- Journalisation
- Visualisation
- Vues et diaporamas définis par l'utilisateur
- Cartographie
- Graphique (y compris les diagrammes circulaires)
- Zoom
- Résolution rapide des problèmes
- Envoi des alertes par courriel, SMS, alertes sonore etc...
- Exécution de commandes distantes
- Niveau de service (SLA)
- Services IT hiérarchiques
- Rapport du niveau de service en temps réel
- Rapport et orientation
- Intégration aisée d'outils tiers
- Analyse des statistiques quotidiennes/mensuelles/annuelles
- Rapport SLA
- Importation / exportations de données XML
- Partage aisé de modèles
- Découverte automatique
- Découverte par plage d'adresses IP, services et SNMP
- Surveillance automatique des éléments découverts
- Surveillance de services WEB
- Surveillance de la disponibilité et de la performance de services WEB
- Scénarios flexibles
- Support des méthodes GET et POST
- Flexibilité
- Supports de l'IPv4 et de l'IPv6
- Agents natifs facilement extensibles
- Toutes les méthodes de notifications
- Fonctionne sur n'importe quelle plate-forme
- Surveillance pro-active
- Exécution automatique de commandes distantes
- Commandes IPMI automatiques
- Surveillance globale
- Suivi d'un groupe d'hôtes comme un seul hôte
- Agent de surveillance
- La surveillance des services distants (FTP, SSH, HTTP, autres)
- Support de SNMP v1,2,3
- Support de IPMI
- Messages d'alertes SNMP
- Agents à haute performance
- Toutes les plates-formes sont supportées (UNIX, Windows, Novell)
- Utilisation de la mémoire
- Utilisation du réseau
- Entrée/Sortie (I/O) des disques
- Disponibilité de l'espace disque
- Fichiers de contrôle
- Surveillance des fichiers journaux
- Et plus encore ...
- Sécurité
- Permissions flexibles de l'utilisateur
- Authentification par adresse IP
- Protection contre les attaques par force brute
- Escalades et notifications
- Notifications répétées
- Escalades illimitées
- Messages de retour à la normal
- Soyez informé tant que les problèmes ne sont pas résolus
- Fonctions de gestion
- Ping, traceroute vers un hôte
- Toutes les autres fonctions
- Tableau de bord
- Tableau de bord personnalisé
- Ressources favorites
- Vue de haut niveau
- Surveillance par agent
- Agent natif pour toutes les plateformes
- Immunisé contre les problèmes de connexion
- Solution « Open Source »
- Pas de limitation au niveau de la licence
- Accès au code source
- Ouvert à l'audit de code
- Facilité d'administration
- Courbe d'apprentissage très rapide
- Toutes les données sont stockées dans une base de données (Oracle, MySQL, PostgreSQL, SQLite)
- Centralisation de la configuration et du stockage de l'information
- et plus encore ...
Documentation complète
Une documentation complète est disponible ici sous forme d'un fichier PDF. Vous trouverez également quelques informations utiles sur le forum en français.
Exigences
- SME Server 7.X (9.X ou plus pour zabbix-server).
- php>=5.4 pour zabbix serveur uniquement, par conséquent, vous devrez d'abord installer smeserver-php-scl sur SME9 et définir php54 ou supérieur comme version php par défaut.
Composants
Zabbix est composé de quatre éléments principaux :
- le serveur (la partie principale) ; le serveur va stocker et analyser les différentes données, envoyer des alertes, etc.
- l'interface Web (qui est automatiquement installée avec le serveur avec cette contribution) ;
- l'agent, qui rassemble des informations sur les différents hôtes à surveiller ;
- le proxy, qui est une partie optionnelle, peut être utilisé pour recueillir les données de performances et de disponibilité au niveau local, et pour les envoyer au serveur.
Serveur
Le serveur est le composant principal de la suite Zabbix. Il utilise une base de données (MySQL dans cette contribution) pour stocker les informations de configuration, de performance et d'intégrité. Le serveur peut vérifier les services réseau avec un simple contrôle (ICMP, TCP etc ..) pour une surveillance sans agent, il peut contrôler les périphériques réseau utilisant SNMP et constitue également le composant central auquel l'agent rapporte des informations (l'agent peut travailler en mode actif, en mode passif ou dans les deux modes). Le serveur analysera aussi l'ensemble des informations et enverra des alertes en fonction de facteurs déclencheurs très flexibles.
Installation
Pour installer Zabbix 4.4
yum install smeserver-extrarepositories-zabbix -y db yum_repositories setprop zabbix44 status enabled signal-event yum-modify yum install smeserver-zabbix-server --enablerepo=smecontribs
Les versions suivantes sont disponibles :
zabbix42 zabbix44 zabbix45 zabbix50 zabbix51 zabbix52 zabbix53
Zabbix n'est pas fourni comme serveur sur Rhel 7 pour la version 5.1 et supérieure. Cela est dû à la version de base de PHP, qui pourrait être contournée en utilisant php-fpm, mais qui nécessiterait également que nous la construisions.
Installation de Zabbix 50 serveur :
yum install smeserver-extrarepositories-zabbix -y db yum_repositories setprop zabbix50 status enabled db yum_repositories setprop zabbix50-frontend status enabled expand-template /etc/yum.smerepos.d/sme-base.repo yum install smeserver-zabbix-server-z50 --enablerepo=smecontribs
Activez d'abord les dépôts nécessaires : Firewall Services et REMI.
db yum_repositories set fws repository \ BaseURL http://repo.firewall-services.com/centos/\$releasever \ EnableGroups no GPGCheck yes \ Name "Firewall Services" \ GPGKey http://repo.firewall-services.com/RPM-GPG-KEY \ Visible no status disabled
db yum_repositories set fws-testing repository \ BaseURL http://repo.firewall-services.com/centos-testing/\$releasever \ EnableGroups no GPGCheck yes \ Name "Firewall Services Testing" \ GPGKey http://repo.firewall-services.com/RPM-GPG-KEY \ Visible no status disabled
issue the following command on the SME Server shell:
/sbin/e-smith/db yum_repositories set remi-safe repository \ Name 'Remi - safe' \ BaseURL 'http://rpms.famillecollet.com/enterprise/$releasever/safe/$basearch/' \ EnableGroups no \ GPGCheck yes \ GPGKey http://rpms.famillecollet.com/RPM-GPG-KEY-remi \ Visible yes \ status enabled
signal-event yum-modify
Pour installer Zabbix serveur, il suffit d'utiliser « yum » :
yum --enablerepo=smecontribs,fws,remi-safe install smeserver-zabbix-server --exclude=smeserver-zabbix-proxy
NB : le « --exclude=smeserver-zabbix-proxy » est du à un conflit à la fin de 2019 sur SME9 quand FWS a commencé à utiliser Zabbix à partir du dépôt Zabbix au lieu de le construire.
Accédez ensuite à votre gestionnaire du serveur pour définir php5.4 ou supérieur comme php par défaut pour votre serveur SME, sinon vous ne pourrez pas accéder à l'interface graphique Web de Zabbix, ou exécutez simplement ce qui suit :
config setprop php54 PhpModule enabled #remplacer ici par php55 ou php56 si vous avez d'autres besoins signal-event php-update
Puis vous devrez soit modifier la configuration par défaut comme expliqué à l'étape précédente, soit simplement lancer :
signal-event zabbix-server-update
Puis accédez à votre interface web : https://MonNomDeDomaine/zabbix.
Paramètres de la base de données de configuration
Voici la liste des paramètres BD du service Zabbix-serveur sur SME :
- AdminPassword: un mot de passe aléatoire est généré durant l'installation pour l'utilisateur « Admin ». Remplace le mot de passe faible 'zabbix' par défaut lors de l'installation ;
- DbName: le nom de la base de données où tout est stocké. La valeur par défaut est 'zabbixdb' ;
- DbPassword: le mot de passe de la base de données ; un mot de passe aléatoire est généré lors de l'installation ;
- DbUser: le nom d'utilisateur pour accéder à la base de données ; la valeur par défaut est 'zabbixuser' ;
- JabberAccount: compte utilisé pour envoyer la notification Jabber ;
- JabberServer: serveur Jabber à utiliser pour envoyer des notifications ;
- JabberPassword: mot de passe du compte ("JabberAccount") ;
- JabberTLS (enabled|disabled) : est-ce que votre serveur Jabber nécessite des sécurités TLS ?
- NodeID: l'ID du nœud de votre serveur ; si vous n'utilisez pas de surveillance distribuée (un seul serveur central Zabbix), il faut le laisser à 0 ;
- TCPPort: port utilisé pour la communication agent <-> serveur (et proxy <-> serveur) ; la valeur par défaut est 10051 ;
- TimeZone: il est très important que le serveur Zabbix connaisse votre fuseau horaire (paramètre PHP TimeZone) ; malheureusement, SME ne le configure pas par défaut ; vous pouvez préciser votre fuseau horaire ; ce paramètre affectera uniquement Zabbix ;
- WebAccess (local|public|disabled) : contrôle d'où vous pouvez accéder à l'interface web ; vous pouvez le régler sur disabled si vous souhaitez désactiver l'interface Web (par exemple, si votre serveur est un nœud d'un environnement distribué) ;
- access: (public|local) d'où le port Zabbix sera accessible (TCPPort) ; vous pouvez restreindre l'accès à une liste d'hôtes avec la clé AllowHosts si vous réglez ce paramètre à 'public' ;
- status: le service doit-il pouvoir être lancé automatiquement ?
Une fois que vous avez tout configuré comme vous voulez, il suffit de faire :
signal-event zabbix-server-update
pour appliquer les modifications et redémarrer les services nécessaires.
Interface Web
L'interface Web est disponible (si elle n'est pas désactivée avec la clé WebAccess) sur https://server.domain.tld/zabbix.
L'utilisateur par défaut est Admin (avec un A majuscule), avec un mot de passe fort trouvé dans la propriété de configuration AdminPasswd à partir de la version smeserver-zabbix-server 0.1-29. Si vous le modifiez, il ne sera pas écrasé lors de la mise à jour. (Avant cette version, la valeur par défaut était zabbix, dans ce cas, vous devez changer ce mot de passe aussi rapidement que posssible.)
config getprop zabbix-server AdminPassword
Voici quelques captures d'écran de ce que vous pouvez obtenir avec Zabbix :
Pour plus de captures d'écran, vous pouvez jeter un œil sur le site Web du projet ici.
Agent
Voir la page en anglais zabbix-agent.
Proxy
Voir la page en anglais zabbix-proxy.
Surveillance de serveurs SME
Si vous voulez surveiller des serveurs SME avec Zabbix, vous devez d'abord installer l'agent, comme expliqué précédemment, puis configurer l'agent pour qu'il accepte les connexions depuis votre serveur. Par exemple, pour surveiller votre serveur local (celui qui exécute le serveur Zabbix) :
db configuration setprop zabbix-agent Servers localhost active disabled passive enabled signal-event zabbix-agent-update
Ensuite, il suffit d'ajouter un hôte dans Zabbix, pointant sur localhost.
Maintenant, vous pouvez commencer à ajouter des items (type agent, actif ou passif, selon le mode que vous utilisez sur l'agent) à ce nouvel hôte.
Si vous voulez surveiller des serveurs SME sur Internet et utiliser le mode passif, le serveur va initier des connexions vers l'agent. Vous avez besoin de rediriger le port, si vous utilisez le mode serveur seul (serveronly) (la valeur par défaut est le port TCP 10050), ou d'ouvrir ce port dans le pare-feu si vous utilisez le mode serveur et passerelle (server&gateway) :
db configuration setprop zabbix-agent Servers w.x.y.z active disabled passive enabled access public AllowHosts w.x.y.z signal-event zabbix-agent-update
Vous pouvez télécharger ici (lien cassé) une archive avec plusieurs modèles (template) d'exports XML que j'utilise pour surveiller mes serveurs. Extrayez l'archive et importez les modèles (template) que vous souhaitez dans Zabbix (en utilisant l'Import / Export Zabbix dans le menu de configuration).
Chaque fichier XML représente un modèle (template) dans Zabbix.
- Template_SME est le modèle principal. Il va ajouter beaucoup d'items de surveillance globale, de déclencheurs si la charge est trop élevée, s'il n'y a plus de mémoire libre, si httpd ne fonctionne plus, si les mots de passe changent, etc. et aussi des graphiques, comme l'utilisation de l'UC, mémoire, espace disque, utilisation du réseau etc.. Ce modèle exige les modèles Template_icmp et Template_app_MySQL.
- Template_SME_coovaChilli ajoutera les statistiques pour tun0 (utile si vous utilisez la contrib CoovaChilli). Il va également créer un graphique à partir des statistiques de tun0.
- Template_SME_softRaid va ajouter des items et des déclencheurs pour la surveillance du raid logiciel. Si vous liez un serveur SME avec ce modèle, vous serez prévenu si l'un des volumes est dégradé ou en court de reconstruction.
- Template_SME_megaRaid fera de même pour les cartes MegaRAID. Elle nécessite également l'utilitaire MegaCli du site web LSI. NB : LSI a éré racheté par BROADCOM.
- Template_SME_nutUPS: ajoutera des items et des déclencheurs pour être prévenus si votre onduleur fonctionne sur la batterie, ou est en surcharge.
- Template_icmp: crée deux items pour vérifier si le serveur est en vie, et mesure le temps de latence. Il ajoute également un graphique de latence et certains déclencheurs (si la latence est trop élevée, si l'hôte est injoignable depuis plus de 5 minutes ou plus de 1 heure).
Ressources pour la surveillance
Mise à jour de la version 4.4 à 5.0
Voir cette [page en anglais]. La plupart du temps, vous devrez :
- migrer votre base de données de mariadb 5.5 vers mariadb 10.5 avec son utilisateur, si ce n'est pas déjà fait ;
- passer le format de ligne en dynamique
echo "USE $(config getprop zabbix-server DbName); alter table hosts row_format = dynamic; "|mysql105
- réparer ENGINE en cas d'oubli auparavant (vous feriez mieux de le faire avant de l'importer), la conversion de la table d'historique pourrait prendre des jours (oui, des jours, pas des heures) ;
echo "SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=InnoDB;') FROM INFORMATION_SCHEMA.TABLES WHERE ENGINE='MyISAM' AND table_schema = 'zabbixdb';" |mysql105 -s|mysql105 zabbixdb
- corriger le classement, pour le problème "[Z3005] query failed: [1071] Specified key was too long; max key length is 3072 bytes [create index items_1 on items (hostid,key_(1021))]" voir ici.
echo "SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;') FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'zabbixdb';" |mysql105 -s |mysql10
- réparer la table avec database/mysql/double.sql
cat /usr/share/doc/zabbix-server-mysql-5.0.30/double.sql |mysql105 `config getprop zabbix-server DbName`
- corriger la clé étrangère pour le problème "[Z3005] query failed: [1091] Can't DROP FOREIGN KEY `c_items_1`; check that it exists [alter table items drop foreign key c_items_1]" voir ici.
echo "ALTER TABLE items ADD CONSTRAINT c_items_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE; CREATE INDEX items_1 ON items (hostid);" |mysql105 zabbixdb
- installer 5.0 en tilisant les paquets :
db yum_repositories setprop zabbix44 status disabled db yum_repositories setprop zabbix50 status enabled db yum_repositories setprop zabbix50-frontend status enabled expand-template /etc/yum.smerepos.d/sme-base.repo rpm -e --nodeps zabbix-web-mysql zabbix-web smeserver-zabbix-server yum install smeserver-zabbix-server-z50 --enablerepo=smecontribs,smetest,smedev
- réparer le classement après l'installation
echo "alter database $(config getprop zabbix-server DbName) character set utf8mb4 collate utf8mb4_bin;" |mysql105
wget https://www.zabbix.com/documentation/current/assets/en/manual/appendix/install/utf8mb4_convert.sql
cat utf8mb4_convert.sql |mysql105 `config getprop zabbix-server DbName`
echo "SET @ZABBIX_DATABASE = '$(config getprop zabbix-server DbName)'; \
set innodb_strict_mode = OFF; \
CALL zbx_convert_utf8(); \
set innodb_strict_mode = ON; \
drop procedure zbx_convert_utf8;"|mysql105 `config getprop zabbix-server DbName`
Migrer la base de données de mariadb 5.5 à mariadb 10.5
Le script vérifiera si zabbixdb est présent dans le répertoire de mariadb 5.5 ; tant qu'il l'est, il continuera à utiliser cette base de données, même si elle est présente dans mariadb 10.5.
# test nécessaire, écrire faite à partir de la page de la contribution de Nextcloud.
mysqldump `config getprop zabbix-server DbName` > zabbixdb.sql
echo "CREATE DATABASE IF NOT EXISTS `config getprop zabbix-server DbName` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"| mysql105
cat zabbixdb.sql |sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g'|mysql105 `config getprop zabbix-server DbName`
echo "CREATE USER IF NOT EXISTS `config getprop zabbix-server DbUser`@localhost IDENTIFIED BY '`config getprop zabbix-server DbPassword`';"| mysql105
echo "GRANT ALL PRIVILEGES ON `config getprop zabbix-server DbName`.* TO `config getprop zabbix-server DbUser`@localhost; FLUSH PRIVILEGES;" | mysql105
echo "drop database `config getprop zabbix-server DbName`;" |mysql
signal-event smeserver-zabbix-server-update
Bogues
Veuillez ouvrir les bogues dans la section SME-Contribs de bugzilla et sélectionner le composant smeserver-zabbix-server ou utiliser ce lien.
Un aperçu des problèmes actuels de cette contribution figure ci-dessous :
ID | Product | Version | Status | Summary (5 tasks) ⇒ |
---|---|---|---|---|
12282 | SME Contribs | 10.0 | CONFIRMED | Incorrect default charset for Zabbix database: "utf8mb4" instead "UTF8, UTF8MB3". |
12281 | SME Contribs | 10.0 | CONFIRMED | misisng font firectory in php base dir |
12279 | SME Contribs | 10.0 | CONFIRMED | missing deps |
11747 | SME Contribs | 10.0 | CONFIRMED | add SME specific templates |
11743 | SME Contribs | 10.0 | CONFIRMED | switch or at least configure ldap auth |
Journal des modifications
Seules les versions publiées dans le dépôt smecontrib sont listées ici.
2022/12/10 Jean-Philippe Pialasse 0.1-31.sme
- original package build for Zabbix 5.0 using Remi SCLO [SME: 11748]
support for LTS 5.0 EOL May 31, 2025manual migration from mariadb55 to mariadb105 needed for existing installs
needs mariadb105.
2022/08/01 Jean-Philippe Pialasse 0.1-30.sme
- update to httpd 2.4 access syntax [SME: 12068]
thanks to Vasarhelyi Zsolt
- add to core backup [SME: 12031]
non rpm owned files in /etc/zabbix, /etc/zabbix/zabbix_agentd.conf.d/and /var/lib/zabbix/bin/
- set random password to Admin i fuser exists and password is zabbix [SME: 11749]
2021/11/08 Jean-Philippe Pialasse 0.1-28.sme
- add check cert scripts and telegram [SME: 10802]
- fix init sql, typo and reload deamon [SME: 11232]