2022 Zabbix中国峰会
2022 Zabbix中国峰会

3 SUSE Linux 企业服务器

概述

SUSE Linux Enterprise Server 的官方 Zabbix 7.0 软件包可在 Zabbix 官网 上获取。

Zabbix 代理 软件包以及实用工具 Zabbix getZabbix sender 可在 Zabbix 官方仓库为 SLES 15 (SP4 及更高版本)SLES 12 (SP4 及更高版本) 提供。

请注意,SLES 12 只能用于 Zabbix 代理,并且以下功能不可用:

  • 由于旧版 MySQL 库,验证 CA 加密模式 与 MySQL 不起作用。
  • SSH 检查 - 由于较旧的 libssh 版本

添加 Zabbix 仓库

安装仓库配置包。这个包包含 yum(软件包管理器)的配置文件。

SLES 15:

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

SLES 12(仅限代理):

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

请注意,用于定时报告生成的 Zabbix web service进程需要 Google Chrome 浏览器。浏览器没有包含在软件包中,需要您手动安装。

安装Server/frontend/agent

安装支持MySQL的Zabbix server/frontend/agent:

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

如果将包用于 Nginx 网络服务器,请将命令中的 'apache' 替换为 'nginx' 。详见:在 SLES 12/15 上为 Zabbix 设置 Nginx

若使用Zabbix agen 2(仅 SLES 15 SP1+),需将命令中的 'zabbix-agent' 替换为 'zabbix-agent2' 。

安装支持 MySQL 的 Zabbix proxy:

# zypper install zabbix-proxy-mysql

将命令中的 'mysql'替换为 'pgsql' 以使用PostgreSQL。

创建数据库

Zabbix serverproxy 守护进程需要数据库,运行 Zabbix agent不需要。

Zabbix server和Zabbix proxy不能使用同一个数据库,必须单独创建。因此,如果他们被安装在了同一个主机上,数据库要使用不同的名称创建!

使用提供的说明来创建数据库,MySQLPostgreSQL

数据导入

使用MySQL导入server 初始模式和数据:

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

系统将提示你输入新创建的数据库密码。

使用PostgreSQL:

# zcat /usr/share/doc/packages/zabbix-sql-scripts/postgresql/create.sql.gz | sudo -u zabbix psql zabbix

使用TimescaleDB,除了前面的命令,还要运行:

# zcat /usr/share/doc/packages/zabbix-sql-scripts/postgresql/timescaledb.sql.gz | sudo -u <username> psql zabbix

仅Zabbix server支持TimescaleDB。

对于proxy,导入初始模式:

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

对于带有PostgreSQL的proxy:

# zcat /usr/share/doc/packages/zabbix-sql-scripts/postgresql/schema.sql.gz | sudo -u zabbix psql zabbix

为 Zabbix server/proxy 配置数据库

编辑 /etc/zabbix/zabbix_server.conf 和 zabbix_proxy.conf 来使用它们各自的数据库。例如:

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

在DBPassword中对MySQL使用 Zabbix 数据库密码 ;在 PosgreSQL 中用 PosgreSQL 用户密码。

DBHost= 与PostgreSQL一起用,你可能希望保留默认值设置 DBHost=localhost (或一个IP地址),但这会使PostgreSQL使用网络套接连接到Zabbix。

Zabbix 前端配置

根据使用的网络服务器 (Apache/Nginx) 为Zabbix前端编辑相应配置文件:

  • 对于Apache,配置文件在 /etc/apache2/conf.d/zabbix.conf。一些PHP设置已经配置好了。但还是有必要取消 "date.timezone" 设置的注释, 设置正确的时区
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
  • zabbix-nginx-conf包为Zabbix 前端安装了单独的 Nginx server。它的配置文件位于/etc/nginx/conf.d/zabbix.conf。为了运行Zabbix 前端,还是有必要取消注释并设置 listen 和/或 server_name指令。
# listen 80;
       # server_name example.com;
  • Zabbix 为 Nginx 使用自己的专用php-fpm连接池:

它的配置文件位于/etc/php7/fpm/php-fpm.d/zabbix.conf。一些PHP设置已经设置好了。但你还是有必要正确设置 date.timezone

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

现在,你可以继续进行 前端安装步骤 以访问新安装的Zabbix。

请注意Zabbix proxy没有前端,只与Zabbix server 通信。

启动Zabbix server/agent 进程

启动 Zabbix server 和 agent 进程,并让其随系统启动而启动。

使用Apache网络服务器:

# systemctl restart zabbix-server zabbix-agent apache2 php-fpm
       # systemctl enable zabbix-server zabbix-agent apache2 php-fpm

在Nginx网络服务器中将 'apache2' 替换为 'nginx'。

安装debuginfo 软件包

为了启用 debuginfo 软件源,编辑 /etc/zypp/repos.d/zabbix.repo文件。请为 zabbix-debuginfo 软件源将enabled=0改为enabled=1

[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo
       type=rpm-md
       baseurl=http://repo.zabbix.com/zabbix/4.5/sles/15/x86_64/debuginfo/
       gpgcheck=1
       gpgkey=http://repo.zabbix.com/zabbix/4.5/sles/15/x86_64/debuginfo/repodata/repomd.xml.key
       enabled=0
       update=1

然后就可安装 zabbix-<component>-debuginfo 包了。