3 SUSE Linux Enterprise Server

Overview

Official Zabbix packages are available for:

SUSE Linux Enterprise Server 15Download
SUSE Linux Enterprise Server 12Download

Adding Zabbix repository

Install the repository configuration package. This package contains yum (software package manager) configuration files.

SLES 15:

  1. # rpm -Uvh --nosignature https://repo.zabbix.com/zabbix/5.0/sles/15/x86_64/zabbix-release-5.0-1.el15.noarch.rpm
  2. # zypper --gpg-auto-import-keys refresh 'Zabbix Official Repository'

SLES 12:

  1. # rpm -Uvh --nosignature https://repo.zabbix.com/zabbix/5.0/sles/12/x86_64/zabbix-release-5.0-1.el12.noarch.rpm
  2. # zypper --gpg-auto-import-keys refresh 'Zabbix Official Repository'

Server/frontend/agent installation

To be able to install Zabbix frontend Web and Scripting Module must be activated. It contains the necessary PHP dependencies.

SLES 15:

  1. # SUSEConnect -p sle-module-web-scripting/15/x86_64

SLES 12:

  1. # SUSEConnect -p sle-module-web-scripting/12/x86_64

To install Zabbix server/frontend/agent with MySQL support:

  1. # zypper install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

Substitute ‘apache’ in the command with ‘nginx’ if using the package for Nginx web server. See also: Nginx setup for Zabbix on SLES 12/15.

Substitute ‘zabbix-agent’ with ‘zabbix-agent2’ in these commands if using Zabbix agent 2 (only SLES 15 SP1+).

To install Zabbix proxy with MySQL support:

  1. # zypper install zabbix-proxy-mysql

Substitute ‘mysql’ in the commands with ‘pgsql’ to use PostgreSQL.

Creating database

For Zabbix server and proxy daemons a database is required. It is not needed to run Zabbix agent.

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!

Create the database using the provided instructions for MySQL or PostgreSQL.

Importing data

Now import initial schema and data for the server with MySQL:

  1. # zcat /usr/share/doc/packages/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

You will be prompted to enter your newly created database password.

With PostgreSQL:

  1. # zcat /usr/share/doc/packages/zabbix-server-pgsql*/create.sql.gz | sudo -u <username> psql zabbix

With TimescaleDB, in addition to the previous command, also run:

  1. # zcat /usr/share/doc/packages/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u <username> psql zabbix

TimescaleDB is supported with Zabbix server only.

For proxy, import initial schema:

  1. # zcat /usr/share/doc/packages/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

For proxy with PostgreSQL:

  1. # zcat /usr/share/doc/packages/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u <username> psql zabbix

Configure database for Zabbix server/proxy

Edit /etc/zabbix/zabbix_server.conf (and zabbix_proxy.conf) to use their respective databases. For example:

  1. # vi /etc/zabbix/zabbix_server.conf
  2. DBHost=localhost
  3. DBName=zabbix
  4. DBUser=zabbix
  5. DBPassword=<password>

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.

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/apache2/conf.d/zabbix.conf. Some PHP settings are already configured. But it’s necessary to uncomment the “date.timezone” setting and set the right timezone for you.
  1. php_value max_execution_time 300
  2. php_value memory_limit 128M
  3. php_value post_max_size 16M
  4. php_value upload_max_filesize 2M
  5. php_value max_input_time 300
  6. php_value max_input_vars 10000
  7. php_value always_populate_raw_post_data -1
  8. # php_value date.timezone Europe/Riga
  • The zabbix-nginx-conf package installs a separate Nginx server for Zabbix frontend. Its configuration file is located in /etc/nginx/conf.d/zabbix.conf. For Zabbix frontend to work, it’s necessary to uncomment and set listen and/or server_name directives.
  1. # listen 80;
  2. # server_name example.com;
  • Zabbix uses its own dedicated php-fpm connection pool with Nginx:

Its configuration file is located in /etc/php7/fpm/php-fpm.d/zabbix.conf. Some PHP settings are already configured. But it’s necessary to set the right date.timezone setting for you.

  1. php_value[max_execution_time] = 300
  2. php_value[memory_limit] = 128M
  3. php_value[post_max_size] = 16M
  4. php_value[upload_max_filesize] = 2M
  5. php_value[max_input_time] = 300
  6. php_value[max_input_vars] = 10000
  7. ; php_value[date.timezone] = Europe/Riga

Now you are ready to proceed with 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.

Starting Zabbix server/agent process

Start Zabbix server and agent processes and make it start at system boot.

With Apache web server:

  1. # systemctl restart zabbix-server zabbix-agent apache2 php-fpm
  2. # systemctl enable zabbix-server zabbix-agent apache2 php-fpm

Substitute ‘apache2’ with ‘nginx’ for Nginx web server.

Installing debuginfo packages

To enable debuginfo repository edit /etc/zypp/repos.d/zabbix.repo file. Change enabled=0 to enabled=1 for zabbix-debuginfo repository.

  1. [zabbix-debuginfo]
  2. name=Zabbix Official Repository debuginfo
  3. type=rpm-md
  4. baseurl=http://repo.zabbix.com/zabbix/5.0/sles/15/x86_64/debuginfo/
  5. gpgcheck=1
  6. gpgkey=http://repo.zabbix.com/zabbix/5.0/sles/15/x86_64/debuginfo/repodata/repomd.xml.key
  7. enabled=0
  8. update=1

This will allow you to install zabbix-<component>-debuginfo packages.