1 Red Hat Enterprise Linux

Overzicht

Officiële Zabbix 6.0 LTS-pakketten voor Red Hat Enterprise Linux en Oracle Linux zijn beschikbaar op de Zabbix-website.

De pakketten zijn beschikbaar met ondersteuning voor MySQL/PostgreSQL-database en Apache/Nginx-webserver.

Zabbix-agent pakketten en hulpprogramma's Zabbix get en Zabbix sender zijn beschikbaar in de Zabbix Official Repository voor RHEL 9, RHEL 8, RHEL 7, RHEL 6 en RHEL 5.

De Zabbix Official Repository biedt ook fping, iksemel en libssh2 pakketten aan. Deze pakketten zijn te vinden in de niet-ondersteunde directory.

De EPEL-repository voor EL9 biedt ook Zabbix-pakketten aan. Als zowel de officiële Zabbix-repository als de EPEL-repository zijn geïnstalleerd, moeten de Zabbix-pakketten in EPEL uitgesloten worden door de volgende clausule toe te voegen aan het EPEL-repo configuratiebestand onder /etc/yum.repos.d/:

[epel]
       ...
       excludepkgs=zabbix*

Opmerkingen over installatie

Zie de installatie-instructies per platform op de downloadpagina voor:

  • het installeren van de repository
  • het installeren van server/agent/frontend
  • het aanmaken van de initiële database, het importeren van initiële gegevens
  • het configureren van de database voor Zabbix server
  • het configureren van PHP voor Zabbix frontend
  • het starten van server/agent processen
  • het configureren van de Zabbix frontend

Als je de Zabbix-agent als root wilt uitvoeren, raadpleeg dan De agent uitvoeren als root.

De Zabbix-webdienst die wordt gebruikt voor geplande rapportgeneratie vereist de Google Chrome-browser. De browser is niet inbegrepen in de pakketten en moet handmatig worden geïnstalleerd.

Gegevens importeren met Timescale DB

Met TimescaleDB, naast het importeercommando voor PostgreSQL, voer je ook het volgende uit:

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

TimescaleDB wordt alleen ondersteund door de Zabbix-server.

PHP 7.2

De Zabbix-frontend vereist PHP-versie 7.2 of nieuwer.

SELinux-configuratie

Zabbix maakt gebruik van socket-gebaseerde interprocescommunicatie. Op systemen waar SELinux is ingeschakeld, kan het nodig zijn om SELinux-regels toe te voegen om Zabbix in staat te stellen UNIX-domain sockets te maken/gebruiken in de SocketDir-map. Momenteel worden socket-bestanden gebruikt door de server (alerter, voorverwerking, IPMI) en proxy (IPMI). Socket-bestanden zijn persistent, wat betekent dat ze aanwezig zijn terwijl het proces actief is.

Als SELinux actief is in de uitvoerende modus, moet je de volgende opdrachten uitvoeren om communicatie tussen de Zabbix-frontend en -server mogelijk te maken:

RHEL 7 en later:

setsebool -P httpd_can_connect_zabbix on

Als de database toegankelijk is via een netwerk (inclusief 'localhost' in het geval van PostgreSQL), moet je ook Zabbix frontend toestemming geven om verbinding te maken met de database:

setsebool -P httpd_can_network_connect_db on

RHEL vóór versie 7:

setsebool -P httpd_can_network_connect on
       setsebool -P zabbix_can_network on

Nadat de frontend en SELinux-configuratie zijn voltooid, herstart je de Apache-webserver:

service httpd restart

Daarnaast biedt Zabbix het pakket zabbix-selinux-policy aan als onderdeel van de bron-RPM-pakketten voor RHEL 8 en RHEL 7. Dit pakket bevat een basisbeleid voor SELinux en zorgt ervoor dat Zabbix-componenten direct werken door Zabbix in staat te stellen sockets te maken en te gebruiken, en httpd-verbinding met PostgreSQL (gebruikt door de frontend) mogelijk te maken.

Het bronbestand zabbix_policy.te bevat de volgende regels:

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;

Dit pakket is gemaakt om te voorkomen dat gebruikers SELinux uitschakelen vanwege de complexiteit van de configuratie. Het bevat het standaardbeleid dat voldoende is om de implementatie en configuratie van Zabbix te versnellen. Voor een maximaal beveiligingsniveau wordt aanbevolen om aangepaste SELinux-instellingen in te stellen.

Proxy installatie

Nadat het vereiste repository is toegevoegd, kun je de Zabbix proxy installeren door het volgende commando uit te voeren:

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

Vervang 'mysql' in de commando's door 'pgsql' om PostgreSQL te gebruiken, of door 'sqlite3' om alleen SQLite3 te gebruiken (alleen voor de proxy).

Het pakket 'zabbix-sql-scripts' bevat databaseschema's voor alle ondersteunde database management systemen voor zowel de Zabbix server als de Zabbix proxy en zal worden gebruikt voor het importeren van gegevens.

Database aanmaken

Maak een aparte database aan voor de Zabbix proxy.

De Zabbix server en Zabbix proxy kunnen niet dezelfde database gebruiken. Als ze op dezelfde host zijn geïnstalleerd, moet de proxy database een andere naam hebben.

Gegevens importeren

Importeer het initiële schema:

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

Voor proxy met PostgreSQL (of 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
Database configureren voor Zabbix proxy

Bewerk zabbix_proxy.conf:

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

Gebruik voor DBName bij Zabbix proxy een aparte database dan die van Zabbix server.

Gebruik in DBPassword het Zabbix-database wachtwoord voor MySQL; PostgreSQL-gebruikerswachtwoord voor PostgreSQL.

Gebruik DBHost= bij PostgreSQL. Je kunt de standaardinstelling DBHost=localhost (of een IP-adres) behouden, maar dit zou PostgreSQL dwingen om een netwerksocket te gebruiken voor verbinding met Zabbix. Zie SELinux-configuratie voor instructies.

Zabbix proxy proces starten

Om een Zabbix proxy proces te starten en ervoor te zorgen dat het bij het opstarten van het systeem wordt gestart:

service zabbix-proxy start
       systemctl enable zabbix-proxy
Frontend-configuratie

Een Zabbix-proxy heeft geen frontend; het communiceert alleen met de Zabbix-server.

Installatie van Java-gateway

Het is alleen nodig om Java-gateway te installeren als je JMX-toepassingen wilt monitoren. De Java-gateway is lichtgewicht en vereist geen database.

Nadat het vereiste repository is toegevoegd, kun je de Zabbix Java-gateway installeren door het volgende uit te voeren:

dnf install zabbix-java-gateway

Ga verder naar opzetten voor meer details over het configureren en uitvoeren van de Java-gateway.

Installatie van debuginfo-pakketten

Debuginfo-pakketten zijn momenteel beschikbaar voor RHE-versies 7, 6 en 5.

Om het debuginfo-respository in te schakelen, bewerk het bestand /etc/yum.repos.d/zabbix.repo. Verander enabled=0 naar enabled=1 voor het zabbix-debuginfo-respository.

[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

Dit stelt je in staat om het zabbix-debuginfo-pakket te installeren.

dnf install zabbix-debuginfo

Dit enkele pakket bevat debuginformatie voor alle binaire Zabbix-componenten.