Zabbix Documentation 5.0

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


manual:installation:install_from_packages:rhel_centos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:installation:install_from_packages:rhel_centos [2019/09/09 06:53]
martins-v some reordering
manual:installation:install_from_packages:rhel_centos [2020/03/11 06:59] (current)
martins-v fixing link target
Line 5: Line 5:
 Official Zabbix packages are available for: Official Zabbix packages are available for:
  
-  * RHEL 8, CentOS 8 and Oracle Linux 8 +|RHEL 8, CentOS 8 and Oracle Linux 8  ​|[[https://​www.zabbix.com/​download?​zabbix=5.0&​os_distribution=red_hat_enterprise_linux&​os_version=8&​db=mysql|Download]] ​ | 
-  RHEL 7, CentOS 7 and Oracle Linux 7+|RHEL 7, CentOS 7 and Oracle Linux 7  ​|[[https://​www.zabbix.com/​download?​zabbix=5.0&​os_distribution=red_hat_enterprise_linux&​os_version=7&​db=mysql|Download]] ​ |
  
-In this documentation we will refer to all 3 using the term ''​RHEL''​.+Packages are available with either MySQL/​PostgreSQL database and Apache/​Nginx webserver support.
  
-Some agent and proxy packages are available for [[https://​repo.zabbix.com/​zabbix/​3.5/​rhel/​6/​x86_64/​|RHEL 6]] and [[https://​repo.zabbix.com/zabbix/​3.5/​rhel/​5/​x86_64|RHEL 5]] as well.+<note important>​Zabbix 5.0 is not released yetThe download links lead to pre-5.0 packages.</note>
  
-==== Adding Zabbix repository ====+Some agent and proxy packages are available for [[https://​repo.zabbix.com/​zabbix/​5.0/​rhel/​6/​x86_64/​|RHEL 6]] and [[https://​repo.zabbix.com/​zabbix/​5.0/​rhel/​5/​x86_64|RHEL 5]] as well.
  
-Install the repository ​configuration packageThis package contains yum (software package manager) configuration files.+Zabbix official ​repository ​provides fping, iksemel, libssh2 packages as well. These packages are located in the [[https://​repo.zabbix.com/​non-supported/​|non-supported]] directory.
  
-RHEL 7:+==== Notes on installation ====
  
-  # rpm -ivh https://repo.zabbix.com/​zabbix/4.4/​rhel/​7/​x86_64/​zabbix-release-4.4-1.el7.noarch.rpm+See [[https://www.zabbix.com/​download?zabbix=5.0&​os_distribution=red_hat_enterprise_linux&​os_version=8&​db=mysql|installation instructions]] per platform in the download page for:
  
-RHEL 6:+  * installing the repository 
 +  * installing server/​agent/​frontend 
 +  * creating initial database, importing initial data 
 +  * configuring database for Zabbix server 
 +  * configuring PHP for Zabbix frontend 
 +  * starting server/​agent processes 
 +  * configuring Zabbix frontend
  
-  # rpm -ivh https://​repo.zabbix.com/​zabbix/​4.4/​rhel/​6/​x86_64/​zabbix-release-4.4-1.el6.noarch.rpm+Zabbix agent 2 (zabbix-agent2) is supported only on RHEL 8
  
-RHEL 5:+If you want to run Zabbix agent as root, see [[https://​www.zabbix.com/​documentation/​5.0/​manual/​appendix/​install/​run_agent_as_root|Running agent as root]].
  
-  ​rpm -ivh https://repo.zabbix.com/zabbix/​4.4/​rhel/​5/​x86_64/zabbix-release-4.4-1.noarch.rpm+=== Importing data with Timescale DB === 
 + 
 +With TimescaleDB,​ in addition to the import command for PostgreSQL, also run: 
 + 
 +  ​zcat /usr/share/doc/zabbix-server-pgsql*/​timescaledb.sql.gz | sudo -u zabbix psql zabbix 
 + 
 +<note warning>​TimescaleDB is supported with Zabbix server only.</​note>​
  
 === Frontend installation prerequisites === === Frontend installation prerequisites ===
Line 36: Line 48:
   # yum-config-manager --enable rhel-7-server-optional-rpms   # yum-config-manager --enable rhel-7-server-optional-rpms
  
-==== Server/proxy/frontend installation ====+<​note>​ Note that Nginx for RHEL is available in Red Hat Software Collections and in [[https://fedoraproject.org/​wiki/​EPEL|EPEL]]. If Red Hat Software Collections are used, simply install zabbix-nginx-conf-scl package. </​note>​
  
-To install Zabbix server (available for RHEL 7, [[manual/​installation/​install_from_packages/​rhel_centos#​zabbix_frontend_and_server_on_rhel_6|deprecated on RHEL 6]]) with MySQL support:+=== PHP 7.2 ===
  
-  # yum install zabbix-server-mysql+Zabbix frontend requires PHP version **7.2 or newer** starting with Zabbix 5.0. 
  
-To install Zabbix proxy with MySQL support:+Note that RHEL/CentOS 7 only provide PHP 5.4. See [[:manual/​installation/​install_from_packages/​frontend_on_rhel7|instructions]] for installing Zabbix frontend on Red Hat Enterprise Linux/​CentOS 7.
  
-  ​yum install zabbix-proxy-mysql+If you use RHEL 6 please read the section about [[manual/​installation/​install_from_packages/​rhel_centos#zabbix_frontend_and_server_on_rhel_6|using Zabbix frontend on RHEL 6]] on how to configure the frontend.
  
-Substitute '​mysql'​ in the commands with '​pgsql'​ to use PostgreSQL, or with '​sqlite3'​ to use SQLite3 (proxy only).+=== SELinux configuration ===
  
-To install ​Zabbix frontend ​on RHEL 7 ([[manual/​installation/​install_from_packages/​rhel_centos#​zabbix_frontend_and_server_on_rhel_6|deprecated on RHEL 6]]) with MySQL/​Apache support:+Having SELinux status enabled in enforcing mode, you need to execute the following commands to enable communication between ​Zabbix frontend ​and server:
  
-  ​yum install zabbix-web-mysql+RHEL 7 and later: 
 +  ​setsebool ​-P httpd_can_connect_zabbix on 
 +  If the database is accessible over network (including '​localhost'​ in case of PostgreSQL),​ you need to allow Zabbix frontend to connect to the database too: 
 +  # setsebool ​-P httpd_can_network_connect_db on
  
-To install Zabbix frontend on RHEL 8 with MySQL/​Apache support:+RHEL prior to 7: 
 +  # setsebool -P httpd_can_network_connect on 
 +  # setsebool -P zabbix_can_network on
  
-  # yum install zabbix-web-mysql zabbix-apache-conf+After the frontend and SELinux configuration is done, restart the Apache ​web server:
  
-To install Zabbix frontend on RHEL 7/8 with MySQL/Nginx support:+  # service httpd restart
  
-  # yum install epel-release +==== Proxy installation ====
-  # yum install zabbix-web-mysql zabbix-nginx-conf+
  
-Note that Nginx for RHEL is available only in [[https://​fedoraproject.org/​wiki/​EPEL|EPEL]].+Once the required repository ​is added, you can install Zabbix proxy by running:
  
 +  # yum install zabbix-proxy-mysql
  
 +Substitute '​mysql'​ in the commands with '​pgsql'​ to use PostgreSQL, or with '​sqlite3'​ to use SQLite3 (proxy only).
  
-=== Creating database ​===+== Creating database ==
  
-For Zabbix ​[[manual:concepts:​server|server]] and [[manual:​concepts:​proxy|proxy]] daemons ​a database ​is required. It is not needed to run Zabbix ​[[manual:​concepts:​agent|agent]].+[[:manual/​appendix/​install/​db_scripts|Create]] a separate ​database ​for Zabbix ​proxy.
  
-<note warning>​Separate databases are needed for Zabbix server and Zabbix proxy; they cannot use the same database. ​Therefore, if they are installed on the same host, their databases ​must be created with different ​names!</​note>​+Zabbix server and Zabbix proxy cannot use the same database. ​If they are installed on the same host, the proxy database ​must have a different ​name.
  
-Create the database using the provided instructions for [[manual:​appendix:​install:​db_scripts#​mysql|MySQL]] or [[manual:​appendix:​install:​db_scripts#​postgresql|PostgreSQL]]. +== Importing data ===
- +
-=== Importing data === +
- +
-Now import initial schema and data for the **server** with MySQL: +
- +
-  # zcat /​usr/​share/​doc/​zabbix-server-mysql*/​create.sql.gz | mysql -uzabbix -p zabbix +
- +
-You will be prompted to enter your newly created database password. +
- +
-With PostgreSQL:​ +
- +
-  # zcat /​usr/​share/​doc/​zabbix-server-pgsql*/​create.sql.gz | sudo -u <​username>​ psql zabbix +
- +
-With TimescaleDB,​ in addition to the previous command, also run: +
- +
-  # zcat /​usr/​share/​doc/​zabbix-server-pgsql*/​timescaledb.sql.gz | sudo -u <​username>​ psql zabbix +
- +
-<note warning>​TimescaleDB is supported with Zabbix server only.</​note>​+
  
-For **proxy**, import ​initial schema:+Import ​initial schema:
  
   # zcat /​usr/​share/​doc/​zabbix-proxy-mysql*/​schema.sql.gz | mysql -uzabbix -p zabbix   # zcat /​usr/​share/​doc/​zabbix-proxy-mysql*/​schema.sql.gz | mysql -uzabbix -p zabbix
Line 97: Line 97:
 For proxy with PostgreSQL (or SQLite): For proxy with PostgreSQL (or SQLite):
  
-  # zcat /​usr/​share/​doc/​zabbix-proxy-pgsql*/​schema.sql.gz | sudo -u <​username> ​psql zabbix+  # zcat /​usr/​share/​doc/​zabbix-proxy-pgsql*/​schema.sql.gz | sudo -u zabbix ​psql zabbix
   # zcat /​usr/​share/​doc/​zabbix-proxy-sqlite3*/​schema.sql.gz | sqlite3 zabbix.db   # zcat /​usr/​share/​doc/​zabbix-proxy-sqlite3*/​schema.sql.gz | sqlite3 zabbix.db
  
-=== Configure database for Zabbix ​server/proxy ===+== Configure database for Zabbix proxy ==
  
-Edit zabbix_server.conf (and zabbix_proxy.conf) to use their respective databases. For example:+Edit zabbix_proxy.conf:​
  
   # vi /​etc/​zabbix/​zabbix_server.conf   # vi /​etc/​zabbix/​zabbix_server.conf
Line 109: Line 109:
   DBUser=zabbix   DBUser=zabbix
   DBPassword=<​password>​   DBPassword=<​password>​
 +
 +In DBName for Zabbix proxy use a separate database from Zabbix server.
  
 In DBPassword use Zabbix database password for MySQL; PosgreSQL user password for PosgreSQL. In DBPassword use Zabbix database password for MySQL; PosgreSQL user password for PosgreSQL.
  
-Use ''​DBHost=''​ with PostgreSQL. You might want to keep the default setting ''​DBHost=localhost''​ (or an IP address), but this would make PostgreSQL use a network socket for connecting to Zabbix. See **SELinux configuration** below for instructions.+Use ''​DBHost=''​ with PostgreSQL. You might want to keep the default setting ''​DBHost=localhost''​ (or an IP address), but this would make PostgreSQL use a network socket for connecting to Zabbix. See [[:​manual/​installation/​install_from_packages/​rhel_centos#​selinux_configuration|SELinux configuration]] for instructions.
  
-=== Starting Zabbix ​server ​process ​===+== Starting Zabbix ​proxy process ==
  
-It's time to start Zabbix ​server ​process:+To start Zabbix ​proxy process ​and make it start at system boot:
  
-  # service zabbix-server httpd start+  # service zabbix-proxy start 
 +  # systemctl enable zabbix-proxy
  
-or (with Nginx)+== Frontend configuration ==
  
-  # service zabbix-server ​nginx php-fpm start+A Zabbix proxy does not have a frontend; it communicates with Zabbix ​server ​only.
  
-and make it start at system boot:+==== Java gateway installation ====
  
-RHEL 7 and later: +It is required to install [[:manual/​concepts/​java|Java gateway]] only if you want to monitor JMX applications. Java gateway is lightweight and does not require a database.
-  # systemctl enable zabbix-server httpd+
  
-or (with Nginx)+Once the required repository is added, you can install Zabbix Java gateway by running:
  
-  # systemctl enable ​zabbix-server nginx php-fpm+  # yum install ​zabbix-java-gateway
  
-RHEL prior to 7: +Proceed ​to [[:manual/concepts/java/from_rhel_centos|setup]] for more details ​on configuring and running Java gateway.
-  # chkconfig --level 12345 zabbix-server on +
- +
-Substitute '​zabbix-server'​ with '​zabbix-proxy'​ if you are installing Zabbix proxy. +
- +
-=== Zabbix frontend configuration === +
- +
-Depending on the web server used (Apache/​Nginx) edit the corresponding configuration file for Zabbix frontend: +
- +
-  * For Apache the configuration file is located in ''/​etc/​httpd/​conf.d/​zabbix.conf''​. Some PHP settings are already configured. In RHEL 7 (but not in RHEL 8) it's necessary to uncomment and set the right [[http://php.net/manual/en/timezones.php|date.timezone]] setting for you. +
- +
-  php_value max_execution_time 300 +
-  php_value memory_limit 128M +
-  php_value post_max_size 16M +
-  php_value upload_max_filesize 2M +
-  php_value max_input_time 300 +
-  php_value max_input_vars 10000 +
-  php_value always_populate_raw_post_data -1 +
-  # php_value date.timezone Europe/Riga +
- +
-  * For Nginx the configuration file is located in ''/​etc/​nginx/​conf.d/​zabbix.conf''​. It's necessary to uncomment and set ''​listen''​ and/or ''​server_name''​ directives. +
- +
-  # listen 80; +
-  # server_name example.com;​ +
- +
-  * Zabbix uses its own dedicated php-fpm connection pool: +
-    * With Nginx in RHEL7 +
-    * With both Apache and Nginx in RHEL 8 +
- +
-Its configuration file is located in ''/​etc/​php-fpm.d/​zabbix.conf''​. Some PHP settings are already configured. But it's necessary to set the right [[http://​php.net/​manual/​en/​timezones.php|date.timezone]] setting ​for you in this file. +
- +
-  php_value[max_execution_time] = 300 +
-  php_value[memory_limit] = 128M +
-  php_value[post_max_size] = 16M +
-  php_value[upload_max_filesize] = 2M +
-  php_value[max_input_time] = 300 +
-  php_value[max_input_vars] = 10000 +
-  php_value[date.timezone] = Europe/​Riga +
- +
-Now you are ready to proceed with [[manual/​installation/​install#​installing_frontend|frontend installation steps]] which will allow you to access your newly installed Zabbix. +
- +
-Note that a Zabbix proxy does not have a frontend; it communicates with Zabbix server only. +
- +
-<​note>​Zabbix official repository provides fping, iksemel, libssh2 packages as well. These packages are located in the //​[[https://​repo.zabbix.com/​non-supported/​|non-supported]]//​ directory.</​note>​ +
- +
-If you use RHEL 6 please read the section about [[manual/​installation/​install_from_packages/​rhel_centos#​zabbix_frontend_and_server_on_rhel_6|using Zabbix frontend ​on RHEL 6]] on how to configure the frontend. +
- +
-=== SELinux configuration === +
- +
-Having SELinux status enabled in enforcing mode, you need to execute the following commands to enable communication between Zabbix frontend and server: +
- +
-RHEL 7 and later: +
-  # setsebool -P httpd_can_connect_zabbix on +
-  If the database is accessible over network (including '​localhost'​ in case of PostgreSQL),​ you need to allow Zabbix frontend to connect to the database too: +
-  # setsebool -P httpd_can_network_connect_db on +
- +
-RHEL prior to 7: +
-  # setsebool -P httpd_can_network_connect on +
-  # setsebool -P zabbix_can_network on +
- +
-As frontend and SELinux configuration is done, you need to restart Apache web server:\\ +
- +
-  # service httpd restart+
  
 === Zabbix frontend and server on RHEL 6 === === Zabbix frontend and server on RHEL 6 ===
Line 219: Line 159:
   $ rpm -ql zabbix-web | grep example.conf   $ rpm -ql zabbix-web | grep example.conf
  
-==== Agent installation ​====+==== Installing debuginfo packages ​====
  
-To install the agentrun +<​note>​ Debuginfo packages are currently available for RHEL/CentOS versions 76 and 5. </​note>​ 
- +To enable debuginfo repository edit ///etc/yum.repos.d/​zabbix.repo//​ file. 
-  # yum install ​zabbix-agent +Change ''​enabled=0''​ to ''​enabled=1''​ for zabbix-debuginfo repository. 
- +  ​[zabbix-debuginfo] 
-To start the agent, run: +  name=Zabbix Official Repository debuginfo - $basearch 
- +  baseurl=http://repo.zabbix.com/​zabbix/​4.5/​rhel/​7/​$basearch/​debuginfo/​ 
-  ​# service ​zabbix-agent start +  ​enabled=0 
- +  ​gpgkey=file:///​etc/​pki/​rpm-gpg/​RPM-GPG-KEY-ZABBIX-A14FE591 
-==== Java gateway installation ==== +  ​gpgcheck=1 
- +This will allow you to install the zabbix-debuginfo package. 
-It is required to install [[:manual/concepts/java|Java gateway]] only if you want to monitor JMX applicationsJava gateway is lightweight and does not require a database+  # yum install zabbix-debuginfo 
- +This single packages contains debug information ​for all binary Zabbix componets.
-Once the required [[#​adding_zabbix_repository|repository]] is added, you can install Zabbix Java gateway by running+
- +
-  # yum install zabbix-java-gateway +
- +
-Proceed to [[:​manual/​concepts/​java/​from_rhel_centos|setup]] ​for more details on configuring and running Java gateway.+