Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

1 Red Hat Enterprise Linux/CentOS

Aperçu

Les packages officiels Zabbix sont disponibles pour :

RHEL 8, CentOS 8 et Oracle Linux 8 Télécharger

Les packages sont disponibles avec la prise en charge de la base de données MySQL/PostgreSQL et du serveur Web Apache/Nginx.

Les packages et utilitaires Agent Zabbix Zabbix get et Zabbix sender sont disponibles pour RHEL 7, [RHEL 6] (https://repo.zabbix.com/zabbix/6.0/rhel/6/x86_64/) et RHEL 5 aussi .

Le dépôt officiel Zabbix fournit également les packages fping et libssh2. Ces packages se trouvent dans le répertoire non-supported.

Notes on installation

Voir les instructions d'installation par plate-forme dans la page de téléchargement pour :

  • installation du dépôt
  • installation du serveur/de l'agent/de l'interface
  • création de la base de données initiale, importation des données initiales
  • configuration de la base de données pour le serveur Zabbix
  • configuration de PHP pour l'interface Zabbix
  • démarrage des processus serveur/agent
  • configuration de l'interface Zabbix

Si vous souhaitez exécuter l'agent Zabbix en tant que root, consultez la page exécuter l'agent en tant que root.

Le processus de service Web Zabbix, qui est utilisé pour la génération de rapports planifiés, nécessite le navigateur Google Chrome. Le navigateur n'est pas inclus dans les packages et doit être installé manuellement.

Importation de données avec Timescale DB

Avec TimescaleDB, en plus de la commande d'importation pour PostgreSQL, exécuter également :

# cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

TimescaleDB est pris en charge uniquement avec le serveur Zabbix.

PHP 7.2

L'interface Zabbix nécessite la version PHP 7.2 ou plus récente.

Configuration SELinux

Zabbix utilise une communication inter-processus basée sur des sockets. Sur les systèmes où SELinux est activé, il peut être nécessaire d'ajouter des règles SELinux pour permettre à Zabbix de créer/utiliser des sockets de domaine UNIX dans le répertoire SocketDir. Actuellement, les fichiers de socket sont utilisés par le serveur (alerteur, prétraitement, IPMI) et le proxy (IPMI). Les fichiers de socket sont persistants, ce qui signifie qu'ils sont présents pendant l'exécution du processus.

Lorsque le statut SELinux est activé en mode d'application, vous devez exécuter les commandes suivantes pour activer la communication entre l'interface Zabbix et le serveur :

RHEL 7 et versions ultérieures :

# setsebool -P httpd_can_connect_zabbix on

Si la base de données est accessible sur le réseau (y compris 'localhost' dans le cas de PostgreSQL), vous devez également autoriser l'interface Zabbix à se connecter à la base de données : # setsebool -P httpd_can_network_connect_db on

RHEL avant 7 :

# setsebool -P httpd_can_network_connect on
       # setsebool -P zabbix_can_network on

Une fois la configuration du frontend et de SELinux terminée, redémarrez le serveur Web Apache :

# service httpd restart

De plus, Zabbix fournit le package zabbix-selinux-policy dans le cadre des packages RPM source pour RHEL 8 et [RHEL 7] (http://repo.zabbix.com/zabbix/6.0/rhel/8/SRPMS/). Ce package fournit une politique par défaut de base pour SELinux et permet aux composants zabbix de fonctionner immédiatement en permettant à Zabbix de créer et d'utiliser des sockets et en activant la connexion httpd à PostgreSQL (utilisé par le frontend).

Le fichier source zabbix_policy.te contient les règles suivantes :

module zabbix_policy 1.2;
       
       require {
         type zabbix_t;
         type zabbix_port_t;
         type zabbix_var_run_t;
         type postgresql_port_t;
         type httpd_t;
         class tcp_socket name_connect;
         class sock_file { create unlink };
         class unix_stream_socket connectto;
       }
       
       #============= zabbix_t ==============
       allow zabbix_t self:unix_stream_socket connectto;
       allow zabbix_t zabbix_port_t:tcp_socket name_connect;
       allow zabbix_t zabbix_var_run_t:sock_file create;
       allow zabbix_t zabbix_var_run_t:sock_file unlink;
       allow httpd_t zabbix_port_t:tcp_socket name_connect;
       
       #============= httpd_t ==============
       allow httpd_t postgresql_port_t:tcp_socket name_connect;

Ce package a été créé pour empêcher les utilisateurs de désactiver SELinux en raison de la complexité de la configuration. Il contient la politique par défaut suffisante pour accélérer le déploiement et la configuration de Zabbix. Pour un niveau de sécurité maximal, il est recommandé de définir des paramètres SELinux personnalisés.

Installation du proxy

Une fois le référentiel requis ajouté, vous pouvez installer le proxy Zabbix en exécutant :

# dnf install zabbix-proxy-mysql zabbix-sql-scripts

Remplacez 'mysql' dans la commande par 'pgsql' pour utiliser PostgreSQL, ou par 'sqlite3' pour utiliser SQLite3.

Le package 'zabbix-sql-scripts' contient des schémas de base de données pour tous les systèmes de gestion de base de données pris en charge par le serveur Zabbix et le proxy Zabbix et sera utilisé pour l'importation de données.

Création des base de données

Créez une base de données distincte pour le proxy Zabbix.

Le serveur Zabbix et le proxy Zabbix ne peuvent pas utiliser la même base de données. S'ils sont installés sur le même hôte, la base de données proxy doit avoir un nom différent.

Importation de données

Importer le schéma initial :

# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix

Pour un proxy avec PostgreSQL (ou SQLite) :

# cat /usr/share/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix
       # cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 zabbix.db
Configurer la base de données pour le proxy Zabbix

Modifiez zabbix_proxy.conf :

# vi /etc/zabbix/zabbix_proxy.conf
       DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<password>

Dans DBName pour le proxy Zabbix, utilisez une base de données distincte du serveur Zabbix.

Dans DBPassword, utilisez le mot de passe de la base de données Zabbix pour MySQL ; Mot de passe utilisateur PosgreSQL pour PosgreSQL.

Utilisez DBHost= avec PostgreSQL. Vous voudrez peut-être conserver le paramètre par défaut DBHost=localhost (ou une adresse IP), mais cela obligerait PostgreSQL à utiliser un socket réseau pour se connecter à Zabbix. Reportez-vous à la section correspondante pour obtenir des instructions pour RHEL/CentOS.

Démarrage du processus de proxy Zabbix

Pour démarrer un processus proxy Zabbix et le faire démarrer au démarrage du système :

# systemctl enable zabbix-proxy
       # systemctl start zabbix-proxy
Configuration de l'interface

Un proxy Zabbix n'a pas d'interface ; il communique uniquement avec le serveur Zabbix.

###Installation de la passerelle Java

Il est nécessaire d'installer la passerelle Java uniquement si vous souhaitez surveiller les applications JMX. La passerelle Java est légère et ne nécessite pas de base de données.

Une fois le dépôt requis ajouté, vous pouvez installer la passerelle Java Zabbix en exécutant :

# dnf install zabbix-java-gateway¶

Passez à la configuration pour plus de détails sur la configuration et l'exécution de la passerelle Java.

Installation des packages debuginfo

Les packages Debuginfo sont actuellement disponibles pour les versions 7, 6 et 5 de RHEL/CentOS.

Pour activer le dépôt debuginfo, modifiez le fichier /etc/yum.repos.d/zabbix.repo. Remplacez enabled=0 par enabled=1 pour le référentiel zabbix-debuginfo.

[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/5.5/rhel/7/$basearch/debuginfo/
       enabled=0
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1

Cela vous permettra d'installer le package zabbix-debuginfo.

# yum install zabbix-debuginfo

Ce package unique contient des informations de débogage pour tous les composants binaires Zabbix.